1

Web サイトで MathJax を使用しており、セマンティック サポートを追加したいと考えています。

現在、私の MathJax 構成は、TeX 入力を受け取り、HTML-CSS 出力を吐き出すことです (残念ながら、MathML は Chrome ではうまく機能しません)。また、任意のクラスの html を取得して属性.latexにダンプする jQuery 関数もあります。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、TeX 入力が少しあれば、新しく作成された HTML-CSS 出力のスパンに属性を追加します。そのマクロを と呼びましょう\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出力に入れます
4

1 に答える 1

1

ツールチップを定義し、部分式に添付するためのaction拡張機能を使用しないのはなぜですか? 詳細については、MathJax のドキュメントを参照してください。 \texttip\mathtip

于 2013-07-27T21:07:53.037 に答える