Chemistry notation using mhchem: Difference between revisions
- Managing filters
- Filter settings
- Activity names auto-linking
- Algebra notation
- Convert URLs into links
- Database auto-linking
- Display emoticons as images
- Display H5P
- Email protection
- Glossary auto-linking
- HTML tidy
- MathJax
- Multimedia plugins
- Multi-language content
- TeX notation
- Word censorship
- Filters FAQ
Line 103: | Line 103: | ||
\cf{[Cd\{SC(NH2)2\}2].[Cr(SCN)4(NH3)2]2} | \cf{[Cd\{SC(NH2)2\}2].[Cr(SCN)4(NH3)2]2} | ||
<math>\mathrm{ | <math>\mathrm{RNO_{2}}</math><math>\mathrm{RNO_{2}}</math> | ||
$\ce{RNO2^{-.}}$, \ce{RNO2^{-.}} | $\ce{RNO2^{-.}}$, \ce{RNO2^{-.}} | ||
Revision as of 14:51, 31 August 2014
Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please [ http://moodle.org/course/view.php?id=5 join the discussion on moodle.org] or use the page comments.
The mhchem package provides commands for typesetting chemical molecular formulae and equations.
Why mhchem?
It is possible to display chemical formulae and equations using TeX mathematics mode. However, it soon becomes cumbersome due to different display conventions (uppercase letters are displayed in italics for mathematics whereas element symbols are upright for chemistry), the complexities of supercript and subscript notation, isotopes, equillibrium reaction arrows etc. The mhchem extension allows a more adaptable display and more natural input of chemical formulae and equations. In Moodle, mhchem syntax can use text input directly into an HTML editor (TinyMCE or Atto) or by an Atto chemistry plugin (similar to the equation plugin).
Installation
The mhchem package can be integrated with Moodle in one of two ways.
via MathJax
The simplest way is by using MathJax to render TeX notation and include the mhchem extension. To do this, mhchem needs to be added to the MathJax configuration.
In Administration > Site administration > Plugins > Filters > Mathjax > Local Mathjax installation, edit the Mathjax configuration to include mhchem.js in the TeX extensions:
TeX: { extensions: ["mhchem.js","color.js","AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"] },
via LaTeX
Alternatively, the mhchem bundle can be installed alongside LaTex on the Moodle server, and then used with the text filter. Installation details will depend on the sever operating system. Most Linux distributions can use their standard package manager to install mhchem and dependencies. For RedHat, Fedora, CentOS etc this is simply:
yum install texlive-mhchem
Once installed, in your Moodle Administration > Site administration > Plugins > Filters > TeX notation > LaTeX renderer Settings, add the following to the LaTeX preamble:
\usepackage{mhchem}
The following gives a filled arrowhead style, which may be preferred.
\usepackage[arrows=pgf-filled]{mhchem}
Basics
The default TeX delimiters are \[...\] or $$...$$ for displayed mathematics, and \(...\) for in-line mathematics. For mhchem the additional delimiter \ce{...} is required inside the mathematcs delimeters i.e. \[\ce{...}\] or $$\ce{...}$$ for displayed chemical formulae, and \(\ce{...}\) for in-line chemical formulae. In the rest of this document the TeX delimiters are not explicitly shown.
\ce{H2O}
\ce{Sb2O3}
\ce{H+}
\ce{CrO4^2-}
\ce{AgCl2-}
\ce{[AgCl2]-}
\ce{Y^{99}+}
\ce{H2_{(aq)}}
\ce{NO3-}
\ce{(NH4)2S}
Amounts
Place amounts directly in front of a formula. A small space will be inserted automatically.
\ce{2H2O}
\ce{1/2H2O}
Isotopes
\ce{^{227}_{90}Th+}
Fonts
When you are in a math environment (e.g. opened and closed with a \[...\], \(...)\ or $$...$$), you could simply use \ce to set content in an upright font. Remember: all variables—like V for volume—are set using an italic font, physical units and chemical elements are set using an upright font.
$V_{\ce{H2O}}$
When used in text mode, \ce adapts to the current text font. You could simply write a formula in one of your section titles it would be set with the correct, no matter where is appears (sectiontitle, header, contents, references, ...).
,
\ce{H2O}, $\ce{H2O}$
\ce{Ce^{IV}}
There are some special cases. A negative charge (-) in text mode is replaced with a dash (–), because a text minus sign often is too short. All ‘operators’, e.g. ‘+’ and reaction arrows, are always taken from the math font.
Special Symbols
\ce{KCr(SO4)2*12H2O}
\ce{KCr(SO4)2.12H2O}
\cf{[Cd\{SC(NH2)2\}2].[Cr(SCN)4(NH3)2]2}
$\ce{RNO2^{-.}}$, \ce{RNO2^{-.}}
\ce{$\mu\hyphen$Cl}
Bonds
Horizontal bonds can be set using the characters -, = and # (single, double, triple bond) inside a formula (a - at the end of a formula yields a negative charge).
C6H5−CHO
\ce{C6H5-CHO}
X=Y≡Z
\ce{X=Y#Z}
A−B=C≡D
\ce{A\sbond B\dbond C\tbond D}
Different books visualise bonds in extremely different ways. Currently, the minus sign from the math font is used to display the bonds (even in text mode). The bonds are vertically aligned on the math axis. For most math fonts, this is lower than half the height of a capital letter.
The \bond command allows you to typeset some types of special bonds.
A−B=C≡D
\ce{A\bond{-}B\bond{=}C\bond{#}D}
A∼B≃C
\ce{A\bond{~}B\bond{~-}C}
A≅B≅C≅D
\ce{A\bond{~=}B\bond{~--}C\bond{-~-}D}
A···B····C
\ce{A\bond{...}B\bond{....}C}
A→B←C
\ce{A\bond{->}B\bond{<-}C}
Using Math
To use math commands inside \ce, one can enclose the commands with $.
Fe(CN)6/2
\ce{Fe(CN)_{$\frac{6}{2}$}}
xNa(NH4)HPO4 −∆→ (NaPO3)x + xNH3↑ + xH2O
\ce{$x\,$ Na(NH4)HPO4 ->[\Delta](NaPO3)_{$x$} + $x\,$ NH3 ^ + $x\,$ H2O}
Formulae
Reaction Arrows
CO2 + C → 2CO
\ce{CO2 + C -> 2CO}
CO2 + C ← 2CO
\ce{CO2 + C <- 2CO}
CO2 + C ⇌ 2CO
\ce{CO2 + C <=> 2CO}
H+ + OH– ⇌ H2O
\ce{H+ + OH- <=>> H2O}
A ↔ A'
\ce{$A$ <-> $A’$}
CO2 + C −α→ 2CO
\ce{CO2 + C ->[\alpha] 2CO}
CO2 + C −αβ→ 2CO
\ce{CO2 + C ->[\alpha][\beta] 2CO}
As with ^ and _, the content above and below reaction arrows is set in math font. When you want to put descriptive text there, use the \text command. Or, as a shortcut, you could type a ‘T’ between reaction arrow and opening bracket.
CO2 + C −above→ 2CO
\ce{CO2 + C ->[\text{above}] 2CO}
CO2 + C −abovebelow→ 2CO
\ce{CO2 + C ->[\text{above}][\text{below}] 2CO}
CO2 + C −abovebelow→ 2CO
\ce{CO2 + C ->T[above][below] 2CO}
Similarly, there is a shortcut for using \ce with reaction arrows:
A −H2O→ B
\ce{$A$ ->[\ce{+H2O}] $B$}
A −H2O→ B
\ce{$A$ ->C[+H2O] $B$}
Precipitate and Gas
Use v or (v) for precipitate (arrow down) and ^ or (^) for gas (arrow up), both separated by spaces.
SO42– + Ba2+ → BaSO4↓
\ce{SO4^2- + Ba^2+ -> BaSO4 v}
Watch Out! Please be aware that you sometimes have to enclose spaces in braces. In particular, you have to do so, when they appear between brackets that belong to an reaction arrow.
A ←enclose spaces!→ A
\ce{$A$ <->T[{enclose spaces!}] $A’$}
Further Examples
\ce{Zn^2+ <=>[\ce{+ 2OH-}][\ce{+ 2H+}]$\underset{\text{amphoteric hydroxide}}{\ce{Zn(OH)2 v}}$<=>C[+2OH-][{+ 2H+}]$\underset{\text{tetrahydroxozincate}}{\cf{[Zn(OH)4]^2-}}$}
Zn2+ ⇌ Zn(OH)2↓ ⇌ [Zn(OH)4]2–
$K = \frac{[\ce{Hg^2+}][\ce{Hg}]}{[\ce{Hg2^2+}]}$
K = [ Hg 2 + ][ Hg ] [ Hg 2 + 2 ]
\ce{Hg^2+ ->[\ce{I-}]$\underset{\mathrm{red}}{\ce{HgI2}}$->C[I-]$\underset{\mathrm{red}}{\ce{[Hg^{II}I4]^2-}}$}
Hg2+ −→ HgI2 −→[HgIII4]2–