Mathjax: 方皋匏\labelおよび\ref

䜜成日 2011幎02月11日  Â·  33コメント  Â·  ゜ヌス: mathjax/MathJax

機胜リク゚スト 方皋匏に\labelおよび\ref機胜を䜿甚できたすか

これは確かに人気のあるものかもしれたせんが、私はそれを問題リストに芋぀けるこずができたせんでしたたたはドキュメントでそれに぀いお蚀及しおいたせん。 そしお基本的にはずっず前に議論されおいたす http //sourceforge.net/projects/mathjax/forums/forum/948700/topic/3817124

ありがずう

Fixed Test Available v2.0

最も参考になるコメント

MathJaxのフォヌクのissue71ブランチに、\labelマクロず\refマクロずずもに自動方皋匏番号付けの実装を投皿したした。 これには、MathJaxのコアルヌチンにいく぀かの重芁な倉曎が必芁でした。これらの倉曎は非垞に新しく、コアの他の郚分のようなシェむクダりンがないため、これを䜿甚するずきは泚意が必芁です。 それらは倧䞈倫だず私は確信しおいたすが、圌らがより倚くの䜿甚を芋るに぀れお、私たちが芋぀ける埮劙な点があるかもしれたせん。

方皋匏の番号付けを制埡する新しい構成パラメヌタヌconfig / defaults.jsファむルを参照がありたす。 特に、TeX.equationNumbers.autoNumber構成パラメヌタヌは、MathJaxが自動番号付けを凊理する方法を制埡したす。 デフォルトでは、自動番号付けは行われたせんしたがっお、デフォルトは珟圚のMathJaxの動䜜ず同じです。 しかし、あなたは蚭定するこずができたす

MathJax.Hub.Config({
  TeX: { 
     equationNumbers: {  autoNumber: "AMS"  },
     extensions: ["AMSmath.js"]
  }
});

AMS環境方皋匏、敎列、収集、マルチラむンなどの番号を取埗し、スタヌ付きの環境では番号を抑制したす。 \ tagを䜿甚しお独自の方皋匏番号を指定し、\labelず\refを䜿甚しおペヌゞのテキスト内の方皋匏番号にアクセスできたす。 \ refコマンドは、数孊モヌドの内倖で認識されるようになりたした。

autoNumberを"all"に蚭定するず、衚瀺されるすべおの方皋匏に自動的に番号が付けられたす。

泚意すべき問題方皋匏番号は、Firefoxバヌゞョン3でも4でもないによっお実装されおいないmlabeledtr MathML芁玠を䜿甚しお凊理されるため、NativeMMLレンダラヌを䜿甚する堎合、方皋匏番号は衚瀺されたせん。 たずえば、「HTMLorMML」を含む結合された構成ファむルは、FirefoxのNativeMML出力を遞択するこずに泚意しおください。 これは、指定するこずでオヌバヌラむドできたす

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  MMLorHTML: { prefer: { Firefox: "HTML" } }
});
</script>

FirefoxにNativeMMLレンダラヌではなくHTML-CSS出力レンダラヌを䜿甚させるためにMathJax.jsをロヌドする前IE / MathPlayerがMathMLを䜿甚できるようにしたす。

私はただこのブランチに取り組んでいるので、倉曎はただ行われおいたす。 前方参照の凊理に䜿甚される方法に満足しおおらず、その動䜜を倉曎しおいる可胜性がありたすただし、これは内郚的なものであり、䜜成者やナヌザヌに衚瀺される方法は倉曎されたせん。

ダビデ

党おのコメント33件

远加するもののリストにありたすが、1.1リリヌスのパフォヌマンスずバグ修正に集䞭しおいたす。 私はそれを忘れおいたせん、そしおそれはバヌゞョン1.1に続いお远加されるべきものの1぀です。

ダビデ

MathJaxのフォヌクのissue71ブランチに、\labelマクロず\refマクロずずもに自動方皋匏番号付けの実装を投皿したした。 これには、MathJaxのコアルヌチンにいく぀かの重芁な倉曎が必芁でした。これらの倉曎は非垞に新しく、コアの他の郚分のようなシェむクダりンがないため、これを䜿甚するずきは泚意が必芁です。 それらは倧䞈倫だず私は確信しおいたすが、圌らがより倚くの䜿甚を芋るに぀れお、私たちが芋぀ける埮劙な点があるかもしれたせん。

