mhchemを使った化学表記

mhchemパッケージは化学分子式や方程式を組版するためのコマンドを提供します。

どうしてmhchemなの?

TeX数学モードを使用して化学式や方程式を表示することは可能です。しかしながら、それはある範囲または理由でかなり面倒です。さまざまな表示規則:数学では大文字がイタリック体で表示されていますが、化学では要素記号は直立しています。上付きおよび下付き表記、イオンおよび同位体の複雑さ。結合、平衡反応矢印など

mhchem拡張機能により、より適応性の高い表示と、より自然な化学式や方程式の入力が可能になります。 Moodleでは、mhchem構文はHTMLエディタ(TinyMCEまたはAtto)に直接入力するか、Atto化学プラグイン(Atto方程式プラグインと同様)によってテキスト入力を使用できます。

これは同位体、相対原子および相対分子量、経験式および分子式、平衡方程式(完全およびイオン)、平衡反応およびそれらの動力学を文書化するのに特に有用です。

より複雑な構造式および表示式(有機化学など)、相同系列、官能基については、MarvinJSベースの化学構造式や反応エディタなどの「描画」プラグインを検討することもできます。

インストール

mhchemパッケージは2つの方法のうちの1つでMoodleと統合することができます。 1つ目は、MathJaxを介したセットアップが最も簡単で、高品質のレンダリングを提供します。ただし、MathJaxのレンダリングはブラウザによるクライアント側のJavaScript処理に依存しているため、一部のプラットフォーム(特にモバイル)や特に複雑な数学/科学表現では大幅に遅れることがあります。また、MathJaxと他のJavaScriptライブラリとの間に競合があるかもしれません(例えば、いくつかのサードパーティのMoodleプラグインにおいて)。このような場合は、サーバーサイドのTeXフィルタを使用すると効果的です。 TeXフィルタを初期ロードした後に生成された画像はキャッシュされているので、すばやく表示できます。 Moodle 2.8の新しいSVG出力オプションはMathJaxの品質に近づきますが、通常TeXフィルタは低品質の表示(MathJax> SVG> PNG> GIF)を生成します。

Moodle 2.8では、TeXとMathJaxフィルタを並列に有効にすることで(特にSVGレンダリングで)MathJaxにフォールバックを提供し、その逆も可能です。

MathJaxを介して

MathJaxはWeb上で数学を表示するためのデファクトスタンダードとなっています。バージョン2.7以降、MoodleにはMathJaxローダーフィルタが組み込まれています。ただし、それでもmhchemをMathJax構成に追加する必要があります。

[管理]> [サイトの管理]> [プラグイン]> [フィルタ]> [Mathjax]> [ローカルMathjaxインストール]で、TeX拡張機能にmhchem.jsを含めるようにMathjax構成を編集します。

 TeX:{拡張:["AMSmath.js"、 "AMSsymbols.js"、 "mhchem.js"、 "noErrors.js"、 "noUndefined.js"]}、 

Moodle 2.6以前のバージョンでは、MathJaxをmhchem拡張子とともに、以下のサイトのHEADセクションに追加することができます。

管理>サイト管理>外観>追加のHTML> HEAD内

LaTeX経由

Moodleサーバ上のLaTexと一緒にmhchemを追加してからMoodle TeXフィルタを使用することも可能です。以下のバイナリをMoodleサーバにインストールして設定する必要があります。

ラテックス

dvips

そしてどちらか

SVGレンダリング用のdvisvg(Moodle 2.8以降)

または

PNG / GIFレンダリング用に変換する(Moodle 2.7以前)

ムヘム

インストールの詳細はサーバーのオペレーティングシステムによって異なります。ほとんどのLinuxディストリビューションは、標準パッケージマネージャを使用してバイナリと依存関係をインストールできます。例えばFedora 20の場合、mhchemは以下のようにインストールできます。
 yumインストールtexlive-mhchem 
。あるいは、Linux、Windows、またはMacintoshサーバー用に、mhchemを含む適切なLaTeXインストールバンドルを使用することもできます。

インストール後、Moodle管理>サイト管理>プラグイン>フィルタ> TeX表記> LaTeXレンダラー設定で、既存のLaTeXプリアンブルに以下を追加してください。

 \ usepackage {mhchem} 

次の(または同様の)プリアンブルを付ける。

 \ usepackage [latin1] {inputenc}

\ usepackage {amsmath}

\ usepackage {amsfonts}

\ usepackage {mhchem}

\ RequirePackage {amsmath、amssymb、latexsym} 

Atto Chemistry編集プラグイン

