2015-08-02 4 views
0

Я знаю, что я могу указать разделители, как такРазличные свойства для разных разделителей?

MathJax.Hub.Config({ 
    "tex2jax": { 
     displayMath: [["$$", "$$"], ["\\(", "\\)"]], 
     inlineMath: [["$", "$"]] 
    } 
}); 

Мой вопрос заключается в том, можно ли назначить различные свойства/таблицы стилей для различных разделителей? В моем случае я хочу, чтобы формулы, окруженные $$, были центрированы (что кажется по умолчанию) и формулы, окруженные \(, и \), чтобы их выровнять влево.

+2

Некоторые альтернативные подходы приведены в [этот ответ] (http://stackoverflow.com/questions/30077862/how-to-left-align-certain-equations- в-MathJax/30100709 # 30100709). Обратите внимание, что ответ ниже работает только для вывода HTML-CSS, тогда как те, которые я связываю, работают для всех режимов вывода. –

ответ

1

Там может быть способ изменить tex2jax процессор и добавлять новые типы отображения с их собственными , но есть более простой способ достичь в значительной степени тот же самый результат, используя classes и styles, что вы можете легко добавить к config объекта , Например, вам нужно только добавить класс слева к элементам MathJax, которые вы хотите выровнять влево.

MathJax.Hub.Config({ 
 
    "tex2jax": { 
 
     displayMath: [ 
 
      ["$$", "$$"], 
 
      ["\\(", "\\)"] 
 
     ], 
 
     inlineMath: [ 
 
      ["$", "$"] 
 
     ] 
 
    }, 
 
    displayAlign: "", 
 
    "HTML-CSS": { 
 
     styles: { 
 
      ".left .MathJax_Display": { 
 
       "text-align": "left" 
 
      } 
 
     } 
 
    } 
 

 
});
<script type='text/javascript' src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> 
 
<p class="left">$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$</p> 
 
<p>$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$</p>

Это требует, чтобы вы кладете MathJax между тегами.

EDIT:

Вы также можете изменить стили по умолчанию, так что вы можете переопределить некоторые свойства .MathJax_Display таким же образом. Как это:

MathJax.Hub.Config({ 
 
    "tex2jax": { 
 
     displayMath: [ 
 
      ["$$", "$$"], 
 
      ["\\(", "\\)"] 
 
     ], 
 
     inlineMath: [ 
 
      ["$", "$"] 
 
     ] 
 
    }, 
 
    displayAlign: "", 
 
    "HTML-CSS": { 
 
     styles: { 
 
      ".left .MathJax_Display": { 
 
       "text-align": "left" 
 
      }, 
 
      ".MathJax_Display":{ 
 
       "text-align": "right" 
 
      } 
 
     } 
 
    } 
 
});
<script type='text/javascript' src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> 
 
<p class="left">$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$</p> 
 
<p>$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$</p>

+0

Ваш пример просто отлично работает, но на моей странице это не так. MathJax фактически генерирует класс css с 'text-align: left', но также генерирует' style = "text-align: center;" 'для каждого элемента MathJax_Display'. – Cubinator73

+0

@ Cubinator73 Это потому, что .MathJax_Display находится в конфигурации по умолчанию, но вы можете переопределить его. См. Править. –

+0

Теперь он отлично работает. Спасибо :) (+1 для примера кода) – Cubinator73

Смежные вопросы