RTL et MathJax

Bonjour à tous :slight_smile:
J’ai une petite question sur l’utilisation de sujets mélangeant l’anglais et des langues de droite à gauche (RTL) comme l’hébreu, surtout lorsqu’ils utilisent le plugin MathJax. Sur notre forum Discourse, cela donne ceci :

Le résultat final est excellent ! Le seul problème est d’écrire ces équations. Cela peut devenir vraiment difficile pour les équations longues. Je comprends que mélanger le RTL avec le LTR puisse poser des problèmes, mais je me demandais si c’est réalisable ? Existe-t-il un moyen de résoudre cela ?

You could try enabling the support mixed text direction site setting. Have a look at What does the support mixed text direction setting do? for details about the setting.

When enabled, the setting adds a Toggle Direction button to the composer:

I haven’t tested this with the MathJax plugin, but it should make it a lot easier to write long equations. If you try the setting and run into any issues, please let us know.

Thanks for the reply!
I actually have tried it before posting this topic but forgot to mention it. It does help to look better at equations that are separated with $$-$$, but it does not help for one-liner equations. Also, it converts the RTL language to be LTR (because you can’t switch directions for only one line) which also makes it look messy. Do you have other ideas?
Thanks again for the reply :slight_smile:

Hi all :slight_smile:
Trying my luck again. Is it possible to somehow achieve LTR in between the code and MathJax blocks? It feels awkward to write code or formulas in RTL forums:

It should look like:

Anyway to achieve this?

Yes, that would be difficult. It’s not an ideal solution, but you can add a direction toggle to the composer with a theme component. That will allow you to switch the direction of the entire composer edit area to ltr when you are writing code. The code below is extracted from the code that is used when the support mixed text direction site setting is enabled. If your site’s default direction is rtl, keep the code as it is. If the default direction is ltr, replace 'rtl' in the ternary operator with 'ltr' to avoid having to double click the first time the toggle is used.

<script type="text/discourse-plugin" version="0.8.32">
    api.onToolbarCreate(toolbar => {
        toolbar.addButton({
            id: "toggle-direction",
            group: "extras",
            icon: "exchange-alt",
            shortcut: "Shift+6",
            title: "Toggle Direction",
            perform: () => {
                const $textArea = $(".d-editor-input");
                let currentDir = $textArea.attr("dir") ? $textArea.attr("dir") : 'rtl', // set the default to your site's default text direction.
                    newDir = currentDir === "ltr" ? "rtl" : "ltr";
                $textArea.attr("dir", newDir).focus();
            }
        });
    });
</script>

Click the Toggle Direction icon to change the composer’s direction: