Closed akabekobeko closed 3 years ago
@MurakamiShinyu
すみません math
オプションを追加した際に README.md
への記載を忘れていたので、本 PR で改めて追記しました。既定で有効となったため、その旨と無効にする方法を記載しています。
@akabekobeko
すみません、body 要素に data-math-typeset="true"
を指定するのは間違いだったことに気がつきました。
これは数式を直接囲む要素に指定しなくてはならないものでした。
TeX数式を含むHTMLサンプル https://github.com/jagat-xpub/cosmology の index.html の body 要素に data-math-typeset="true"
を指定して、Vivliostyle Viewer で組版結果を確認すると、ページの組版処理が正常に行われなくなってしまいました。(改ページされず1ページ目でページがオーバーフローする、など)
data-math-typeset="true"
をbody 要素にではなく、数式を囲む span 要素に出力するように変更をお願いします。例:
<span class="math inline" data-math-typeset="true">\(...\)</span>
<span class="math display" data-math-typeset="true">$$...$$</span>
もうひとつお願いです。
MathML 数式がある場合にも <script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_CHTML"></script>
の出力が必要です。
MathML 数式が使われているかどうかは <math>
タグの有無で判定できるかと思います。例:
- MathML: <math><mi>x</mi><mo>=</mo><mi>y</mi></math>.
AsciiMath 対応については、今回は見合わせて、またの検討でよいかと思います。
@MurakamiShinyu
要望 1 の data-math-typeset="true"
を <body>
ではなく数式の <span>
へ移行する件を対応してみました。
要望 2 について質問です。これは VFM として math: true
の場合のみ <math>
を検出したら <script>
出力するのでしょうか?math: false
ならば「明示的に無視する」べきでしょうか?
@MurakamiShinyu 書き方がわかりにくかったので改めて。
要望 2 の <math>
タグ検出時にも <script>
タグを出力するのは VFM が math: false
でも実行しますか?それとも他の数式と同様に math: true
の場合のみでしょうか?
要望 2 の
<math>
タグ検出時にも<script>
タグを出力するのは VFM がmath: false
でも実行しますか?それとも他の数式と同様にmath: true
の場合のみでしょうか?
math: false
ならば、数式関係の処理は特に何もしないということで、 <script>
出力しない、で問題ないのではないかと思います。
Vivliostyle Viewerでは、常に MathML は MathJax により表示されます。ですので Vivliostyle を使わないでブラウザで表示するときの問題ですが、--disable-math
ならば math のための script を出力しないのが、論理的な気がします。
MathML にネイティブで対応しているブラウザならば、それでも数式が表示されます。(Firefox と Safari はMathMLをサポート、Chrome にもそのうち実装それる予定) --disable-math
は、積極的に math のための何かをしないで、ブラウザにまかせるという意味になりますね。
@MurakamiShinyu
math: true
時のみ <math>
を検出したら <script>
タグを出力するようにしました。今日はもう遅いので明日以降にでも改めてドキュメントとテスト コードのレビューをお願いします。
@MurakamiShinyu
レビューありがとうございます!vfm.md
の <script>
タグ説明について提案された文面を採用しました。
他に問題などがなければ merge します。その後に 1.0.0-alpha.21 としてリリース予定ですので、OK ならばコメントください。
93 対応。
VFM
関数のmath
オプション既定値をfalse
からtrue
に変更--math
を--disable-math
に変更して指定時に無効化math: true
でも実際に数式が処理されなければ<script>
と<body>
属性出力はしないように変更@MurakamiShinyu
docs/vfm.md
とtests/math.ts
についてレビューをお願いします。