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'] };