[mathjax in wordpress]マクロ設定方法

wordpressでmathjaxを使っている方は多いと思いますが、できるだけ短く数式を書きたい!!でもやり方がわからないという人のための記事です。

私も最近mathjaxを使用し始めましたが、マクロ設定ができずに困っていました。そこで、1日ほど試行錯誤したところ何とか動いたので、ここでコードを公開したいと思います。

下のコードをテーマヘッダーに入れてください。

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {inlineMath: [['$','$'], ["\\(","\\)"]]} });
MathJax.Hub.Config({
TeX: {
Macros: {
RR: '{\\bf R}',
dd: ['{\\displaystyle\\frac{\\partial #1}{\\partial #2}}', 2],
ddp: ['{\\left(\\displaystyle\\frac{\\partial #1}{\\partial #2}\\right)}', 2],
a: '{\\alpha}',
b: '{\\beta}',
D: '{\\Delta}',
d: '{\\delta}',
p: '{\\partial}',
maru: '{^\\circ}',
f: ['{\\displaystyle\\frac{#1}{#2}}', 2],
it: '{\\displaystyle\\int}',
dis: '{\\displaystyle}',
fp: ['{\\left ( \\displaystyle\\frac{#1}{#2}\\right )} ', 2],

mnn: ['{\\begin{pmatrix} {#1} & {#2} \\\\ {#3} & {#4} \\end{pmatrix}}', 4],

mss: ['{\\begin{pmatrix} {#1} & {#2} & {#3} \\\\ {#4} & {#5} & {#6} \\\\{#7} & {#8} & {#9} \\end{pmatrix}}', 9],

my:['{\\begin{matrix} {#1} & {#2} & {#3} &{#4}\\end{matrix}}', 4],

myy:['{\\begin{pmatrix}{#1}\\\\ {#2}\\\\ {#3}\\\\{#4} \\end{pmatrix}}',4],

mg: ['{\\begin{matrix} {#1} & {#2} & {#3} &{#4}&{#5}\\end{matrix}}', 5],

mgg: ['{\\begin{pmatrix}{#1}\\\\ {#2}\\\\ {#3}\\\\{#4}\\\\{#5} \\end{pmatrix}}',5],

mr:['{\\begin{matrix} {#1} & {#2} & {#3} &{#4}&{#5}&{#6}\\end{matrix}}', 6],

mrr:['{\\begin{pmatrix}{#1}\\\\ {#2}\\\\ {#3}\\\\{#4}\\\\{#5}\\\\{#6} \\end{pmatrix}}',6],

sm: ['{\\displaystyle\\sum\\limits_{#1}^{#2}}',2],


}
}
});

</script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
</script>

これを入れることによって、[$]で数式を挟むことによって数式の箇所を定義するショートコードが使用することができ、かつ、マクロも設定することができます。

マクロの設定において、引数を用いる場合は、#(数字) で定義され、後ろに使った引数の個数を記述する必要があります。

上のコードにはサンプルとして自分のマクロ設定も入れておきました。

mathjaxでマクロを書くとき\(あるいはバックスラッシュ)はエスケープする必要が生じるため、\\(あるいはバックスラッシュ2つ)で記述する必要があります。

また、分数や、積分記号、シグマ記号(和の記号)などは\displaystyleを直前に置くことで、表示時の審美性を高めています。(具体的には記号が大きくなる)

しかし、シグマ記号のみ、\displaystyleで表示すると真上付き文字と真下付き文字が通常の上付き、下付き文字になってしまうため、コマンド\limitsを使用して、強制的に真上付き、真下付き文字にしています。(その際、\limitsは単独で動くものではないため、仕方なく引数を用いてマクロを組んでいます。)

ご参考までに。

ちなみに検証の結果、引数は9までしか設定できないようです。
(なので、6行6列式には引数を36使いますが、マクロにマクロを組み込むことでさしあたりマクロを組んでいます。誰か引数を9以上に設定する方法を見つけた人はどうか、公開してください。ちなみに自分の応急的な組み方だと9×9=81(個)の引数まで扱うことができます。)

参考リンク

このコードを作るにあたってはこちらの海外のコミュニティを参考にしました。

また、MathJaxのコマンド集は海外のものに優秀なものがあります

日本のコマンド集でも使いやすいものがありますので、そちらも紹介させていただきます。

スポンサーリンク