RTL y MathJax

Hola a todos :slight_smile:
Tengo una pequeña pregunta sobre cómo usar temas que mezclan inglés y lenguajes RTL como el hebreo, especialmente si utilizan el plugin MathJax. En nuestro foro de Discourse se ve así:

¡El resultado final es excelente! El único problema es escribir esas ecuaciones. Puede resultar realmente difícil escribir ecuaciones largas. Entiendo que mezclar RTL con LTR podría causar problemas, pero me preguntaba si es factible. ¿Existe alguna manera de solucionarlo?

Podrías probar activando la configuración del sitio “soportar dirección de texto mixta”. Consulta Supporting mixed text directions para obtener detalles sobre esta configuración.

Cuando está activada, la configuración agrega un botón de alternar dirección al editor:

No he probado esto con el plugin MathJax, pero debería facilitar mucho escribir ecuaciones largas. Si pruebas la configuración y encuentras algún problema, por favor háznoslo saber.

¡Gracias por la respuesta!
De hecho, ya lo probé antes de publicar este tema, pero se me olvidó mencionarlo. Ayuda a que las ecuaciones separadas con $$-$$ se vean mejor, pero no sirve para las ecuaciones de una sola línea. Además, convierte el idioma de derecha a izquierda (RTL) a de izquierda a derecha (LTR) (porque no se puede cambiar la dirección solo para una línea), lo que también hace que se vea desordenado. ¿Tienes otras ideas?
¡Gracias de nuevo por la respuesta :slight_smile:}

Hola a todos :slight_smile:
Voy a intentarlo de nuevo. ¿Es posible lograr el LTR entre los bloques de código y MathJax? Se siente extraño escribir código o fórmulas en foros RTL:

Debería verse así:

¿Hay alguna forma de lograr esto?

Sí, eso sería difícil. No es una solución ideal, pero puedes agregar un interruptor de dirección al editor mediante un componente del tema. Esto te permitirá cambiar la dirección de toda el área de edición del editor a LTR cuando estés escribiendo código. El siguiente código se extrajo de la parte utilizada cuando la configuración del sitio soportar dirección de texto mixta está habilitada. Si la dirección predeterminada de tu sitio es RTL, mantén el código tal cual. Si la dirección predeterminada es LTR, reemplaza 'rtl' en el operador ternario por 'ltr' para evitar tener que hacer doble clic la primera vez que se use el interruptor.

<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: "Alternar dirección",
            perform: () => {
                const $textArea = $(".d-editor-input");
                let currentDir = $textArea.attr("dir") ? $textArea.attr("dir") : 'rtl', // establece el predeterminado según la dirección de texto predeterminada de tu sitio.
                    newDir = currentDir === "ltr" ? "rtl" : "ltr";
                $textArea.attr("dir", newDir).focus();
            }
        });
    });
</script>

Haz clic en el icono Alternar dirección para cambiar la dirección del editor: