Определить новый макрос для добавления атрибута title
Я использую MathJax на своем веб-сайте и хочу добавить некоторую семантическую поддержку.
В настоящее время моя конфигурация MathJax состоит в том, чтобы принимать ввод TeX и выводить вывод HTML-CSS (к сожалению, MathML не слишком хорошо работает в Chrome). У меня также есть функция jQuery, которая принимает HTML любого .latex
класс и сбрасывает его в title
приписывать.
Следующий HTML...
<div class="latex">\[ a^2 + b^2 = c^2 \]</div>
со следующим скриптом...
/* jQuery */
$('.latex').attr('title', function() {
return $(this).html();
})
будет выводить...
<div class="latex" title="\[ a^2 + b^2 = c^2 \]">
<div class="MathJax_Display">a2+b2=c2</div> <!-- becomes prettyprint in browser -->
</div>
Очевидно, что содержание div.MathJax_Display
будет стилизован с целым рядом пролетов, классов и стилей. Я просто не собираюсь все это печатать здесь. Во всяком случае, после того, как математика отображается, пользователи могут наводить курсор div.latex
чтобы увидеть команды TeX во всплывающей подсказке.
Теперь, что я хочу сделать, это определить новый макрос в моей конфигурации MJ, который добавит title
Атрибут для вновь созданного диапазона вывода HTML-CSS, учитывая немного ввода TeX. Давайте назовем этот макрос \title[2]
, Вот что я хочу иметь возможность вводить:
<div class="latex">\[ a^2 + b^2 = \title{c}{'hypotenuse'}^2 \]</div>
И вот что я хочу, чтобы это вывело:
<div class="latex" title="\[ a^2 + b^2 = \title{c}{'hypotenuse'}^2 \]">
<div class="MathJax_Display">a2+b2=<span title="hypotenuse">c</span>2</div> <!-- prettyprint -->
</div>
Если это произойдет, пользователи, которые наводят курсор на c
в математике появится всплывающая подсказка с надписью "гипотенуза", но наведите курсор мыши на любую другую область математики и получите исходный ввод.
Вот мое мышление для алгоритма:
// псевдокод: учитывая ввод TeX '\title{mathstr}{titlestr}': var thespan = document.createElement('span'); $(thespan).attr('title', titlestr).html(mathstr); как-то положить это в выход MJ в нужном месте
1 ответ
Почему бы просто не использовать action
расширение, которое определяет \texttip
а также \mathtip
для прикрепления подсказок к подвыражениям? См. Документацию MathJax для деталей.