2016-10-28 15 views
1

Я рендеринг математического уравнения в браузере с помощью MathJax с помощью следующего кода: Содержание

Dynamic HTML:

<td style="vertical-align: top; text-align: left; width: 95%;"> 
<span>$$If\ \ f(x) \ \ is \ continuous \ on \ [0,8]\ defined \ as$$<br> 
$$f(x) = x^2 +ax + 6 \ \ \ \ for \ \ 0 <x < 2$$<br> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $$= 3x +2 \ \ \ \ \ \ for \ 2<x<4$$<br> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $$= 2ax + 5b \ \ \ \ \ \ \ for \ 2<x<8$$<br> 
Find <em>a</em>&nbsp;and <em>b</em></span> 
</td> 

Mathjax Config. :

<script type='text/x-mathjax-config'> 
MathJax.Hub.Config({     
tex2jax: {     
inlineMath: [ ['$','$'], ["\[","\]"] ],     
},     
"HTML-CSS": {     
linebreaks: {     
automatic: true     
}     
}     
});     
</script>     
<script type="text/javascript" async src = "https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML"></script> 

Выход:

enter image description here

Здесь мы можем видеть, что текст до 'определяется как' оказывается отлично. Но что не так с остальными. Если у кого-нибудь есть решение, тогда, пожалуйста!

Спасибо!

UPDATE

По предложению дается Niyoko и Питер, Я заменить '<' с '<' из динамически генерируемые HTML строки

&lt;td style="vertical-align: top; text-align: left; width: 95%;"> 
            &lt;span>$$If\ \ f(x) \ \ is \ continuous \ on \ [0,8]\ defined \ as$$&lt;br> 
$$f(x) = x^2 +ax + 6 \ \ \ \ for \ \ 0 &lt;x &lt; 2$$&lt;br> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $$= 3x +2 \ \ \ \ \ \ for \ 2&lt;x&lt;4$$&lt;br> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $$= 2ax + 5b \ \ \ \ \ \ \ for \ 2&lt;x&lt;8$$&lt;br> 
Find &lt;em>a&lt;/em>&nbsp;and &lt;em>b&lt;/em>&lt;/span> 
           &lt;/td> 

но не работает и разбивая весь рендеринг выражений.

+0

Попробуйте Ускользающий '<' избежать браузеров разборе что-то в виде тег. –

+1

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

ответ

0

Если вы хотите выровнять уравнения, не используйте такие пространства. Используйте \\ для создания разрыва строки, оберните все уравнения с помощью \begin{align} и \end{align} и отметьте точку выравнивания с помощью &. Значок < также конфликтует с тегом html. Вместо этого используйте &lt; и &gt;.

<div> 
 
$$ 
 
If\ \ f(x) \ \ is \ continuous \ on \ [0,8]\ defined \ as \\ 
 
\begin{align} 
 
f(x) & = x^2 +ax + 6 \ \ \ \ for \ \ 0&lt;x&lt;2 \\ 
 
& = 3x +2 \ \ \ \ \ \ for \ 2&lt;x&lt;4 \\ 
 
& = 2ax + 5b \ \ \ \ \ \ \ for \ 2&lt;x&lt;8 
 
\end{align} 
 
$$ 
 

 
Find $a$&nbsp;and $b$ 
 

 

 
</div> 
 

 
<script type='text/x-mathjax-config'> 
 
MathJax.Hub.Config({     
 
tex2jax: {     
 
    inlineMath: [ ['$','$'], ["\[","\]"] ],     
 
},     
 
"HTML-CSS": {     
 
    linebreaks: {     
 
     automatic: true     
 
    }     
 
}     
 
});     
 
</script>     
 
<script type="text/javascript" async src = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"></script>

Если вы не можете изменить HTML, то просто замените < с &lt;

<td style="vertical-align: top; text-align: left; width: 95%;"> 
 
<span>$$If\ \ f(x) \ \ is \ continuous \ on \ [0,8]\ defined \ as$$<br> 
 
$$f(x) = x^2 +ax + 6 \ \ \ \ for \ \ 0 &lt;x &lt; 2$$<br> 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $$= 3x +2 \ \ \ \ \ \ for \ 2&lt;x&lt;4$$<br> 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $$= 2ax + 5b \ \ \ \ \ \ \ for \ 2&lt;x&lt;8$$<br> 
 
Find <em>a</em>&nbsp;and <em>b</em></span> 
 
</td> 
 

 

 
<script type='text/x-mathjax-config'> 
 
MathJax.Hub.Config({     
 
tex2jax: {     
 
    inlineMath: [ ['$','$'], ["\[","\]"] ],     
 
},     
 
"HTML-CSS": {     
 
    linebreaks: {     
 
     automatic: true     
 
    }     
 
}     
 
});     
 
</script>     
 
<script type="text/javascript" async src = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"></script>

+0

Thanx для вашего ответа. Но, как я уже упоминал в вопросе, HTML-контент генерируется динамически (чтобы показать субъективный вопросник). Я только что упомянул фрагмент кода, который не работал. Поэтому мы не можем изменить текст HTML. – iAkki

+0

Затем просто замените '<' на '<'. Он противоречил тегу html, и Mathjax запутался. –

+0

@AkshayGajarlawar –

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

  • Нет связанных вопросов^_^