RTL und MathJax

Hallo zusammen :slight_smile:
Ich habe eine kleine Frage dazu, wie man Themen mischt, die Englisch und RTL-Sprachen wie Hebräisch enthalten, insbesondere wenn das MathJax-Plugin verwendet wird. In unserem Discourse-Forum sieht das so aus:

Das Endergebnis ist großartig! Das einzige Problem ist das Schreiben dieser Gleichungen. Es kann wirklich schwierig werden, lange Gleichungen zu schreiben. Ich verstehe, dass die Mischung von RTL mit LTR Probleme verursachen kann, aber ich frage mich, ob das machbar ist? Gibt es eine Möglichkeit, das zu lösen?

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: