2016-11-15 7 views
0

мне удалось установить jekyll обслуживать страницы, используя kramdown как процессор уценки и MathJax для отображения латексных уравнений.

Все работает нормально, поэтому я попытался изменить разделители по умолчанию, используемые MathJax, для использования $ ... $ для встроенных и $$ ... $$ для режима отображения.

Для этого я следовал инструкции на соответствующих MathJax documentation section, так что теперь мой файл .md имеет следующее содержание:

<script type="text/x-mathjax-config"> 
    MathJax.Hub.Config({ 
    extensions: ["tex2jax.js"], 
    jax: ["input/TeX", "output/HTML-CSS"], 
    tex2jax: { 
     inlineMath: [ ['$','$'], ["\\(","\\)"] ], 
     displayMath: [ ['$$','$$'], ["\\[","\\]"] ], 
     processEscapes: true 
    }, 
    "HTML-CSS": { availableFonts: ["TeX"] } 
    }); 
</script> 
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script> 


# Stuff 
Correct inline text: $2+\frac{1}{2}$ other text. 

Should have been in display mode: $$2+\frac{1}{2}$$ other text. 

End 

В то время как встроенные разделители теперь правильно установлены, чтобы быть $ ... $, двойные доллары сделать не производить режим отображения, как вы можете видеть на странице Произведенный выше:

enter image description here

Что я пропустил?

+1

Примечание из будущего: cdn.mathjax. org близится к концу своего срока, проверьте https://www.mathjax.org/cdn-shutting-down/ для советов по миграции. –

ответ

0

Редактировать: Похоже, что это поведение на самом деле не связано с MathJax, но kramdown, см. this relevant doc page (спасибо Peter's comment за информацию).


Ответ очень прост, но я не нашел его явно объясненным на соответствующих страницах документа. В отличие от обычного латекса, MathJax только разбирает математику в режиме отображения, если пустые строки выше и ниже по математике блока:

# Stuff 
Correct inline text: $$\sum_{k=1}^2 a_k$$ other text. 

Should have been in display mode: 

$$\sum_{k=1}^2 a_k$$ 

other text. 

правильно производит:

enter image description here

+1

Неправильное использование. Парсер kramdown является тем, кто вызывает это поведение задолго до того, как MathJax доберется до него. –

+0

@PeterKrautzberger благодарит за комментарий. Вы знаете, как избежать этого? Я предположил, что это MathJax, потому что на него, похоже, повлияли предоставленные ему варианты (хотя я знаю, что это не так) – glS

+1

Я не думаю, что есть способ. См. Http://kramdown.gettalong.org/syntax.html#math-blocks. Обратите внимание, что другие разделители могут быть собраны позже, но затем TeX не будет столь же хорошо изолирован от анализатора уценки. –