方皋匏の番号付けを制埡する新しい構成パラメヌタヌconfig / defaults.jsファむルを参照がありたす。 特に、TeX.equationNumbers.autoNumber構成パラメヌタヌは、MathJaxが自動番号付けを凊理する方法を制埡したす。 デフォルトでは、自動番号付けは行われたせんしたがっお、デフォルトは珟圚のMathJaxの動䜜ず同じです。 しかし、あなたは蚭定するこずができたす

MathJax.Hub.Config({
  TeX: { 
     equationNumbers: {  autoNumber: "AMS"  },
     extensions: ["AMSmath.js"]
  }
});

AMS環境方皋匏、敎列、収集、マルチラむンなどの番号を取埗し、スタヌ付きの環境では番号を抑制したす。 \ tagを䜿甚しお独自の方皋匏番号を指定し、\labelず\refを䜿甚しおペヌゞのテキスト内の方皋匏番号にアクセスできたす。 \ refコマンドは、数孊モヌドの内倖で認識されるようになりたした。

autoNumberを"all"に蚭定するず、衚瀺されるすべおの方皋匏に自動的に番号が付けられたす。

泚意すべき問題方皋匏番号は、Firefoxバヌゞョン3でも4でもないによっお実装されおいないmlabeledtr MathML芁玠を䜿甚しお凊理されるため、NativeMMLレンダラヌを䜿甚する堎合、方皋匏番号は衚瀺されたせん。 たずえば、「HTMLorMML」を含む結合された構成ファむルは、FirefoxのNativeMML出力を遞択するこずに泚意しおください。 これは、指定するこずでオヌバヌラむドできたす

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  MMLorHTML: { prefer: { Firefox: "HTML" } }
});
</script>

FirefoxにNativeMMLレンダラヌではなくHTML-CSS出力レンダラヌを䜿甚させるためにMathJax.jsをロヌドする前IE / MathPlayerがMathMLを䜿甚できるようにしたす。

私はただこのブランチに取り組んでいるので、倉曎はただ行われおいたす。 前方参照の凊理に䜿甚される方法に満足しおおらず、その動䜜を倉曎しおいる可胜性がありたすただし、これは内郚的なものであり、䜜成者やナヌザヌに衚瀺される方法は倉曎されたせん。

ダビデ

それは絶察に玠晎らしいです、どうもありがずう

ただし、1぀のバグずしお、数孊モヌドで\text{(see \eqref{cs})}ず入力するず、2番目の閉じ括匧が䜿甚されおいるように芋えたす。 完党に機胜する前にスペヌスを远加したす。

OK、チェックむンしたす。 参照がテキストから削陀されおいるずきは、1だけずれおいるむンデックスが必芁です。

\eqrefに続く文字が削陀される原因ずなっおいた誀ったむンデックスを修正したした。 issue71ブランチのコピヌを曎新しお、修正を取埗できたす。

ダビデ

泚AMSmath拡匵機胜を明瀺的に芁求する必芁がないように曎新したした。 自動番号付けをオンにするず、自動的に読み蟌たれるようになりたす。

ダビデ

==>この機胜をカバヌするために単䜓テストを远加する予定なので、テストケヌスぞの蚭定が必芁でした。

ここでは、テストするこずがたくさんありたす。 前方参照、埌方参照、存圚しないラベルぞの参照、自動番号付けをオヌバヌラむドするための\tagの䜿甚、番号付けを防ぐための\notagおよび\nonumberの䜿甚、番号付けさたざたなAMS環境、 autoNumberのさたざたな蚭定など。 倧倉です、申し蚳ありたせん。

はい、私はそれを知っおいたす。 そのため、テストケヌスの必芁に応じお問題にタグを付け、これらのテストの䜜成を延期したす。
ただし、䞀郚の寄皿者がさたざたなナヌスケヌスをリストし、テストのアむデアを提䟛するのに十分芪切である堎合おそらくそれらを曞くこずさえ、それは本圓に圹に立ちたす。

このためにいく぀かのテストを甚意したした。

Configuration / tex2jax / processRefs-1.html
Configuration / TeX / equationNumbers / autoNumber-1.html
Configuration / TeX / equationNumbers / autoNumber-2.html
Configuration / TeX / equationNumbers / autoNumber-3.html
Configuration / TeX / equationNumbers / autoNumber-4.html
Configuration / TeX / equationNumbers / formatID-1.html
Configuration / TeX / equationNumbers / formatNumber-1.html
Configuration / TeX / equationNumbers / formatTag-1.html
Configuration / TeX / equationNumbers / formatURL-1.html
LaTeXToMathML / references / eqref-1.html
LaTeXToMathML / reference / label-1.html
LaTeXToMathML / references / ref-1a.html
LaTeXToMathML / references / ref-1b.html
LaTeXToMathML / references / ref-2.html
LaTeXToMathML / references / ref-3.html
LaTeXToMathML / references / tag-1.html
LaTeXToMathML / references / tag-2.html
LaTeXToMathML / references / notag-1.html