TeXおよび/またはMathJaxローダーフィルターがmhchemを使用するように設定され、有効にされると、mhchem式は組み込みの(TinyMCEまたはAtto)テキストエディターを使用して直接Moodleにタイプすることができます。

しかし、 Atto Chemistryエディタプラグインはユーザーにとっても便利かもしれません。これは自動的に式を必要な区切り文字(例えば\(\ ce {...} \)で囲み、よく使われる記号、同位体フォーマット、反応、平衡矢印などのタブ付きツールバーとボタンのセットを提供します。周期的な表のレイアウトまた、化学の文脈で役に立つかもしれないいくつかの「標準的な」TeX記号(例えば、ギリシャ文字とイタリック文字)を組み込んでいます。

WYSIWYGケミストリーエディタではありませんが、それでも化学方程式の構築を単純化し、コーディング環境およびmhchemシンタックスのための補助メモとしても機能します。

基本

mhchemは現在このドキュメントWikiにインストールされていません。したがって、化学式や方程式の化学表示はシミュレートされており、mhchemを使用したレンダリングと正確には対応していない可能性があります。

デフォルトのTeX区切り文字は
 \ [... \] 
または
 $$ ... $$ 
表示された数学の場合
 \(... \) 
インライン数学用。 mhchemの場合は追加の区切り文字
 \ ce {...} 
数学の区切り文字の内側に必要です。
 \ [\ ce {...} \] 
または
 $$ \ ce {...} $$ 
表示されている化学式
 \(\ ce {...} \) 
インライン化学式用。このドキュメントの残りでは、TeX区切り文字は明示的には示されていません。

\ mathrm {H_ {2} O}

 \ ce {H2O} 

\ mathrm {Sb_ {2} O_ {3}}

 \ ce {Sb2O3} 

\ mathrm {H ^ {+}}

 \ ce {H +} 

\ mathrm {CrO_ {4} ^ {2-}}

 \ ce {CrO4 ^ 2-} 

\ mathrm {AgCl_ {2} ^  - }

 \ ce {AgCl 2  - } 

\ mathrm {[AgCl_ {2}] ^  - }

 \ ce {[AgCl 2]  - } 

\ mathrm {Y ^ {99+}}

 \ ce {Y ^ {99} +} 

\ mathrm {H_ {2}(aq)}

 \ ce {H2 _ {(aq)}} 

\ mathrm {NO_ {3} ^  - }

 \ ce {NO3-} 

\ mathrm {(NH_4)_2S}

 \ ce {(NH 4)2 S} 

金額

金額を計算式の直前に配置します。小さなスペースが自動的に挿入されます。

\ mathrm {2H_ {2} O}

 \ ce {2H2O} 

\ mathrm {\ frac {\ scriptstyle {1}} {\ scriptstyle {2}} H_ {2} O}

 \ ce {1 / 2H2O} 

同位体

\ mathrm {{} _ {90} ^ {227}番目^ {+}}

 \ ce {^ {227} _ {90} Th +} 

上記の構文はほとんどの状況で機能しますが、場合によっては先頭に1組の中括弧が必要になることがあります。

 \ ce {{} ^ {227} _ {90} Th +} 

フォント

あなたが数学環境にいるとき(例えば、
 \ [... \] 
 \(...)\ 
または
 $$ ... $$ 
)、あなたは単に使用することができます
 \ ce 
コンテンツを直立フォントで設定する。覚えておいてください:ボリュームのためのVのように - すべての変数はイタリック体のフォントを使用して設定され、物理的な単位と化学元素は直立フォントを使用して設定されます。

\ mathit {V} \ mathrm {_ {H_ {2} O}}

 $ V _ {\ ce {H2O}} $ 
テキストモードで使用すると
 \ ce 
現在のテキストフォントに適応します。セクションタイトルのいずれかに式を記述するだけで、どこに表示されているかに関係なく、正しい式が設定されます(sectiontitle、header、contents、referencesなど)。

\ mathrm {H_ {2} O}\ mathrm {H_ {2} O}

 \ ce {H2O}、$ \ ce {H2O} $ 

\ mathrm {Ce ^ {IV}}

 \ ce {Ce ^ {IV}} 

特別な場合がいくつかあります。テキストモードの負の電荷( - )はダッシュ( - )に置き換えられます。これは、テキストのマイナス記号が短すぎるためです。すべての「演算子」、たとえば「+」や反応矢印は常に数学フォントから取り出されます。

特別なシンボル

\ mathrm {KCr(SO_4)_2 \ cdot 12H_2O}

 \ ce {KCr(SO 4)2 * 12 H 2 O} 

\ mathrm {KCr(SO_4)_2 \ cdot 12H_2O}

 \ ce {KCr(SO 4)2.12 H 2 O} 

\ mathrm {[Cd \ {SC(NH_2)_2 \} _ 2] \ cdot [Cr(SCN)_4(NH_3)_2] _2}

 \ ce {[Cd \ {SC(NH 2)2 \} 2]。[Cr(SCN)4(NH 3)2] 2} 

\ mathrm {RNO_ {2} ^ { - 。}}\ mathrm {RNO_ {2} ^ { - 。}}

 $ \ ce {RNO2 ^ { - 。}} $、\ ce {RNO2 ^ { - 。}} 

\ mu \! -  \!\ mathrm {Cl}

 \ ce {$ \ mu \ hyphen $ Cl} 

ボンド

水平結合は文字を使って設定できます
 - 
 = 
そして
式中の(単結合、二重結合、三重結合)
 - 
式の最後にマイナスの電荷が生じます。

\ mathrm {C_6H_5 \! -  \!CHO}

 \ ce {C6H5-CHO} 

\ mathrm {X \!= \!Y \!\ equiv \!Z}

 \ ce {X = Y#Z} 

\ mathrm {A \! -  \!B \! = \!C \!\ equiv \!D}

 \ ce {A \ sbond B \ dbond C \ tbond D} 

本が異なると、結束はまったく異なる方法で視覚化されます。現在、数学フォントのマイナス記号は結合を表示するために使用されます(テキストモードでも)。結合は、数学軸上で垂直に揃えられます。ほとんどの数学フォントでは、これは大文字の半分の高さよりも低くなります。

 \ボンド
コマンドを使用すると、特定の種類の特別な債券を組版できます。

\ mathrm {A \! -  \!B \!= \!C \!\ equiv \!D}

 \ ce {A \ bond { - } B \ bond {=} C \ bond {#} D} 

\ mathrm {A \!\ sim \!B \!\ simeq \!C}

 \ ce {A \ bond {〜} B \ bond {〜 - } C} 

\ mathrm {A \!\ cong \!B \!\ cong \!C \!\ cong \!D}

 \ ce {A \ bond {〜=} B \ bond {〜 - } C \ bond { - 〜 - } D} 

\ mathrm {A \!\ cdots \!B \!\ cdot \ cdots \!C}

 \ ce {A \ bond {...} B \ bond {....} C} 

\ mathrm {A \!\ rightarrow \!B \!\ leftarrow \!C}

 \ ce {A \ bond { - >} B \ bond {< - } C} 

数学を使う

内部で数学コマンドを使用する
 \ ce {...} 
では、コマンドを次のように囲むことができます。
 $ 

\ mathrm {Fe(CN)_ {\ frac {6} {2}}}

 \ ce {Fe(CN)_ {$ \ frac {6} {2} $}} 

\ mathrm {\ mathit {x} Na(NH_4)HPO_4 \オーバーセット{\ Delta} \ rightarrow(NaPO_3)_ \ mathit {x} + \ mathit {x} NH_3 \ uparrow + \ mathit {x} H_2O}

 \ ce {$ x \、$ Na(NH 4)HPO 4  - > [\ Delta](NaPO 3)_ {$ x $} + $ x \、$ NH 3 ^ + $ x \、$ H2O} 

\ mathrm {CH_4(g)+ 2O_2(g)\ rightarrow CO_2(g)+ 2H_2O(l)} \ quad \ Delta H _ {\ mathrm {c}} ^ {\ ominus} = -890.3 \; \ mathrm {kJ} \; \ mathrm {mol} ^ { -  1}

 \ ce {CH_4(g)+ 2O_2(g) - > CO_2(g)+ 2H_2O(l)$ \ quad \ Delta H_ \ ce {c} ^ {\ ominus} = -890.3 \; $ kJ $ \; $ mol ^ { -  1}} 

リアクションアロー

\ mathrm {CO_2 + C \ rightarrow 2CO}

 \ ce {CO2 + C  - > 2CO} 

\ mathrm {CO_2 + C \ leftarrow 2CO}

 \ ce {CO2 + C < -  2CO} 

\ mathrm {CO_2 + C \ rightleftharpoons 2CO}

 \ ce {CO2 + C <=> 2CO} 

\ mathrm {H ^ + + OH ^  -  \ overset { -  \! -  \! -  \!\ rightharpoonup} {\ quad \ scriptstyle {\ leftharpoondown} \ quad} H_2O}

 \ ce {H + + OH  -  <= >> H2O} 

A \ leftrightarrow A '

 \ ce {$ A $ <-> $ A '$} 

\ mathrm {CO_2 + C \; \ overset {\ alpha} {\ rightarrow} \; 2CO}

 \ ce {CO2 + C  - > [\ alpha] 2CO} 

\ mathrm {CO_2 + C \; \ underset {\ beta} {\ overset {\ alpha} {\ rightarrow}} \; 2CO}

 \ ce {CO2 + C  - > [\α] \β2 CO} 

^や_と同様に、反応矢印の上と下の内容は数学フォントで設定されます。そこに説明的なテキストを置きたい場合は、\ textコマンドを使用してください。または、ショートカットとして、反応矢印と左大括弧の間に 'T'を入力することもできます。

\ mathrm {CO_2 + C \; \ overset {above} { -  \!\!\!\ longrightarrow} \; 2CO}

 \ ce {CO2 + C  - > [\ text {above}] 2CO} 

\ mathrm {CO_2 + C \; \ underset {below} {\ overset {above} { -  \!\!\!\ longrightarrow}} \; 2CO}

 \ ce {CO2 + C  - > [\ text {above}] [\ text {below}] 2CO} 

\ mathrm {CO_2 + C \; \ underset {below} {\ overset {above} { -  \!\!\!\ longrightarrow}} \; 2CO}

 \ ce {CO2 + C  - > T [上] [下] 2CO} 

同様に、\ ceを反応矢印とともに使用するためのショートカットがあります。

A \; \ mathrm {\ overset {H_2O} {\ longrightarrow}} \; B

 \ ce {$ A $  - > [\ ce {+ H2O}] $ B $} 

A \; \ mathrm {\ overset {H_2O} {\ longrightarrow}} \; B

 \ ce {$ A $  - > C [+ H2O] $ B $} 

沈殿物とガス

沈殿物(下向き矢印)にはvまたは(v)、ガス(上向き矢印)には^または(^)を使用します。どちらもスペースで区切ります。

\ mathrm {SO_4 ^ {2-} + Ba ^ {2+} \ rightarrow BaSO_4 \ downarrow}

 \ ce {SO4 ^ 2- + Ba ^ 2 +  - > BaSO4 v} 

気を付けて!

ときどきスペースを中括弧で囲む必要があることに注意してください。特に、反作用の矢に属する括弧の間にそれらが現れるとき、そうしなければなりません。

\ mathrm {\ overset {\ text {スペースを囲みます!}} {\ longleftarrow \!\!\! -  \!\!\! -  \!\!\! -  \!\!\! -  \!\! \!\ longrightarrow}} A '

 \ ce {$ A $ <-> T [{スペースを囲みます!}] $ A '$} 

さらなる例

\ mathrm {Zn ^ {2+} \ underset {+ 2H ^ +} {\ overset {+ 2OH ^  - } {\ rightleftharpoons}} \ underset {\ text {両性水酸化物}} {Zn(OH)_2 \ downarrow} \ underset {+ 2H ^ +} {\ overset {+ 2OH ^  - } {\ rightleftharpoons}} \ underset {\ text {テトラヒドロオキソ亜鉛酸塩}} {[Zn(OH)_4] ^ {2-}}}

 \ ce {Zn ^ 2 + <=> [\ ce {+ 2OH  - }] [\ ce {+ 2H +}] $ \ underset {\ text {両性水酸化物}} {\ ce {Zn(OH)2 v}} $ <=> C [+ 2OH  - ] [{+ 2H +}] $ \ underset {\ text {テトラヒドロオキソ亜鉛酸}} {\ cf {[Zn(OH)4] ^ 2  - }} $} 

K = \ mathrm {\ frac {[Hg ^ {2 +}] [Hg]} {[Hg_2 ^ {2+}]}}

 $ K = \ frac {[\ ce {Hg ^ 2 +}] [\ ce {Hg}]} {[\ ce {Hg2 ^ 2 +}]} $ 

\ mathrm {Hg ^ {2+} \; \ overset {I ^  - } {\ rightarrow} \; \ underset {\ text {red}} {HgI_2} \; \ overset {I ^  - } {\ rightarrow} \; \ underset {\ text {red}} {[Hg ^ {II} I_4] ^ {2-}}}

 \ ce {Hg ^ 2 +  - > [\ ce {I  - }] $ \ underset {\ mathrm {red}} {\ ce {HgI2}} $  - > C [I  - ] $ \ underset {\ mathrm {red }} {\ ce {[Hg ^ {II} I4] ^ 2  - }} $} 

さらに詳しい情報

mhchemパッケージ

mhchemマニュアル

MathJaxとmhchem