つれづれなる備忘録

日々の発見をあるがままに綴る

Texによる数式表現14~化学反応(mhchem)

1. mhchemによる化学反応のTex表現

 前回の記事でTexによる数式表現を化学反応の表現に応用することを紹介した中で、専用パッケージ(mhchem)があることについて触れた。MathJaxというWeb上に数式を表示するJavascriptライブラリで、MathJaxをロードする際のオプション(Extension)としてmhchemを指定することで、mhchemパッケージの利用ができるので紹介する。

atatat.hatenablog.com

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>
\( \begin{eqnarray} &&\ce{2KMnO4 + 5(COOH)2 + 3H2SO4}\\ &&\ce{-> 2MnSO4 + 10CO2 + K2SO4 + 8H2O} \end{eqnarray} \)

化学構造式は-で結合、=:2重結合、#:3重結合となる。

$\ce{HC#C - CH=CH2 + 3H2 -> CH3 - CH2 - CH2 - CH3}$

$\ce{HC#C - CH=CH2 + 3H2 -> CH3 - CH2 - CH2 - CH3}$