$\require{cancel}$html上で、数式を表現するには欠かせないMathJax。とても便利だが、計算式の途中で数字や文字に取り消し線(こんなものです。$\cancel{3}とか\bcancel{a}とか\xcancel{2ab^{2}}などです。$)を引く方法がわからなくて、ちと困りました。解決策をメモっておきます。
【前提条件】
- サイトは、Wordpressで運用している。
- MathJaxの設定は、header.phpに記述済。(正常に動作)
- MathJaxの記述は初志者レベルだが、html,css,javascript,php,sqlなどはまぁ、中レベル。
MathJaxのサイト:http://docs.mathjax.org/en/latest/tex.html を参考に2つの解決策を試しました。
拡張機能(追加パッケージ)を読み込ませて運用する方法です。結果、どちらでもうまく表示されました。が、個人的には、<解決策>の2を利用することにしました。理由は、<解決策>の1では、header.phpに読み込ませるので、不要なページ、すべてのページに拡張機能が読み込まれることになります。原則、使わないのなら、読み込まないということで、<解決策>2を選択しました。
<解決策>
- header.phpに拡張機能読み込み設定を追記。
- 投稿ページ内に拡張機能読み込みマクロを記述。
1.header.phpに拡張機能読み込み設定を追記。
一般的なMathJaxの設定を、</head>の前に、次のように記入します。これが、MathJaxの運用時の設定です。
<script type="text/javascript"
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: { equationNumbers: { autoNumber: "AMS" }},
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
processEscapes: true
},
"HTML-CSS": { matchFontHeight: false },
displayAlign: "left",
displayIndent: "2em"
});
</script>
このスクリプト内のTexセクション内に、
TeX: {
extensions: ["cancel.js"]
}
を追記します。
完成形が、下のものです。
<script type="text/javascript"
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["cancel.js"]},
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
processEscapes: true
},
"HTML-CSS": { matchFontHeight: false },
displayAlign: "left",
displayIndent: "2em"
});
さらに、拡張機能を追加したい場合は、「,」で区切って[” “,” ” ]のように、カッコ内に追記していけばよろしいようです。
例えば、
extentions:["cancel.js","autobold.js"]
みたいな感じです。
2.投稿ページ内に拡張機能読み込みマクロを記述。
マクロ、\require{}を利用します。今回は、取り消し線なので、
\require{cancel}
となります。私は、これを、取り消し線を利用するときだけ、投稿ページの先頭部分に次のように記述しています。(最初に1回記述すれば、そのページ内で有効になります。もちろん、他のページでは無効です。)
$\require{cancel}$
注意、{ }内のパラメータには、jsが付きません。つまり、cancel.jsではなく、cancelのみです。
〔課題〕
複数の拡張機能を記述する書式がわかりません。試せばいいのですが。どたなかがんばって試してください。わかった方は、ぜひ、コメントで教えてください。(時間があれば、試して、その結果をアップします。今の所、不都合がないのでこのままです。)
取り消し線の表示例
解決策1の場合は、投稿ページに下記のマクロを書けば、表示例のように表示されます。
解決策2の場合は、投稿ページに内にまず、$\require{cancel}$
を記述してから、マクロを記述すれば、表示例のように表示されます。
記述したマクロ | 表示の例 |
$ \cancel{5} $ | $ \cancel{5} $ |
$ \xcancel{ax^{2}} $ | $ \xcancel{ax^{2}} $ |
$ \displaystyle\frac{\cancelto{1}{2}}{\cancelto{2}{4}} $ | $\displaystyle\frac{\cancelto{1}{2}}{\cancelto{2}{4}}$ |
$ \bcancel{\sqrt{21}} $ | $ \bcancel{\sqrt{21}} $ |