1. mhchemによる化学反応のTex表現
前回の記事でTexによる数式表現を化学反応の表現に応用することを紹介した中で、専用パッケージ(mhchem)があることについて触れた。MathJaxというWeb上に数式を表示するJavascriptライブラリで、MathJaxをロードする際のオプション(Extension)としてmhchemを指定することで、mhchemパッケージの利用ができるので紹介する。
2. MathJaxとmhchemのロード
MathJaxおよびmhcemをロードするには、はてな編集(markdown)内に以下のhtmlスクリプトを記述する。MathJaxの使い方〈化学編〉 なおデザイン設定内のHTMLに記述すれば、記事中に記述することなく毎回利用することができるが、ブログページ自体のロードが遅くなる。
<script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ['\\(','\\)'] ], processEscapes: true }, TeX: { extensions: ["mhchem.js"] }, CommonHTML: { matchFontHeight: false } }); </script> <script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_CHTML"> </script>
前半の<script>~</script>
内にMathJaxの設定が記述されており、インライン処理$~$
やmhchemをextensionとして指定している。後半の<script>~</script>
内はMathJax自体をロードしている。今回はMathJax2.7.1だが最新はMathJax3.0になる。今回は2.7.1でそのまま進める。(3.0だと前半の設定の記述方法が変わってくる)
なおmhchemの公式マニュアルはManual for: mhchem for MathJax, mhchem for KaTeX
3. mhchemによる分子・イオンの表現
基本的には\ce
(Chemical equation)を用いて化学式、化学反応を記述する。
例えば$\ce{H2O}
は
$\ce{H2O}$
となる。また、
$\ce{NH4+}, \ce{Cl-}, \ce{Cu^{2+}}$
$\ce{NH4+}, \ce{Cl-}, \ce{Cu^{2+}}$
数字がくると自動的に下付きになり、また+/-のイオン記号は自動的に上付きになる。価数が2以上になると^で明示する必要はあるが、通常のTexで表記するよりもシンプルに記述することができる。
同位体は上付き・下付きが必要で$\ce{^{227}_{90}Th+}$
$\ce{^{227}_{90}Th+}$
4. mhchemによる化学反応式
反応方向を示す矢印は種類がいくつかありが、一方向は->
,<-
を用いて$\ce{A -> B}$, $\ce{A <- B}$
$\ce{A -> B}$, $\ce{A <- B}$
化学平衡をあらわす矢印は<=>
を用いて$\ce{A <=> B}$
$\ce{A <=> B}$
Texにない記号としては、<=>>
や<<=>
があり
$\ce{A <=>> B}$,$\ce{A <<=> B}$
$\ce{A <=>> B}$,$\ce{A <<=> B}$
化学平衡反応は$\ce{CaCO3<=>Ca^{2+} + CO3^{2-}}$
$\ce{CaCO3<=>Ca^{2+} + CO3^{2-}}$
反応式に分数が含まれていても\frac
なしで解釈してくれる。$\ce{NO + 1/2O2 -> NO2}$
$\ce{NO + 1/2O2 -> NO2}$
沈殿はv
, $\ce{Ba^{2+} + SO4^{2-} -> BaSO4 v}$
$\ce{Ba^{2+} + SO4^{2-} -> BaSO4 v}$
気体発生は^
を用いる。\ce{2H+ + 2e- -> H2 ^}
$\ce{2H+ + 2e- -> H2 ^}$
反応式に条件付ける場合は$\ce{2H2O2 ->C[MnO2] O2 ^ + 2H2O }$
$\ce{2H2O2 ->C[MnO2] O2 ^ + 2H2O }$
->[MnO2]
で矢印の上に表記することができるがC[MnO2]
は化学式モードにする
複数行に渡って表記する場合は、eqnarray環境等を用いる。左詰めで表示するために\(~\)
で囲う。
<div> \( \begin{eqnarray} &&\ce{2KMnO4 + 5(COOH)2 + 3H2SO4}\\ &&\ce{-> 2MnSO4 + 10CO2 + K2SO4 + 8H2O} \end{eqnarray} \) </div>
化学構造式は-
で結合、=
:2重結合、#
:3重結合となる。
$\ce{HC#C - CH=CH2 + 3H2 -> CH3 - CH2 - CH2 - CH3}$
$\ce{HC#C - CH=CH2 + 3H2 -> CH3 - CH2 - CH2 - CH3}$