TeXモード/MathJax

Ver3.10よりMathJaxという、より本格的な数式が書けるライブラリに対応しました。インターネットに接続された環境でのみ使用できます。

ブロック書式

数式ブロックを以下の方法で書くことができます。「```math~```」はVer3.21以降で使用できます。

ピタゴラスの定理[[math:a^2+b^2=c^2]](インライン数式)。
```math
f(t) = \int_{-\infty}^{\infty}g(x)(\cos(2\pi xt)+j\sin(2\pi xt))dx
```

解の公式の導出。
>>>||math
\begin{eqnarray}
ax^2 + bx + c &=& 0 \\
ax^2 + bx &=& -c \\
x^2 + \frac{b}{a}x &=& -\frac{c}{a} \\
\left(x + \frac{b}{2a}\right)^2 &=& -\frac{4ac}{4a^2} + \frac{b^2}{4a^2} \label{mul} \\
x + \frac{b}{2a} &=& \pm \sqrt{ \frac{b^2-4ac}{4a^2} } \\
x &=& - \frac{b}{2a} \pm \frac{ \sqrt{ b^2-4ac} }{2a} \\
\therefore x &=& \frac{-b \pm \sqrt{ b^2-4ac }}{2a} \label{kai}
\end{eqnarray}
||<<<
([mref:kai])式が「解の公式」と呼ばれる2次方程式の解の一般式です。
[mrefa:mul]式で[math:(x+y)^2=x^2+2xy+y^2]を使っていることに注意してください。

ピタゴラスの定理a^2+b^2=c^2(インライン数式)。

f(t) = \int_{-\infty}^{\infty}g(x)(\cos(2\pi xt)+j\sin(2\pi xt))dx

解の公式の導出。

\begin{eqnarray} ax^2 + bx + c &=& 0 \\ ax^2 + bx &=& -c \\ x^2 + \frac{b}{a}x &=& -\frac{c}{a} \\ \left(x + \frac{b}{2a}\right)^2 &=& -\frac{4ac}{4a^2} + \frac{b^2}{4a^2} \label{mul} \\ x + \frac{b}{2a} &=& \pm \sqrt{ \frac{b^2-4ac}{4a^2} } \\ x &=& - \frac{b}{2a} \pm \frac{ \sqrt{ b^2-4ac} }{2a} \\ \therefore x &=& \frac{-b \pm \sqrt{ b^2-4ac }}{2a} \label{kai} \end{eqnarray}

(\ref{kai})式が「解の公式」と呼ばれる2次方程式の解の一般式です。

(\ref{mul})式で(x+y)^2=x^2+2xy+y^2を使っていることに注意してください。

  • このブロック記述は<div class="math"></div>に展開されます。
  • \begin{xxx} ~ \end{xxx}などを使用でき、\begin環境中では式番号が自動的に付くよう設定してあります。
    • [mref:label-name]でラベル付けした式番号を参照できます。
    • かっこ文字( )付きで参照したい場合は [mrefa:label-name] を使用してください。
  • 試していませんが、MathJaxが対応しているマクロ定義なども通るはずです。

使用できる数式コマンドの詳細についてはMathJaxの資料やTeXの資料を参照してください。

インライン数式

表示にMathJaxを使用するだけで、TeX記法と変わりありません。

[[math:f(t) = \int_{-\infty}^{\infty}g(x)(\cos(2\pi xt)+j\sin(2\pi xt))dx ]]
[[mathd:f(t) = \int_{-\infty}^{\infty}g(x)(\cos(2\pi xt)+j\sin(2\pi xt))dx ]]

f(t) = \int_{-\infty}^{\infty}g(x)(\cos(2\pi xt)+j\sin(2\pi xt))dx

\displaystyle f(t) = \int_{-\infty}^{\infty}g(x)(\cos(2\pi xt)+j\sin(2\pi xt))dx

ディスプレイスタイルのインライン数式は [[mathd:]] タグを使います。[[math:]] タグを使って内部に「\displaystyle」とコマンドを書いても構いません。

TeXモード

数式をたくさん入力する場合、[[math:]]タグの入力が面倒なことがあります。そのような場合は、パーサーのモードをTeXモードに切り替えます。

Texモードの設定と解除

TeXモードを設定する場合は以下のように記述します。

[*tex]

解除したい場合は以下になります(Ver3.30以降)。

[*tex-off]

TeXモード使用サンプル

[*tex]
-$f(t) = \int_{-\infty}^{\infty}g(x)(\cos(2\pi xt)+j\sin(2\pi xt))dx$
-$$f(t) = \int_{-\infty}^{\infty}g(x)(\cos(2\pi xt)+j\sin(2\pi xt))dx$$
\[
x = \frac{-b \pm \sqrt{ b^2-4ac }}{2a}
\]
  • f(t) = \int_{-\infty}^{\infty}g(x)(\cos(2\pi xt)+j\sin(2\pi xt))dx
  • \displaystyle f(t) = \int_{-\infty}^{\infty}g(x)(\cos(2\pi xt)+j\sin(2\pi xt))dx
    x = \frac{-b \pm \sqrt{ b^2-4ac }}{2a}

TeXモードに切り替えることで「$~$」「$$~$$」「\[ ~ \]」(文中は不可)といったおなじみのTeX数式入力方法が使用できます。

\begin{}~\eng{}, \ref{label}

TeXモード設定中は、\begin{}~\eng{}行頭に書くことにより直接その部分に数式を書くことができます。また文中で\ref{label}を使って式番号を取得することができます。

\begin{equation}
y^2=x^3+ax+b \qquad  \textrm{※ただし}a,b\textrm{は定数} \label{ecc}
\end{equation}
楕円曲線は一般に(\ref{ecc})式により定義される。
\begin{equation} y^2=x^3+ax+b \qquad \textrm{※ただし}a,b\textrm{は定数} \label{ecc} \end{equation}

楕円曲線は一般に(\ref{ecc})式により定義される。

[mrefa:\]というカッコ付で参照するコマンドもあります。

楕円曲線は一般に\refa{ecc}式により定義される。

楕円曲線は一般に(\ref{ecc})式により定義される。

Markdownから入力したい

インライン記法タグの「[[math:]], [[mathd:]]」はそのまま使えます。

ブロック数式を記述したい時は、直接divブロックを記述してください。

<div class="math">
x,y,z,n \in \mathbb{N} \quad (n \geq 3) \\
\forall x,\forall y,\forall z,\forall n \qquad x^n + y^n \neq z^n
</div>
x,y,z,n \in \mathbb{N} \quad (n \geq 3) \\ \forall x,\forall y,\forall z,\forall n \qquad x^n + y^n \neq z^n

configパラメーター

adiaryでは MathJax を次のように設定しています。「$」や「\( \)」のほか、MathJax標準のTeX環境の認識機能(tex2jax.js)はすべてオフにしてあります。

// http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML
window.MathJax = {
	TeX: { equationNumbers: {autoNumber: "AMS"} },
	tex2jax: {
		inlineMath: [],
		displayMath: [],
		processEnvironments: false,
		processRefs: false
	},
	extensions: ['jsMath2jax.js']
};