==>テストスむヌト

tex2jax.jsの181行目に䜙分なコンマがあり、IEがクラッシュしたす。

ネむティブMathMLを有効にするず、Firefoxでmlabeledtrが消えるようです。 たずえば、次のこずを考慮しおください。

http://devel.mathjax.org/testing/testsuite/Configuration/TeX/equationNumbers/formatTag-1.html?mathJaxPath=http://devel.mathjax.org/testing/mathjax/dpvc/issue71/

tex2jax.jsの181行目に䜙分なコンマがあり、IEがクラッシュしたす。

はい、私はすでにそれを芋぀けお、 v2.0-candidateブランチで修正したしたすべおの個別のブランチをマヌゞしたので、それらを個別に倉曎するこずはもうありたせん。

ネむティブMathMLを有効にするず、Firefoxでmlabeledtrが消えるようです。

これは、Firefoxが<mlabeledtr>を実装しおおらず、そのような行を削陀するためです。そのため、MathJaxは、数孊を非衚瀺にするのではなく、プレヌンな<mtr>に倉曎し、劥協案ずしおラベルを削陀したす。 Firefoxの問題のリストにただ含たれおいない堎合は、これが含たれおいるはずです。自動番号付けがMathJaxの䞀郚になったこずで、これはFirefoxのネむティブMathMLにずっおより深刻な制限になり、v2の理由の1぀になりたす。 0は、FirefoxのNativeMMLではなくHTML-CSSを優先するようにデフォルトを倉曎する可胜性がありたす。

Firefoxの堎合、なぜラベルを削陀するのですか うたく配眮されおいなくおも、そのたたにしおおくこずができたすか

ラベルは$$ <mlabeledtr> $$の最初の<mtd>であるため、 <mlabeledtr>を<mtr>に眮き換えるだけで、列が砎棄されたす。 戻っおテヌブルの他のすべおのラベルのない行に空癜の゚ントリを挿入するか、ラベルを行の最埌に移動しお、ラベルがテヌブルの他の行で䜿甚される右偎の列。 これらは䞡方ずも、私がやりたかったよりも耇雑でした。 NativeMML出力jaxでの期埅は、絶察に必芁な以䞊にMathMLを倉曎しないこずでした。私は、数孊を完党に倱うこずを避けるために、これだけを行いたした。 すべおのブラりザのレンダラヌですべおのネむティブMathMLバグを回避しようずするのは賢明ではないず思いたす。 私の圓初の望みは、Firefoxが最終的に䞍足しおいる機胜を実装し、ラベルの削陀が䞀時的なものになるこずでしたが、これはすぐには開始されないようです。

ダビデ

mlabeledtrの倉曎はFirefox9を察象ずしおいるこずに泚意しおください。
https://bugzilla.mozilla.org/show_bug.cgi?id=356870

mlabeledtrのコンテンツは、デフォルトで非衚瀺になっおいるラベルを陀いお、通垞の行ずしお衚瀺されるようになりたしたこれは、CSSルヌルを䜿甚しおオヌバヌラむドできたす。

mlabeledtrを実装するためのバグに぀いおは、を参照しおください。
https://bugzilla.mozilla.org/show_bug.cgi?id=689641

Firefox 9がリリヌスされ、mlabeledtrの回避策が含たれおいるため、MathJaxはそのバヌゞョンでそれ自䜓を実行する必芁はありたせん。

\labelを取埗しお堎合によっおはオプションで方皋匏のid属性を予枬可胜で、ラベルから掟生したものに蚭定する可胜性はありたすか これにより、他のドキュメントから特定の方皋匏ぞの参照が可胜になりたす。

たずえば、珟時点では、

\begin{align}
F &= m a \label{NewtonsLaw}
\end{align}

これが最初の方皋匏の堎合、ID mjx-eqn-1が生成されたす。 \eqref{NewtonsLaw}はmjx-eqn-1ぞのリンクを生成するため、これはドキュメント内で機胜したす。

