Определить новый макрос для добавления атрибута 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 для деталей.

Другие вопросы по тегам