ただし、方皋匏の番号がわからないず、別のHTMLドキュメントから方皋匏を参照するこずはできたせん。 ぀たり、 http //www.mywebsite.com/mypage.html#mjx-eqn-NewtonsLawぞの倖郚リンクを䜜成できたせん

@grahamdennis-良い考えです。 v2.0-candidateブランチを倉曎しお、それを実珟するために必芁な倉曎を含めたした。 必芁な倉曎は小さいため、AMSmath.jsファむルずTeX/config.jsファむルの独自のコピヌを線集しおそれらを含めるこずができたす。

ダビデ

ありがずう@dpvc

最新の倉曎を考慮しおテストを曎新しようずしおいたす。

Firefox 9がリリヌスされ、mlabeledtrの回避策が含たれおいるため、MathJaxはそのバヌゞョンでそれ自䜓を実行する必芁はありたせん。

Davide、MathJax 2.0でこのコメントを考慮したしたか MathJaxの回避策を削陀するず、Firefoxナヌザヌは、単玔なCSSルヌルmlabeledtr > mtd:first-child { display: table-cell; }を䜿甚しお、必芁に応じおラベルを衚瀺できるようになりたす。

はい、 <mlabeledtr>の回避策は条件付きで適甚され、FF9以降では䜿甚されたせん。 NativeMMLjax.jsファむルの492行目を参照しおください。

OK、玠晎らしい ありがずう。

\ labelが远加された堎合にのみ、数倀方皋匏に蚭定できたすか \labelず\refはあたり䜿甚したせん。

LaTeXで方皋匏*環境を䜿甚できるこずは知っおいたすが、残念ながら、私はMarkdownを䜿甚しおおり、*はマヌクダりン構文甚に予玄されおいたす。

ありがずう。

@emptymalei 、探しおいるものの蚭定はありたせんが、番号付きの方皋匏が必芁な堎合は、明瀺的な\tag{}マクロを䜿甚できたす。 これには、自分で番号付けを行う必芁がありたすが、参照がいく぀か必芁な堎合は、それでうたくいく可胜性がありたす。 したがっお、 \label{}ず\tag{}を䞀緒に䜿甚しお方皋匏に番号を付け、埌で参照するためのラベルを提䟛したす。

@dpvcありがずうございたす。 \tag{}を詊しおみたす。

やあ、

玠晎らしいプロゞェクトずこの玠晎らしい機胜をありがずうございたした。 ここで私は小さな問題を抱えおいたす。 内郚に\labelを含む数孊を倉曎する堎合、ラベルは耇数定矩されたすこれを再珟するには、MathJaxラむブデモで\labelを䜿甚しお数匏を線集しおみおください。

HTML芁玠を眮き換えるずきにMathJaxのラベル定矩を削陀するこずで修正できるず思いたす。 しかし、この削陀を通知するむンタヌフェむスや、ペヌゞを曎新せずに定矩をクリアできるコヌドは芋぀かりたせんでした。

私に䜕ができるか考えおいる人はいたすか

前もっお感謝したす。

スレッドを再利甚しないでください。

方皋匏番号のリセットに関するドキュメントを読むこずをお勧めしたす。

バグずいうよりは䞍完党な機胜だず思いたした。 新しい号を始めたす。

方皋匏番号はリセットできたすが、ラベルはリセットできたせん。

ラベルもresetEquationNumbers()によっおリセットされたすが、ドキュメントではそれに぀いおより明確になる可胜性がありたす。

どうもありがずうございたした それは倱敗に぀ながる私の間違った䜿甚法であるに違いありたせん。 ありがずうございたした。 迷惑をかけおごめんなさい。

MathJax.InputJax.TeX.resetEquationNumbers()は2.xコンストラクトだったようですhttp//docs.mathjax.org/en/v2.7-latest/advanced/typeset.html#reset-automatic-equation-numbering
オプションの匕数は文曞化されおいたせんが、https//github.com/mathjax/MathJax/issues/1705#issuecomment-282743204でDavideによっお説明されおいたす。ありがずうございたす。
3.xではMathJax.texReset()に眮き換えられたしたhttp://docs.mathjax.org/en/v3.0-latest/web/typeset.html#tex-reset
[もちろん、3.0では倚くのこずが倉曎されたした。 これは䞻に、私がただ2.xを䜿甚しおいるので、将来私がこれを再び芋぀けるのを助けるためです;-)少し残念なこずに、「最新/」の堎合、倚くの2.xドキュメントリンクが壊れおいたす...]

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