Chemmacros Manual
Chemmacros Manual
v6.2a 2022/03/11
comprehensive support for typesetting chemistry documents
https://github.com/cgnieder/chemmacros
–
− 2e
0 + −I –
2 Na0 + Cl 2 2 NaI + 2 Cl
–
+ 2e
Table of Contents
I. Preliminaries 3 6.2. Macros Defined (Not Only)
For Usage in \iupac . . . . . . 12
1. License 3 6.3. One-letter Macros . . . . . . . 12
6.4. Greek Letters . . . . . . . . . . 13
2. Motivation and Background 3 6.5. Hetero Atoms and added Hy-
drogen . . . . . . . . . . . . . 13
3. The Structure of c h e m m ac r o s 3 6.6. Cahn-Ingold-Prelog . . . . . . 14
3.1. General Structure . . . . . . . 3 6.7. Fischer . . . . . . . . . . . . . 14
3.2. c h e m m ac r o s’ Options . . . 4 6.8. cis/trans, zusammen/entge-
3.3. Support Package c h e m f o r - gen, syn/anti & tert . . . . . . 15
mula . . . . . . . . . . . . . . 5 6.9. ortho/meta/para . . . . . . . . 15
3.4. Upgrading from version 5.𝑥 . . 5 6.10. Absolute Configuration . . . . 15
6.11. Coordination Chemistry . . . 15
6.12. Examples . . . . . . . . . . . . 16
II. Main Modules 6 6.13. Own \iupac Macros And
Shorthands . . . . . . . . . . . 16
4. The acid-base Module 6 6.14. Latin Phrases . . . . . . . . . . 17
1
10. The formula Module 22 21. The spectroscopy Module 50
10.1. For Users . . . . . . . . . . . . 22 21.1. The \NMR Command . . . . . . 50
10.2. Using the chemformula Package 23 21.2. Short Cuts . . . . . . . . . . . 51
10.3. Using the mhchem Package . 23 21.3. An Environment to Typeset
10.4. Using the chemfig Package . . 23 Experimental Data . . . . . . . 51
10.5. Using the chemist Package . . 24 21.4. Customization . . . . . . . . . 52
10.6. For Module Writers . . . . . . 24 21.5. An Example . . . . . . . . . . 54
21.6. Nearly Standard . . . . . . . . 55
11. The greek Module 24 21.7. Formatted List . . . . . . . . . 55
21.8. Crazy . . . . . . . . . . . . . . 56
III. Additional Modules 25 22. The thermodynamics Module 56
22.1. The \state Macro . . . . . . . 57
12. The isotopes Module 25
22.2. Thermodynamic Variables . . 57
13. The mechanisms Module 26 22.3. Create New Variables or Re-
define Existing Ones . . . . . . 59
14. The newman Module 27
23. The units Module 60
15. The orbital Module 28
2
C. References 71 D. Index 74
Part I.
Preliminaries
1. License
Permission is granted to copy, distribute and/or modify this software under the terms of the
LATEX Project Public License (LPPL), version 1.3c or later (http://www.latex-project.org/
lppl.txt). The software has the status “maintained.”
• A comprehensive set of macros! If there are any needs you might have with respect to
typesetting of chemistry which is not supported by this package3 then let me know so
c h e m m ac r o s can be extended.
• The commands shall not only make typesetting easier and faster but also the document
source more readable with respect to semantics (\ortho-dichlorobenzene is easier to
read and understand than \textit{o}-dichlorobenzene); the first variant in my opinion
also is more in the spirit of LATEX 2𝜀 .
• As much customizability as I could think of so every user can adapt the commands to his
or her own wishes. Every now and then users have wishes which can’t be solved with
the available options. Almost always I’ll add options then. If you find something please
contact me, see section B starting on page 71.
Especially the last point in the past needed some pushing from users to get things right in many
places. If you find anything not compliant with IUPAC recommendations please contact me,
see section B starting on page 71. Don’t forget to add references for the corresponding IUPAC
recommendation.
3. Not including needs already solved by other packages such as chemnum or chemfig.
3
3. The Structure of c h e m m ac r o s
way it is a logical consequence from c h e m m ac r o s’ history: since version 2.0, i. e., since the
fall of 2011 c h e m m ac r o s already had modular options.
Since version 6.0 the different modules of c h e m m ac r o s are divided into three groups:
1. Core modules which provide underlying functionality or basic functionality and which
are not of direct interest from a user perspective but might be if you plan to write a
module yourself (see section A for details). These modules are described in part IV of this
manual.
2. Main modules which provide all the stuff for typesetting and which are always loaded.
These modules are described in part II of this manual.
3. Additional modules which are also loaded in the default setup. They are not loaded if
chemmacros is loaded with the minimal setup: \usepackage[minimal]{chemmacros}.
These modules are described in part III of this manual.
These options only can be used in the optional argument of \usepackage. All other of chem-
mac r o s’ options are set using the command
When an option is described then in the left margin the module the option belongs to is
denoted. This looks something like this:
An option or list of options belonging to a module module can be set in two ways:
4
3. The Structure of c h e m m ac r o s
1 % first possibility:
2 \chemsetup[module]{
3 option1 = value ,
4 option2 = value
5 }
6 % second possibility:
7 \chemsetup{
8 module/option1 = value ,
9 module/option2 = value
10 }
The second way allows to set options belonging to different modules with one call of
\chemsetup.
c h e m m ac r o s has some core options which don’t belong to any of the modules described
in parts II and III. Those options have no module denoted in the left margin next to their
descriptions and are also set without specifying a module:
1 \chemsetup{
2 option1 = value ,
3 option2 = value
4 }
Some internal modules may also define core options, e. g., the lang module, see section 26
starting on page 64.
• The compatibility mode and all its commands have been dropped.
• The option modules now is a load-time option and cannot be set through \chemsetup
any more. The command \usechemmodule has been dropped.
• Per default all modules are now loaded. A new option minimal allows to load c h e m -
macros with smallest subset necessary. Then additional modules can be added with the
modules.
5
• A new module reactants has been added, thanks to Sonja K .!
Part II.
Main Modules
The modules described in this part are always loaded by chemmacros, even in the minimal
setup.
\pH
pH
\pOH
pOH
\Ka
𝐾a , depends on language settings, see section 26 starting on page 64. The translations can be
adapted.
\Kb
𝐾b
\Kw
𝐾w
\pKa[ ⟨num⟩ ]
\pKa: p𝐾a , \pKa[1]: p𝐾a1 , depends on language settings, see section 26 starting on page 64. The
translations can be adapted.
\pKb[ ⟨num⟩ ]
\pKb: p𝐾b , \pKb[1]: p𝐾b1
\p{ ⟨anything⟩ }
e. g. \p{\Kw} p𝐾w
There is one option which changes the style the p is typeset, other options allow to change
the subscript of the constants:
6
4. The acid-base Module
pH, p𝐾a
pH, p𝐾a
pH, p𝐾a
As you can see the default subscripts of \Kw, \Ka and \Kb are lowercase letters. The literature
is inconclusive about if this is the right way or if uppercase letters should be preferred. In
textbooks the uppercase variant usually seems to be used while journals seem to prefer the
lowercase variant. chemmacros’ default follows the usage in The IUPAC Green Book [Coh+08].
If you want to change this you have two possibilities:
p𝐾A
Introduced in The constants 𝐾a , 𝐾b , and 𝐾w were defined using the following commands:
version 5.4
\NewChemEqConstant{ ⟨cs⟩ }{ ⟨name⟩ }{ ⟨subscript⟩ }
Define the constant ⟨cs⟩ with the name ⟨name⟩ and the subscript ⟨subscript⟩. This also defines the
default translation with the key ⟨name⟩ using ⟨subscript⟩ as fallback translation (see section 26
starting on page 64 for details). It also defines the option ⟨name⟩ for setting the subscript.
\RenewChemEqConstant{ ⟨cs⟩ }{ ⟨name⟩ }{ ⟨default
appearance⟩ }
The same as \NewChemEqConstant but renews an existing command.
\DeclareChemEqConstant{ ⟨cs⟩ }{ ⟨name⟩ }{ ⟨default
appearance⟩ }
The same as \NewChemEqConstant but overwrites existing commands.
\ProvideChemEqConstant{ ⟨cs⟩ }{ ⟨name⟩ }{ ⟨default
appearance⟩ }
The same as \NewChemEqConstant but doesn’t throw an error if ⟨cs⟩ already exists.
This is how \Ka is defined:
7
5. The charges Module
1 \NewChemEqConstant\Ka{K-acid}{\mathrm{a}}
\fminus
⃝
– formal negative charge
\scrp
+ scriptstyle positive charge (e. g., for usage in chemfig’s [Tel21] formulas).
\scrm
– scriptstyle negative charge (e. g., for usage in chemfig’s formulas).
\fscrp
⃝
+ scriptstyle formal positive charge (e. g., for usage in chemfig’s formulas).
\fscrm
⃝
– scriptstyle formal negative charge (e. g., for usage in chemfig’s formulas).
\fsscrp
⃝
+ scriptscriptstyle formal positive charge (e. g., for usage in chemfig’s formulas).
\fsscrm
⃝
– scriptscriptstyle formal negative charge (e. g., for usage in chemfig’s formulas).
\pch[ ⟨number⟩ ]
positive charge
\mch[ ⟨number⟩ ]
negative charge
\fpch[ ⟨number⟩ ]
formal positive charge
\fmch[ ⟨number⟩ ]
formal negative charge
8
5. The charges Module
1 \chemsetup{
2 charges/circled = all,
3 redox/parse = false,
4 redox/pos = top
5 }
6 \ch{"\ox{\delp,H}" -{} "\ox{\delm,Cl}"} \hspace*{1cm}
7 \chemfig{\chemabove[3pt]{\charge{90=\|,180=\|,270=\|}{Br}}{\delm}-\chemabove
[3pt]{H}{\delp}}
𝛿⃝
+ 𝛿⃝
– 𝛿⃝
– 𝛿⃝
+
H Cl Br H
9
6. The nomenclature Module
1 \NewChemCharge\fpch{\fplus}
2 \NewChemCharge\fmch{\fminus}
These commands define macros like those described in section 5.3 on the previous page.
1 \NewChemPartialCharge\fdelp{\fplus}
2 \NewChemPartialCharge\fdelm{\fminus}
4. The idea and initial implementation is shamelessly borrowed from bpchem by Bjørn Pedersen.
10
6. The nomenclature Module
1 \begin{minipage}{.4\linewidth}
2 \iupac{%
3 Tetra|cyclo[2.2.2.1^{1,4}]-un|decane-2-dodecyl-%
4 5-(hepta|decyl|iso|dodecyl|thio|ester)%
5 }
6 \end{minipage}
Tetracyclo[2.2.2.11,4 ]-undecane-2-
dodecyl-5-(heptadecylisododecyl-
thioester)
The \iupac command is more of a semantic command. In many cases you can achieve
(nearly) the same thing by using \- instead of |, and \textsuperscript instead of ^ without
\iupac. There are some important differences, though:
• The character - inserts a small space before the hyphen and removes a small space after it.
Also usually words with hyphens are only allowed to break at the hyphen. Inside \iupac
the hyphen will not prevent further hyphenation. The amount of inserted space can be
customized.
• The character | not only prevents ligatures but also inserts a small space. The amount of
inserted space can be customized.
• The characters ( and ) allow the word to be hyphenated and don’t prevent further
hyphenation, likewise [ and ].
11
6. The nomenclature Module
The command \iupac serves another purpose, too, however. Regardless of the setting of the
iupac option (see below) all the commands presented in this section are always defined inside
\iupac. Quite a number of the naming commands have very general names: \meta, \D, \E, \L,
\R, \S, \trans and so forth.5 This means they either are predefined already (\L Ł) or are easily
defined by another package or class (the cool package defines both \D and \E, for example). In
order to give you control which commands are defined in which way, there is the option iupac:
• iupac = {auto}: if the commands are not defined by any package or class you’re using
they are available generally, otherwise only inside \iupac.
• iupac = {restricted}: all naming commands are only defined inside \iupac. If the
commands are defined by another package they of course have that meaning outside.
They’re not defined outside otherwise.
• iupac = {strict}: c h e m m ac r o s overwrites any other definition and makes the com-
mands available throughout the document. Of course the commands can be redefined
(but only in the document body). They will still be available inside \iupac then.
12
6. The nomenclature Module
letter α β γ δ κ μ η ω
\chemalpha α
Upright lowercase alpha
\chembeta β
Upright lowercase alpha
\chemgamma γ
Upright lowercase alpha
\chemdelta δ
Upright lowercase alpha
There exist two commands for each of the twenty-four Greek letters: a lowercase and an
uppercase version (\chemalpha and \chemAlpha). Those commands are actually provided by
the c h e m g r e e k package. For more details read section 11 starting on page 24 and also refer
to c h e m g r e e k’s documentation.
There are a number of one-letter commands that some people may find convenient to use
which use above mentioned commands to print Greek letters inside \iupac. They’re listed in
table 2.
1 \iupac{5\chemalpha-androstan-3\chembeta-ol} \par
2 \iupac{\chemalpha-(tri|chloro|methyl)-\chemomega
3 -chloro|poly(1,4-phenylene|methylene)}
5α-androstan-3β-ol
α-(trichloromethyl)-ω-chloropoly(1,4-phenylenemethylene)
\hydrogen H
The italic H for hydrogen. An alias for this command is \H.
\oxygen O
The italic O for oxygen. An alias for this command is \O.
\nitrogen N
The italic N for nitrogen. An alias for this command is \N.
13
6. The nomenclature Module
\sulfur S
The italic S for sulfur. An alias for this command is \Sf.
\phosphorus P
The italic P for phosphorus. An alias for this command is \P.
1 \iupac{\nitrogen-methyl|benz|amide}
2 N -methylbenzamide
3 \iupac{3\hydrogen-pyrrole} 3H -pyrrole
4 O-ethyl hexanethioate
5 \iupac{\oxygen-ethyl hexanethioate}
6.6. Cahn-Ingold-Prelog
\cip{ ⟨conf⟩ }
Typeset Cahn-Ingol-Prelog descriptors, e. g.: \cip{R,S} (R,S). ⟨conf⟩ may be a csv list of entries.
\rectus (R)
The rectus descriptor. An alias for this command is \R.
\sinister (S)
The sinister descriptor. An alias for this command is \S.
Both these commands and the entgegen/zusammen descriptors get a small additional amount
of kerning after the closing parenthesis. This amount can be changed through the following
option:
The entries typeset by and implemented with \cip can be customized further:
6.7. Fischer
\dexter d
The dexter descriptor. An alias for this command is \D.
\laevus l
The laevus descriptor. An alias for this command is \L.
14
6. The nomenclature Module
• \tert tert
6.9. ortho/meta/para
\ortho o \meta m \para p
Although these commands are provided I like to cite The IUPAC Blue Book [PPR04]:
The letters o, m, and p have been used in place of ortho, meta, and para, respectively, to
designate the 1,2-, 1,3-, and 1,4- isomers of disubstituted benzene. This usage is strongly
discouraged and is not used in preferred IUPAC names. [PPR04, p. 90]
\Sconf[ ⟨letter⟩ ]
\Sconf: S \Sconf[]:
Ferrocene = bis(η5-cyclopentadienyl)iron
tetra-μ3-iodido-tetrakis[trimethylplatinum(IV)]
15
6. The nomenclature Module
Introduced in The default behavior of \hapto and \dento has changed with version 5.8 to follow IUPAC
version 5.8 recommendations.
6.12. Examples
1 \iupac{\dexter-Wein|s\"aure} =
2 \iupac{\cip{2S,3S}-Wein|s\"aure} \par
3 \iupac{\dexter-($-$)-Threose} =
4 \iupac{\cip{2S,3R}-($-$)-2,3,4-Tri|hydroxy|butanal} \par
5 \iupac{\cis-2-Butene} =
6 \iupac{\zusammen-2-Butene}, \par
7 \iupac{\cip{2E,4Z}-Hexa|diene} \par
8 \iupac{\meta-Xylol} =
9 \iupac{1,3-Di|methyl|benzene}
d-Weinsäure = (2S,3S)-Weinsäure
d-(−)-Threose = (2S,3R)-(−)-2,3,4-Trihydroxybutanal
cis-2-Butene = (Z)-2-Butene,
(2E,4Z)-Hexadiene
m-Xylol = 1,3-Dimethylbenzene
16
6. The nomenclature Module
A command defined in this way will obey the setting of the option iupac. This means any
existing command is only overwritten with iupac = {strict}. However, \NewChemIUPAC will
not change the definition of an existing IUPAC naming command but issue an error if the
IUPAC naming command already exists. \DeclareChemIUPAC will overwrite an existing IUPAC
command.
1 \NewChemIUPAC\endo{\textsc{endo}}
2 \RenewChemIUPAC\anti{\textsc{anti}}
3 \iupac{(2-\endo,7-\anti)-2-bromo-7-fluoro|bicyclo[2.2.1]heptane}
1 \iupac{\meta-Xylol} \par
m-Xylol
2 \RenewChemIUPAC\meta{\textup{m}}
3 \iupac{\meta-Xylol}
m-Xylol
There’s also a way for defining new IUPAC shorthands or changing the existing ones:
\insitu in situ
\invacuo in vacuo
\abinitio ab initio
17
7. The particles Module
If you additionally load chemstyle [Wri13] said package will not define its own \latin.
The last three commands mentioned above are defined through
\NewChemLatin{ ⟨cs⟩ }{ ⟨phrase⟩ }
Define a new Latin phrase. Gives an error if ⟨cs⟩ already exists.
\DeclareChemLatin{ ⟨cs⟩ }{ ⟨phrase⟩ }
Define a new Latin phrase. Silently redefined existing macros.
\RenewChemLatin{ ⟨cs⟩ }{ ⟨phrase⟩ }
Redefine an existing Latin phrase. Gives an error if ⟨cs⟩ doesn’t exist.
\ProvideChemLatin{ ⟨cs⟩ }{ ⟨phrase⟩ }
Define a new Latin phrase only if ⟨cs⟩ doesn’t exist.
1 \ba[elpair=dots] \Nuc[elpair=dash]
2 ba – Nu –
18
7. The particles Module
1 \NewChemParticle\el {e-}
2 \NewChemParticle\prt{p+}
3 \NewChemParticle\ntr{n^0}
1 \NewChemNucleophile\Nuc{Nu}
2 \NewChemNucleophile\ba {ba}
A macro defined this way will have an optional argument for the elpair option.
19
8. The phases Module
8.1. Basics
These commands are intended to indicate the phase of a compound.
The [. . .] symbols are used to represent the states of aggregation of chemical species.
The letters are appended to the formula in parentheses and should be printed in Roman
(upright) type without a full stop (period). The IUPAC Green Book [Coh+08, p. 54]
1 \chemsetup[phases]{pos=sub}
2 \ch{C\sld{} + 2 H2O\lqd{} -> CO2\gas{} + 2 H2\gas}\par
3 To make it complete: NaCl\aq.
\phase{ ⟨phase⟩ }
If you need a phase indicator just once or twice. You can use it to denote a phase for which
there is no phase command, yet.
20
8. The phases Module
1 % preamble:
2 \NewChemPhase\aqi{aq,$\infty$} % aqueous solution at infinite dilution
3 \NewChemPhase\cd {cd} % condensed phase
4 \NewChemPhase\lc {lc} % liquid crystal
5 \ch{NaOH\aqi} \ch{H2O\cd} \ch{U\phase{cr}} \ch{A\lc}\par
6 \chemsetup[phases]{pos=sub}
7 \ch{NaOH\aqi} \ch{H2O\cd} \ch{U\phase{cr}} \ch{A\lc}
1 \NewChemPhase\liquid{l}
and want to add the German translation “fl”. Then you could do
1 \DeclareTranslation{German}{phase-liquid}{f\/l}
This way, when you use it in a German document using the appropriate babel option using
\liquid would correctly translate. For this the package translations [Nie22d] is used. The ID
always is phase- ⟨csname⟩ where ⟨csname⟩ is the name of the phase command you defined
without leading backslash.
See section 26 starting on page 64 for predefined translations and general language options
of c h e m m ac r o s.
21
9. The symbols Module
\transitionstatesymbol
This is self-explaining:
\standardstate
Again self-explaining: −
◦
\changestate
The uppercase delta used in Δ𝐻 −◦ for example.
• chemfig [Tel21]. The easiest and most complete of the packages for drawing skeletal
formulas.
In order to help authors getting a consistent layout c h e m m ac r o s does not make a choice
which package to use for typesetting formulas. Although c h e m f o r m u l a is well tested and
preferred users can choose other packages if they like.
this is done with the following general option:
If you explicitly set this option the corresponding package is loaded immediately and the method
is set up. Otherwise the option will be set by c h e m m ac r o s at the end of the preamble.
Introduced If you load a method package in a way that a unique choice is possible then chemmacros
in version 5.2 will set the method accordingly if you haven’t set the option by yourself. If no unique choice is
(2015/10/14)
possible chemmacros will raise a warning and choose chemformula regardless if the package
is loaded or not. In this case if you want to use another method you’ll have to choose manually.
All automatic choices only happen at the end of the preamble.
22
10. The formula Module
1 \chemsetup[chemformula]{format=\sffamily}
1 \chemsetup[mhchem]{format=\sffamily}
Everywhere where chemmacros typesets chemical formulas mhchem’s macro \ce is used,
for example in the reaction environments provided by the reactions module.
There are some caveats if you use this method:
• This method has not been extensively tested, yet. There may be errors and wrong output
at unexpected places.
• Using this method effectively disables the different values of the particles option elpair
(see section 7).
• The different kinds of formal charges provided by the charges module (see section 5.2)
are disabled. Formal charges always use the math method now.
• There may also be other incompatibilities (e. g., mhchem has it’s own method of setting
upright Greek letters so it may or may not disable c h e m m ac r o s’ mechanism).
• This method has not been extensively tested, yet. There may be errors and wrong output
at unexpected places.
• Using this method effectively disables the different values of the particles option elpair
(see section 7).
• The different kinds of formal charges provided by the charges module (see section 5.2)
are disabled. Formal charges always use the math method now.
• The reaction environments by the reactions module may work only to a limited respect.
If you plan to use them consider using methods chemformula or mhchem instead.
23
11. The greek Module
• Using this method effectively disables the different values of the particles option elpair
(see section 7).
• The different kinds of formal charges provided by the charges module (see section 5.2)
are disabled. Formal charges always use the math method now.
• The reaction environments by the reactions module may work only to a limited respect.
If you plan to use them consider using methods chemformula or mhchem instead.6
\chemmacros_reaction:n { ⟨reaction⟩ }
This is only a wrapper for \ch or \ce. It is recommended that module writers use this macro
(or a variant thereof) inside of c h e m m ac r o s’ macros whenever they want to display a
chemical reaction. Writers who prefer traditional LATEX 2𝜀 programming over expl3 should use
\chemmacros@reaction.
1 \usepackage{upgreek}
2 \usepackage{chemmacros}
24
1 \usepackage{upgreek}
2 \usepackage{chemmacros}
3 \usepackage{textgreek}
then no unambiguous choice is possible and you should choose a mapping yourself, for
example:
1 \usepackage{upgreek}
2 \usepackage{chemmacros}
3 \usepackage{textgreek}
4 \chemsetup{greek=textgreek}
Part III.
Additional Modules
The modules described in this part are not part of c h e m m ac r o s’ minimal setup.
\isotope*{ ⟨input⟩ }
⟨input⟩ can either be the symbol of an element or the name of an element. Be aware that the
name is language dependent, refer to the manual of the elements package for details. To be on
the safe side use the element symbol.
⟨input⟩ can also be comma separated list: \isotope{ ⟨nuc⟩ , ⟨symbol⟩ }. If you leave ⟨nuc⟩ out
then \isotope will display the most common isotope. Otherwise ⟨nuc⟩ will be used. If ⟨nuc⟩ is
an isotope unknown to the elements package \isotope will write a warning to the log file.
The starred variant omits the element number.
1 \isotope{C}
2 \isotope*{C} 12 12 14 14
3 \isotope{14,C} 6C C 6C C
4 \isotope*{14,C}
As input for the element symbol you can choose any of the elements known to the elements
package.
There are options which allow you to determine how the isotope is printed:
25
13. The mechanisms Module
1 \isotope{C}
2 \chemsetup[isotopes]{format=side}
\isotope{C} 12
3
6C C-12 C12
4 \chemsetup[isotopes]{side-connect=}
5 \isotope{C}
\mech[ ⟨type⟩ ]
Allows to specify the most common reaction mechanisms.
\mech
(empty, no opt. argument) nucleophilic substitution SN
\mech[1]
unimolecular nucleophilic substitution SN 1
\mech[2]
bimolecular nucleophilic substitution SN 2
\mech[se]
electrophilic substitution SE
\mech[1e]
unimolecular electrophilic substitution SE 1
\mech[2e]
bimolecular electrophilic substitution SE 2
\mech[ar]
electrophilic aromatic substitution Ar-SE
\mech[e]
elimination E
\mech[e1]
unimolecular elimination E1
\mech[e2]
bimolecular elimination E2
\mech[cb]
unimolecular elimination “conjugated base”, i. e., via carbanion E1cb
26
14. The newman Module
1 \newman{} \newman(170){}
2 \newman{1,2,3,4,5,6} \newman{1,2,3} \newman{,,,4,5,6}
1
1
6 5 6 5
2 3
2 3
4 4
1 \chemsetup[newman]{angle=45} \newman{}
2 \newman[scale=.75,ring={draw=blue,fill=blue!20}]{}
27
15. The orbital Module
1
6 5
2 3
4
1 \chemsetup[newman]{
2 atoms = {draw=red,fill=red!20,inner sep=2pt,rounded corners},
3 back-atoms = {draw=blue,fill=blue!20,inner sep=2pt,rounded corners}
4 }
5 \newman{1,2,3,4,5,6} \newman(170){1,2,3,4,5,6}
1
5 14
6
2 3
5
2 3
4 6
Depending on the type you have different options to modify the orbitals:
orbital » phase = +|- Default: +
changes the phase of the orbital (all types)
orbital » scale = { ⟨factor⟩ } Default: 1
changes the size of the orbital (all types)
orbital » color = { ⟨color⟩ } Default: black
changes the color of the orbital (all types)
28
15. The orbital Module
1 \orbital{s} \orbital[phase=-]{s}
2 \orbital{p} \orbital[phase=-]{p}
3 \orbital{sp3} \orbital[phase=-]{sp3}
4
5 \orbital[angle=0]{p} \orbital[color=red!50]{p}
6 \orbital[angle=135,scale=1.5]{p} \orbital[half]{p}
Additionally there are two options, with which the TikZ behavior can be changed.
1 \vspace{7mm}
2 \chemsetup[orbital]{
3 overlay,
4 p/color = black!70
5 }
6 \setchemfig{bond offset=0pt}
7 \chemfig{
8 ?\orbital{p}
9 -[,1.3]{\orbital[phase=-]{p}}
10 -[:30,1.1]\orbital{p}
11 -[:150,.9]{\orbital[phase=-]{p}}
12 -[4,1.3]\orbital{p}
13 -[:-150,1.1]{\orbital[phase=-]{p}}?
14 }
15 \vspace{7mm}
29
16. The polymers Module
1 \vspace{7mm}
2 \setchemfig{bond offset = 0pt}
3 \chemsetup[orbital]{
4 overlay ,
5 opacity = .75 ,
6 p/scale = 1.6 ,
7 s/color = blue!50 ,
8 s/scale = 1.6
9 }
10 \chemfig{
11 \orbital{s}
12 -[:-20]{\orbital[scale=2]{p}}
13 {\orbital[half,angle=0]{p}}
14 {\orbital[angle=170,half]{p}}
15 {\orbital[angle=-150,half]{p}}
16 (-[:-150]\orbital{s})-\orbital{s}
17 }
18 \vspace{1cm}
16.2. Copolymers
\copolymer co
unspecified copolymer. An alias for this command is \co.
\statistical stat
statistical copolymer. An alias for this command is \stat.
30
16. The polymers Module
\random ran
random copolymer. An alias for this command is \ran.
\alternating alt
alternating copolymer. An alias for this command is \alt.
\periodic per
periodic copolymer. An alias for this command is \per.
\block block
block copolymer.
\graft graft
graft copolymer.
\comb comb
The comb qualifier.
\complex compl
The complex qualifier. An alias for this command is \compl.
\cyclic cyclo
The cyclic qualifier. An alias for this command is \cyclo.
\branch branch
The branch qualifier.
\network net
The network qualifier. An alias for this command is \net.
\ipnetwork ipn
The interpenetrating network qualifier. An alias for this command is \ipn.
\sipnetwork sipn
The semi-interpenetrating network qualifier. An alias for this command is \sipn.
\star star
The star qualifier.
31
17. The reactions Module
1 \setchemfig{atom sep=2em}
2 \chemfig{-[@{op,.75}]CH_2-CH(-[6]Cl)-[@{cl,0.25}]}
3 \makepolymerdelims{5pt}[27pt]{op}{cl}
4 \chemfig{-[@{op,.75}]CH_2-CH(-[6]Cl)-[@{cl,0.25}]}
5 \makepolymerdelims[delimiters=()]{5pt}[27pt]{op}{cl}
CH2 CH © CH2 CH ª
®
Cl 𝑛 « Cl ¬𝑛
\begin{reaction}
A single reaction where c h e m f o r m u l a code is placed directly in the environment body. A
wrapper around the equation environment. The environment body is parsed with \ch or \ce
depending on the value of the formula option, see section 10 starting on page 22.
\begin{reactions}
Several aligned reactions. A wrapper around amsmath’s align environment. The environment
body is parsed with \ch or \ce depending on the value of the formula option, see section 10
starting on page 22.
\begin{reaction*}
A wrapper around the equation* environment. The environment body is parsed with \ch or
\ce depending on the value of the formula option, see section 10 starting on page 22.
\begin{reactions*}
A wrapper around amsmath’s align* environment. The environment body is parsed with \ch
or \ce depending on the value of the formula option, see section 10 starting on page 22.
With those environments you can create (un)numbered reaction equations similar to mathe-
matical equations.
Theses environments use the equation/equation* environments or the align/align* envi-
ronments, respectively, to display the reactions.
32
17. The reactions Module
A B+C {2}
D+E F {3}
G H+I
J+K L
If you want to change the layout of the counter tags, you can use
\renewtagform{ ⟨tagname⟩ }[ ⟨format⟩ ]{ ⟨left delimiter⟩ }{ ⟨right delimiter⟩ }
Provided by the mathtools package.
or use the following options:
reactions » tag-open = { ⟨left delimiter⟩ } Default: \{
Introduced in The left delimiter.
version 5.6
33
17. The reactions Module
1 \chemsetup[reactions]{
2 before-tag = R \textbf ,
3 tag-open = [ ,
4 tag-close = ]
5 }
6 \begin{reaction}
7 H2O + CO2 <<=> H2CO3
8 \end{reaction}
Introduced You can also make reactions share a counter with math equations (by using the equation
in version 6.1 counter).
(2022/02/13)
reactions » own-counter = true|false Default: true
If set to false the reaction environments will use the equation counter instead of the reaction
counter.
1 \begin{reactions}
2 A + 2 B &-> 3 C + D "\label{rxn:test}"
3 \intertext{Some text in between aligned reactions}
4 3 E + F &<=> G + 1/2 H
5 \end{reactions}
6 See reaction~\ref{rxn:test}.
A + 2B 3C + D {5}
17.2. Cross-Referencing
Introduced in If you are using either cleveref [Cub18] or fancyref [Rei99] and have set own-counter = {true}
version 5.6 the reaction counter is supported by both packages and already set up by c h e m m ac r o s.
For fancyref c h e m m ac r o s’ uses the prefix rct by defining the following:
34
17. The reactions Module
1 \newcommand*\fancyrefrctlabelprefix{rct}
You can of course redefine \fancyrefrctlabelprefix into whatever suits you best.
Also hyperref’s \autoref is supported.
reactions » autoref-name = { ⟨name⟩ } Default: \ChemTranslate{reaction}
Introduced in Change the name used by hyperref’s \autoref.
version 6.1
Alternatively you can just redefine \reactionautorefname.
1 \NewChemReaction{reaction} {equation}
2 \NewChemReaction{reaction*} {equation*}
3 \NewChemReaction{reactions} {align}
4 \NewChemReaction{reactions*}{align*}
Let’s suppose, you’d like to have the alignment behavior of the alignat environment for
ch e m f o r m u l a reactions. You could do the following:
1 \NewChemReaction{reactionsat}[1]{alignat}
1 \NewChemReaction{reactionsat}[1]{alignat}
2 \NewChemReaction{reactionsat*}[1]{alignat*}
3 \begin{reactionsat}{3}
4 A &-> B &&-> C &&-> D \\
5 aaaaa &-> bbbbb &&-> ccccc &&-> ddddd
6 \end{reactionsat}
7 \begin{reactionsat*}{2}
8 A &-> B & C &-> D \\
35
17. The reactions Module
A B C D {7}
aaaaa bbbbb ccccc ddddd {8}
A B C D
aaaaa bbbbb ccccc ddddd
\listofreactions
Print a list of reactions.
1 \listofreactions
List of Reactions
Reaction {1} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Reaction {2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Reaction {3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Reaction [R 4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Reaction {5} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Reaction {6} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Reaction {7} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Reaction {8} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Reaction {9}: Autoprotolyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Reaction {10}: first step of chain . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Reaction {11}: second step of chain . . . . . . . . . . . . . . . . . . . . . . . . . 37
36
18. The reactants Module
This command has no effect if a KOMA-Script class or the package tocbasic is used. The list of
reactions then obeys KOMA - Script’s listof option.
Instead of using the option list-name you also could redefine \reactionlistname.
The list lists all reactions with a number and disregards reactions without number. All reaction
environments without star have an optional argument which let’s you add a description (or
caption) for the entry in the list.
1 \begin{reaction}[Autoprotolyse]
2 2 H2O <<=> H3O+ + OH-
3 \end{reaction}
If you use the reactions environment this will not work, though. In this case you can use
\AddRxnDesc{ ⟨description⟩ }
Add a description to a reaction.
1 \begin{reactions}
2 "\chlewis{0.}{Cl}" + CH4 &
3 -> HCl + "\chlewis{180.}{C}" H3 \AddRxnDesc{first~step~of~chain} \\
4 "\chlewis{180.}{C}" H3 + Cl2 &
5 -> CH3Cl + "\chlewis{0.}{Cl}" \AddRxnDesc{second~step~of~chain}
6 \end{reactions}
37
18. The reactants Module
name = { ⟨name⟩ }
Mandatory property: the name of the substance.
short = { ⟨abbreviation⟩ }
Optional property: a short form of the name, used when the reactants module is used in
combination with the acronym-support option, see section 18.5 starting on page 43.
1 \DeclareChemReactant{thf}{name={tetrahydrofuran}, short={THF}}
2 \DeclareChemReactant{H2SO4}{name={\ch{H2SO4}}}
3 \DeclareChemReactant{dichloropentane}{name={\iupac{2,4-di|chloro|pentane}}}
38
18. The reactants Module
upper case version of a solvent’s name. The corresponding text must be defined through
\DeclareChemReactant’s upper-name option. s and l suffixed variants exist and are discussed
later.
⟨data and units⟩ accepts a comma separated list of key-value pairs. Valid keys, acceptable
values as well as their defaults are listed in table 3 on the next page.
Typical uses will look like this:
1 \reactant{dichloropentane}
2 \reactant[volume=5]{dichloropentane}
3 \reactant[volume=0.5, volume-unit=\L]{dichloropentane}
4 \solvent{thf}
5 \solvent[volume=200]{thf}
6 \solvent[volume=1.5, volume-unit=\L]{thf}
\printreactants
Prints a list of number and name of all reactants used throughout the document. The resulting list
is sorted by number and also includes compounds numbered with chemnum’s \cmpd command.
The starred variant also includes the ⟨ID⟩ in the list of reactants. Using printreactants-style
different styles can be selected. (See section 18.6 starting on page 44).
18.3. Options
reactants » initiate = true|false Default: false
The chemnum package that is internally used for numbering the reactants offers two ways of
initiating a new label: either when \cmpd is first used or through \initcmpd. The reactants
module also offers these two methods with initiating a new label upon the first use of a reactant
being the default. If you prefer to initiate a new label through the \DeclareChemReactant
command set this option to true.
Reactants are automatically numbered in the order of their first appearance, while initiate
numbers the compounds in the order in which they were declared in the preamble or in an
external document.
Other options are described at later places when the corresponding behavior is described.
39
18. The reactants Module
⟨data and units⟩ accepts a comma separated list of key-value pairs with the available keys
and their default units/values listed in table 3. Key-value pairs can be input in any order
as they are categorized and rearranged internally according to the order in which they are
listed in table 3. Customization of this order is thus far somewhat limited. The available
customization possibilities are described in section 18.3.2 on the next page. Since numbers and
their corresponding units are processed using siunitx, the usual \sisetup command can be
used to alter, for example, the output decimal separator according to your needs. Be aware,
though, that you must surround a number with a set of {} if you use a comma as input decimal
separator. Otherwise the decimal places will be truncated without a warning.
solution here refers to the text that links concentration and solvent. This text auto-
matically adapts to the document language set via babel or polyglossia. Currently, the En-
glish fallback, as well as the German translation are included in the package. If you write
in a different language (or just don’t like the predefined text), you can use the command
\DeclareChemTranslation{ ⟨key⟩ }{ ⟨language⟩ }{ ⟨translation⟩ } (with ⟨key⟩ = {solution}) as
described in section 26 starting on page 64 in order to supply your own translation.
1 % in the preamble:
2 % \DeclareChemReactant{nBuLi}{name={\iupac{\textit{n}=butyllithium}}}
3 % \DeclareChemReactant{Br2benzene}{name={\iupac{1,4=di|bromo|benzene}}}
4 % \DeclareChemReactant{HBr}{name={\ch{HBr\aq}}}
5
6 \reactant[volume=5.00, amount=12.5, equiv=1.00, concentration=2.5, solvent=
hexane]{nBuLi}\par
7 \reactant[mass=3.9, amount=15.6, equiv=1.3, purity=95]{Br2benzene}\par
8 \reactant[volume=2.0, amount=43.8, equiv=3.5, fraction=65]{HBr}
n-butyllithium 1 (5.00 mL, 12.5 mmol, 1.00 eq, 2.5 m solution in hexane)
1,4-dibromobenzene 2 (3.9 g, 15.6 mmol, 1.3 eq, 95 %)
HBr (aq) 3 (2.0 mL, 65 w/w%, 43.8 mmol, 3.5 eq)
The options that change the units of the properties can be set with \chemsetup or in the
optional argument of \reactant. Accepted units are units defined by the siunitx package or by
the units module.
reactants » mass-unit = { ⟨unit⟩ } Default: \gram
Ta b l e 3 : Overview of available keys as well as the default units and the option to locally or globally
change that default unit.
Key default unit option
mass g mass-unit
volume mL volume-unit
fraction w/w% fraction-unit
amount mmol amount-unit
equiv eq equiv-unit
purity % purity-unit
concentration m concentration-unit
solvent n.a.
solution-name solution in solution
40
18. The reactants Module
1 \reactant[volume=5.5]{thf} \par
2 \reactant[volume=5, volume-unit=\cubic\centi\metre]{thf}
name here refers to the combination of name and number (or if just one of them is available,
to either name or number).
main here refers to the mass or volume of a reactant or solvent. If needed, equiv and/or
amount can also be assigned to the main category.
other here refers to all the other data that is give to the reactant command.
The names of the reactant-output-style and solvent-output-style choice options refer
to the order in which the contents of the categories are typeset.
1 \chemsetup[reactants]{reactant-output-style=name-main-other}
2 \reactant[volume=5, amount=4]{dichloropentane}\par
41
18. The reactants Module
3 \chemsetup[reactants]{reactant-output-style=main-name-other}
4 \reactant[volume=5, amount=4]{dichloropentane}\par
5 \chemsetup[reactants]{reactant-output-style=main-other-name}
6 \reactant[volume=5, amount=4]{dichloropentane}
7
8 \chemsetup[reactants]{solvent-output-style=name-main}
9 \solvent[volume=5]{thf}\par
10 \chemsetup[reactants]{solvent-output-style=main-name}
11 \solvent[volume=5]{thf}
1 \chemsetup[reactants]{main=amount}
2 \reactant[equiv=2.0, amount=5]{dichloropentane}\par
3 \chemsetup[reactants]{main=equiv}
4 \reactant[equiv=2.0, amount=5]{dichloropentane}\par
5 \chemsetup[reactants]{main=default}
6 \reactant[equiv=2.0, amount=5]{dichloropentane}
If you also use the hyperref package in combination with PDF bookmarks, you might want
to use the optional bookmark property of \DeclareChemReactant to supply an alternative text
42
18. The reactants Module
to name to be displayed inside of the PDF bookmarks. To later use such a predefined solvent
or reactant, use one of the following three commands, that are defined analogously to chem-
num‘s \cmpdplain. All three commands also exist in the upper case variant (\Reactantplain,
\Submainreactantplain and \Solventplain) which can be used to display the upper case
version of a reactant or solvent’s name. The upper case version of the name must be declared
previously through \DeclareChemReactant’s upper-name and upper-bookmark options.
\reactantplain{ ⟨ID⟩ }
Outputs the value of bookmark inside of the PDF bookmark, while using the reactant’s name
inside of the section headings.
\solventplain{ ⟨ID⟩ }
Outputs the value of bookmark inside of the PDF bookmark, while using the solvent’s name
inside of the section headings.
\reactants{ ⟨ID⟩ }
Output the short version of the reactant’s name.
\reactantl{ ⟨ID⟩ }
Output the name version of the reactant’s name.
\solvents{ ⟨ID⟩ }
Output the short version of the solvent’s name.
\solventl{ ⟨ID⟩ }
Output the name version of the solvent’s name.
1 % in the preamble:
2 % \DeclareChemReactant{dcm}{name={dichloromethane}, short={DCM}}
3 \solvent{dcm}\par
4 \solventl{dcm}\par
5 \solvents{dcm}
43
19. The redox Module
dichloromethane
dichloromethane
DCM
There are a number of options that can be used to modify the typeset result:
44
19. The redox Module
The pos = {top} variant also can be set with the shortcut \ox*:
III
1 \ox{3,Fe} \ox*{3,Fe}
FeIII Fe
Using the explicit-sign option will always show the sign of the oxidation number:
1 \chemsetup[redox]{explicit-sign = true}
2 \ox{+1,Na}, \ox{2,Ca}, \ox{-2,S}, \ch{"\ox{0,F}" {}2}
45
19. The redox Module
1 \chemsetup[redox]{pos=top}
2 Compare \ox{-1,O2^2-} to \ch{"\ox{-1,O}" {}2^2-}
−I −I
Compare O22– to O22–
Sometimes one might want to use formal oxidation numbers like 0.5 or 1⁄3:
1 \chemsetup[redox]{pos=top}
2 \ox{.5,Br2}
0.5 1⁄3
3 \ch{"\ox{1/3,I}" {}3+} Br2 I3+
4
I3+ (1⁄3)
5 \chemsetup[redox]{pos=side}
6 \ox{1/3,I3+}
The fraction is displayed with the help of the xfrac package [L3P]. For more details on how
ch e m m ac r o s uses it read section 28 starting on page 68.
\OX places ⟨atom⟩ into a node, which is named with ⟨name⟩. If you have set two \OX, they
can be connected with a line using \redox. To do so the names of the two nodes that are to be
connected are written in the round braces. Since \redox draws a tikzpicture with options
remember picture,overlay, the document needs to be compiled at least two times.
1 \vspace{7mm}
2 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b){oxidation}
oxidation
Na → Na+
1 \vspace{7mm}
2 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox}
46
19. The redox Module
ox
Na → Na+
With the argument [ ⟨num⟩ ] the length of the vertical parts of the line can be adjusted. The
default length is .6em. This length is multiplied with ⟨num⟩. If you use a negative value the line
is placed below the text.
1 \vspace{7mm}
2 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch
3 \redox(a,b)[->,red]{ox}
4 \redox(a,b)[<-,blue][-1]{red}
5 \vspace{7mm}
ox
Na → Na+
red
The default length of the vertical lines can be customized with the option
1 \vspace{7mm}
2 \chemsetup{redox/dist=1em}
3 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox}
ox
Na → Na+
1 \vspace{7mm}
2 \chemsetup{redox/sep=.5em}
3 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox}
ox
Na → Na+
47
19. The redox Module
19.3. Examples
1 \vspace{7mm}
2 \ch{
3 2 "\OX{o1,Na}" + "\OX{r1,Cl}" {}2
4 ->
5 2 "\OX{o2,Na}" {}+ + 2 "\OX{r2,Cl}" {}-
6 }
7 \redox(o1,o2){\small OX: $- 2\el$}
8 \redox(r1,r2)[][-1]{\small RED: $+ 2\el$}
9 \vspace{7mm}
OX: −2e–
1 \vspace{7mm}
2 \ch{
3 2 "\OX{o1,\ox*{0,Na}}" + "\OX{r1,\ox*{0,Cl}}" {}2
4 ->
5 2 "\OX{o2,\ox*{+1,Na}}" {}+ + 2 "\OX{r2,\ox*{-1,Cl}}" {}-
6 }
7 \redox(o1,o2){\small OX: $- 2\el$}
8 \redox(r1,r2)[][-1]{\small RED: $+ 2\el$}
9 \vspace{7mm}
OX: −2e–
0 0 I −I
2 Na + Cl2 2 Na+ + 2 Cl–
RED: +2e–
1 \vspace{14mm}
2 \ch{
3 2 "\OX{o1,\ox*{0,Na}}" + "\OX{r1,\ox*{0,Cl}}" {}2
4 ->
5 2 "\OX{o2,\ox*{+1,Na}}" {}+ + 2 "\OX{r2,\ox*{-1,Cl}}" {}-
6 }
7 \redox(o1,o2)[draw=red,->][3.33]{\small OX: $- 2\el$}
8 \redox(r1,r2)[draw=blue,->]{\small RED: $+ 2\el$}
OX: −2e–
RED: +2e–
0 0 I −I
2 Na + Cl2 2 Na+ + 2 Cl–
48
20. The scheme Module
1 \vspace{7mm}
2 \ch{
3 2 "\OX{o1,\ox*{0,Na}}" + "\OX{r1,\ox*{0,Cl}}" {}2
4 -> 2 "\OX{o2,\ox*{+1,Na}}" {}+ + 2 "\OX{r2,\ox*{-1,Cl}}" {}-
5 }
6 \redox(o1,o2)[green,-stealth]{\small OX}
7 \redox(r1,r2)[purple,-stealth][-1]{\small RED}
8 \vspace{7mm}
OX
0 0 I −I
2 Na + Cl2 2 Na+ + 2 Cl–
RED
Introduced in • If the package floatrow has been loaded its method will be used.
version 5.1
• If the package float has been loaded its method will be used.
• If neither of the above the “manual” method is used. This means the environment is
defined the same way like figure is defined in the article class or the book class, depending
if \chapter is defined or not (the “traditional” way).
Introduced in • If no unique choice is possible the last of the detected methods will be used. For example,
version 6.1 if you use the memoir class and load the float then the method of float will be used.
The list name and the caption name both are translated to the language specified according
to the lang option and the provided translations, see section 26 starting on page 64 for details.
If you want to manually change them then redefine these macros after begin document:
\listschemename
The name of the list of schemes.
\schemename
The name used in captions.
49
21. The spectroscopy Module
Introduced in If you are using either cleveref [Cub18] or fancyref [Rei99] the scheme counter is supported
version 5.6 by both packages and already set up by c h e m m ac r o s.
For fancyref c h e m m ac r o s uses the prefix sch by defining the following:
1 \newcommand*\fancyrefschlabelprefix{sch}
You can of course redefine \fancyrefschlabelprefix into whatever suits you best.
\NMR \par 1
1 H-NMR: 𝛿
2 \NMR* 1
H-NMR
1 \NMR{13,C} 13
C-NMR: 𝛿
\NMR(400) 1
1 H-NMR (400 MHz): 𝛿
1
1 \NMR(4e8,\hertz) H-NMR (4 × 108 Hz): 𝛿
50
21. The spectroscopy Module
Please note that the setup of siunitx also affects this command:
1 \sisetup{exponent-product=\cdot} 1
2 \NMR(4e8,\hertz)
H-NMR (4 · 108 Hz): 𝛿
\NMR[CDCl3] 1
1 H-NMR (CDCl3): 𝛿
This defines a command with the same arguments as \NMR except for { ⟨num⟩ , ⟨atom⟩ }:
1 \NewChemNMR\HNMR{1,H}%
13
2 \NewChemNMR\CNMR{13,C}% C-NMR (100 MHz)
3 \CNMR*(100) \par 1
H-NMR (400 MHz)
4 \HNMR*(400)
\begin{experimental}
Environment for the output of experimental data. Inside the environment the following com-
mands are defined.
51
21. The spectroscopy Module
\#{ ⟨num⟩ }
Number of nuclei (NMR).
\pos{ ⟨num⟩ }
Position of nuclues (NMR).
\val{ ⟨num⟩ }
A number, an alias of siunitx’ \num{ ⟨num⟩ }.
1 \begin{experimental}
2 \data{type1} Data.
3 \data{type2}[specifications] More data.
4 \data*{type3} Even more data.
5 \end{experimental}
type1 Data. type2 (specifications) More data. type3 Even more data.
21.4. Customization
The output of the environment and of the NMR commands can be customized be a number of
options.
52
21. The spectroscopy Module
1 \topsep\z@skip \partopsep\z@skip
2 \itemsep\z@ \parsep\z@ \itemindent\z@
3 \leftmargin\z@
53
21. The spectroscopy Module
1 \begin{experimental}[format=\bfseries]
2 \data{type1} Data.
3 \data{type2}[specifications] More data.
4 \data*{type3} Even more data.
5 \end{experimental}
type1 Data. type2 (specifications) More data. type3 Even more data.
The command \NMR and all commands defined through \NewChemNMR can be used like \data
for the NMR data.
1 \begin{experimental}[format=\bfseries,use-equal]
2 \data{type1} Data.
3 \data{type2}[specifications] More data.
4 \NMR Even more data.
5 \end{experimental}
type1 = Data. type2 (specifications) = More data. 1H-NMR: 𝛿 =Even more data.
21.5. An Example
The code below is shown with different specifications for ⟨options⟩. Of course options can also
be chosen with \chemsetup.
1 \sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--}
2 \begin{experimental}[<options>]
3 \data*{yield} \qty{17}{\milli\gram} yellow needles (\qty{0.04}{\milli\mole
},
4 \qty{13}{\percent}).
5 %
6 \data{mp.} \qty{277}{\celsius} (DSC).
7 %
8 \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12},
9 \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8},
10 \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m,
\#{4},
11 \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}).
12 %
13 \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$,
14 \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$,
\#{8},
15 \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2},
16 \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4},
17 \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4})
,
18 \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}).
19 %
20 \data{MS}[DCP, EI, \qty{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val
{582}
21 (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100).
54
21. The spectroscopy Module
22 %
23 \data{MS}[\ch{MeOH + H2O + KI}, ESI, \qty{10}{\electronvolt}] \val{720}
(100,
24 \ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}).
25 %
26 \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918}
27 (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s),
28 \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402}
29 (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s),
30 \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979}
31 (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744}
32 (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515}
33 (w).
34 %
35 \data*{UV-Vis} \qty{386}{\nano\metre} ($\varepsilon = \val{65984}$),
36 \qty{406}{\nano\metre} ($\varepsilon = \val{65378}$).
37 %
38 \data*{quantum yield} $\Phi = \val{0.74+-0.1}$\,.
39 \end{experimental}
1 delta=(ppm),pos-number=sub,use-equal
yield: 17 mg yellow needles (0.04 mmol, 13 %). mp. = 277 °C (DSC). 1H-NMR (600 MHz, CDCl3):
𝛿 (ppm) = 2.01 (s, 24 H, H5), 2.31 (s, 12 H, H1), 6.72–6.74 (m, 2 H, H11), 6.82 (s, 8 H, H3), 7.05–7.07
(m, 2 H, H12), 7.39–7.41 (m, 4 H, H9), 7.48–7.49 (m, 4 H, H8). 13C-NMR (150 MHz, CDCl3): 𝛿 (ppm)
= 21.2 (+, 4 C, C1), 23.4 (+, 8 C, C5), 126.0 (+, 4 C, C9), 128.2 (+, 8 C, C3), 130.8 (+, 2 C, C12), 133.6
(+, 2 C, C11), 137.0 (+, 4 C, C8), 138.6 (q, 4 C, C2), 140.6 (q, 2 C, C10), 140.8 (q, 8 C, C4), 141.8 (q, 4 C,
C6), 145.6 (q, 2 C, C7). MS (DCP, EI, 60 eV) = 703 (2, M+), 582 (1), 462 (1), 249 (13), 120 (41), 105
(100). MS (MeOH + H2O + KI, ESI, 10 eV) = 720 (100, M+ + OH–), 368 (M+ + 2 OH–). IR (KBr) =
3443 (w), 3061 (w), 2957 (m), 2918 (m), 2856 (w), 2729 (w), 1725 (w), 1606 (s), 1592 (s), 1545 (w),
1446 (m), 1421 (m), 1402 (m), 1357 (w), 1278 (w), 1238 (s), 1214 (s), 1172 (s), 1154 (m), 1101 (w),
1030 (w), 979 (m), 874 (m), 846 (s), 818 (w), 798 (m), 744 (w), 724 (m), 663 (w), 586 (w), 562 (w),
515 (w). UV-Vis: 386 nm (𝜀 = 65 984), 406 nm (𝜀 = 65 378). quantum yield: Φ = 0.74 ± 0.10 .
1 format=\bfseries,delta=(ppm),list=true,use-equal
55
22. The thermodynamics Module
13
C-NMR (150 MHz, CDCl3): 𝛿 (ppm) = 21.2 (+, 4 C, C1), 23.4 (+, 8 C, C5), 126.0 (+, 4 C, C9),
128.2 (+, 8 C, C3), 130.8 (+, 2 C, C12), 133.6 (+, 2 C, C11), 137.0 (+, 4 C, C8), 138.6 (q, 4 C, C2), 140.6
(q, 2 C, C10), 140.8 (q, 8 C, C4), 141.8 (q, 4 C, C6), 145.6 (q, 2 C, C7).
MS (DCP, EI, 60 eV) = 703 (2, M+), 582 (1), 462 (1), 249 (13), 120 (41), 105 (100).
MS (MeOH + H2O + KI, ESI, 10 eV) = 720 (100, M+ + OH–), 368 (M+ + 2 OH–).
IR (KBr) = 3443 (w), 3061 (w), 2957 (m), 2918 (m), 2856 (w), 2729 (w), 1725 (w), 1606 (s), 1592
(s), 1545 (w), 1446 (m), 1421 (m), 1402 (m), 1357 (w), 1278 (w), 1238 (s), 1214 (s), 1172 (s), 1154
(m), 1101 (w), 1030 (w), 979 (m), 874 (m), 846 (s), 818 (w), 798 (m), 744 (w), 724 (m), 663 (w), 586
(w), 562 (w), 515 (w).
UV-Vis: 386 nm (𝜀 = 65 984), 406 nm (𝜀 = 65 378).
quantum yield: Φ = 0.74 ± 0.10 .
21.8. Crazy
Output for these options:
1 format=\color{red}\itshape,
2 list=true,
3 delta=\textcolor{green}{\ch{M+ + H2O}},
4 pos-number=side,
5 coupling-unit=\mega\gram\per\square\second,
6 list-setup=,
7 use-equal
56
22. The thermodynamics Module
1 \state{A}, \state_f{G} ,
2 \state{E}_{\ch{Na}},
3 \state{H}^{\qty{1000}{\celsius}}
Δ𝐴 −◦ , Δf𝐺 −◦ , Δ𝐸 Na
◦ , Δ𝐻 1000 °C
−
Introduced in Since version 6.1 you can input the sub- and superscripts in a more intuitive way instead of
version 6.1 using the options – the latter are still available, though:
1 \state_a^b{X}_c^d
Δba𝑋 cd
57
22. The thermodynamics Module
The argument ( ⟨subscript⟩ ) adds a subscript for specification, * hides number and unit:
58
22. The thermodynamics Module
1 \enthalpy[unit=\kilo\joule]{-285} \
par Δ𝐻 −◦ = −285 kJ
2 \gibbs[pre=]{0} \par 𝐺 −◦ = 0 kJ mol−1
3 \entropy[pre=$\Delta$,superscript Δ𝑆 = 56.7 J K−1 mol−1
=]{56.7}
The unit is set corresponding to the rules of siunitx and depends on its settings:
1 \enthalpy{-1234.56e3} \par
2 \sisetup{
3 per-mode=symbol,
4 exponent-product=\cdot, Δ𝐻 −◦ = −1234.56 × 103 kJ mol−1
5 output-decimal-marker={,}, Δ𝐻 −◦ = −1 234,56 · 103 kJ/mol
6 group-four-digits=true
7 }
8 \enthalpy{-1234.56e3}
59
23. The units Module
Δ𝐴 −◦ = 123.4 kJ mol−1
Δ𝐸 = −1.1 V
Δ𝐸 0 2+ 2+ = 0.01 V
Sn|Sn | |Pb |Pb
Δfℎ −◦ = 12.5 J
So – for following thermodynamic conventions – one could define a molar and an absolute
variable:
1 \RenewChemState\enthalpy{symbol=h,superscript=,unit=\kilo\joule\per\mole}%
molar
2 \NewChemState\Enthalpy{symbol=H,superscript=,unit=\kilo\joule}% absolute
3 \enthalpy{-12.3} \Enthalpy{-12.3}
60
23. The units Module
In chemistry some non-SI units are very common. siunitx provides the command
to add arbitrary units. c h e m m ac r o s uses that command to provide some units. Like all
siunitx units they’re only valid inside \qty{ ⟨num⟩ }{ ⟨unit⟩ } and \unit{ ⟨unit⟩ }.
\atmosphere
atm
\atm
atm
\calory
cal
\cal
cal
\cmc
cm3
The units \cmc, \molar, and \Molar are defined by the package chemstyle as well. c h e m -
mac r o s only defines them, if chemstyle is not loaded.
\molar
mol dm−3
\moLar
mol L−1
\Molar
m
\MolMass
g mol−1
\normal
n
\torr
Torr
Introduced in Since some units still frequently used in chemistry were removed from version 3 of siunitx
version 6.0
chemmacros also defines these in the same way, older versions of siunitx used to do. These
units are:
\angstrom
Å
\atomicmassunit
u
\bar
bar
61
\elementarycharge
𝑒
\mmHg
mmHg
Part IV.
Core Modules
The modules described in this part are always loaded and mainly concern module writers.
\chemmacros_nobreak:
Inserts a penalty of 10 000.
\chemmacros_allow_break:
Inserts a penalty of 0.
\chemmacros_bold:n { ⟨text⟩ }
Checks if the current font weight is bold and if yes places ⟨text⟩ in \textbf if in text mode or
in \bm if in math mode. If no, ⟨text⟩ simply is placed in the input stream as is.
62
24. The base Module
\chemmacros_text:n { ⟨text⟩ }
Ensures that ⟨text⟩ is placed in text mode.
\chemmacros_math:n { ⟨text⟩ }
Ensures that ⟨text⟩ is placed in math mode.
The following macros strictly speaking are not provided by the base module but this place
fits best for their description.
63
25. The errorcheck Module
\chemmacros_module_load:n { ⟨module⟩ }
Loads module ⟨module⟩ if it hasn’t been loaded, yet. The module must exist as a separate file as
described in section A.
\chemmacros_module_before:nn { ⟨module⟩ } { ⟨code⟩ }
Introduced in Saves ⟨code⟩ and inserts it right before ⟨module⟩ is loaded. If ⟨module⟩ is never loaded then
version 5.1 ⟨code⟩ is never inserted. If ⟨module⟩ already is loaded when the command is used then ⟨code⟩
also is never inserted.
\chemmacros_module_after:nn { ⟨module⟩ } { ⟨code⟩ }
Introduced in Saves ⟨code⟩ and inserts it right after ⟨module⟩ is loaded. If ⟨module⟩ is never loaded then
version 5.1 ⟨code⟩ is never inserted. If ⟨module⟩ already is loaded when the command is used then ⟨code⟩ is
inserted immediately.
64
26. The lang and translations Modules
If you send me an email (see section B starting on page 71) with the translations for your
language I’ll gladly add them to the next release of c h e m m ac r o s!
Please do not use translations’ \DeclareTranslation for declaring translations.
continues
65
26. The lang and translations Modules
continues
66
27. The tikz Module
\l_chemmacros_language_tl
A token list variable that holds the language which is used by \chemmacros_translate:n for
translation, after begin document.
el
An arrow tip: \tikz\draw[-el](0,0)--(1,0);
left el
An arrow tip: \tikz\draw[-left el](0,0)--(1,0);
right el
An arrow tip: \tikz\draw[-right el](0,0)--(1,0);
67
28. The xfrac Module
Introduced in The tikz module also loads the libraries calc and decorations.pathmorphing. It uses those
version 5.3 libraries for defining a new decoration wave.
1 \begin{tikzpicture}
2 \draw[decorate,decoration=wave]
(0,0) -- (2,0) ;
3 \end{tikzpicture}
\c_chemmacros_other_colon_tl
A constant tokenlist which contains a colon with category code 12 (other). This is useful since
TikZ sometimes expects an other colon and in an expl3 programming environment : has
category code 11 (letter).
\chemmacros_tikz_draw:n { ⟨options⟩ }
Defined as \draw[{#1}].
\chemmacros_tikz_node:n { ⟨options⟩ }
Defined as \node[{#1}].
\chemmacros_tikz_shade:n { ⟨options⟩ }
Defined as \shade[{#1}].
\chemmacros_tikz_shadedraw:n { ⟨options⟩ }
Defined as \shadedraw[{#1}].
\chemmacros_tikz_node_in_draw:n { ⟨options⟩ }
Defined as node[{#1}].
This macro calls a certain instance of the xfrac text template, depending on the option ⟨type⟩
and the current font family. If used \chemfrac looks if an instance
chemmacros-frac-\f@family- ⟨type⟩
68
Ta b l e 5 : Predefined xfrac text instances.
font family text superscript
cmr 2
⁄3 ⁄3
2
lmr 2
⁄3 ⁄3
2
LinuxLibertineT-TLF 2
⁄3 2⁄3
LinuxLibertineT-TOsF 2
⁄3 2 ⁄3
exists. If yes this instance is used, if no the instance chemmacros-frac-default- ⟨type⟩ is used.
The default instances are the same as the ones for cmr.
The xfrac module defines instances some font families, they are listed and demonstrated in
table 5. The superscript type fractions look larger than the text types. The reason is that the
superscript types are typically used with a smaller font size. Let’s take a look at an example
where both instances are used:
1 \chemsetup[redox]{pos=top}
2 \code{superscript}:
3 \ch{"\ox{1/3,I}" {}3+}
4 1⁄3
+
5 \chemsetup[redox]{pos=side} superscript: I3
+
6 \code{text}: \ox{1/3,I3+} text: I3 (1⁄3)
7 1⁄3
8
9
\huge
\chemsetup[redox]{pos=top}
superscript: I3+
10
11
\code{superscript}:
\ch{"\ox{1/3,I}" {}3+}
text: I3+ (1⁄3)
12
13 \chemsetup[redox]{pos=side}
14 \code{text}: \ox{1/3,I3+}
If you define instances for other families please feel free to submit them to me (see section A.2
starting on page 71) so they can be added to the xfrac module.
Part V.
Appendix
A. Own Modules Called Styles
A.1. How To
If you have additional functionality which you think might be useful as a c h e m m ac r o s
module then you can easily write one yourself. The module must be a file in a path where
TEX can find it following a certain naming scheme. The file for a module foo must be named
chemmacros.style.foo.code.tex.
69
A. Own Modules Called Styles
\ProvidesFile.
The first line in the file then should look similar to this:
This registers the style foo which means chemmacros will accept this file as a valid style.
Such a style can then be loaded to your document via
Also (especially if you consider submitting the module, see section A.2 on the next page) please
follow the expl3 naming conventions for variables and functions, i. e., use chemmacros as expl3
module name:
1 \tl_new:N \l__chemmacros_my_internal_variable_tl
2 \tl_new:N \l_chemmacros_my_public_variable_tl
3 \cs_new:Npn \__chemmacros_my_internal_function:n #1 { ... }
4 \cs_new_protected:Npn \chemmacros_my_public_function:n #1 { ... }
5 \NewDocumentCommand \publicfunction {m}
6 { \chemmacros_my_public_function:n {#1} }
You will find more details on the naming conventions in interface3.pdf which most likely
is available on your system:
~ $ texdoc interface3
70
B. Support, Suggestions and Bug Reports
If you haven’t read section 24 starting on page 62 about the base module, yet, please have a
look. There some macros for module writers are described. Also other modules define macros
for module writers which may be useful.
• http://www.golatex.de/ or
• http://www.latex-community.org/forum/ or
B.2. Suggestions
If you have any suggestions on how c h e m m ac r o s could be improved then please go to
https://github.com/cgnieder/chemmacros/issues/ and open a new issue possibly adding
the label suggestion.
C. References
[Ars13] Donald A r s e n e au. relsize. version 4.1, Mar. 29, 2013 (or newer).
u r l: https://www.ctan.org/pkg/relsize.
[Bra22] Johannes B r a a m s, current maintainer: Javier B e z o s.
babel. version 3.70, Jan. 26, 2022 (or newer).
u r l: https://www.ctan.org/pkg/babel/.
71
C. References
72
C. References
73
D. Index
74
INDEX
\chemmacros_new_macroset:nnn (expl3) . . . . . . . . . . 63 D
\chemmacros_nobreak: (expl3) . . . . . . . . . . . . . . . . . . . 62 \D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 14
\chemmacros_reaction:n (expl3) . . . . . . . . . . . . . . . . . 24 \d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
\chemmacros_set_keys:nn (expl3) . . . . . . . . . . . . . . . 70 \data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51–55
\chemmacros_skip_nobreak:N (expl3) . . . . . . . . . . . . 62 decimal-marker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
\chemmacros_text:n (expl3) . . . . . . . . . . . . . . . . . . . . . 63 \DeclareChemCharge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
\chemmacros_tikz:nn (expl3) . . . . . . . . . . . . . . . . . . . . 68 \DeclareChemEqConstant . . . . . . . . . . . . . . . . . . . . . . . . 7
\chemmacros_tikz_draw:n (expl3) . . . . . . . . . . . . . . . 68 \DeclareChemIUPAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 f.
\chemmacros_tikz_node:n (expl3) . . . . . . . . . . . . . . . 68 \DeclareChemIUPACShorthand . . . . . . . . . . . . . . . . . . . 17
\chemmacros_tikz_node_in_draw:n (expl3) . . . . . . 68 \DeclareChemLatin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
\chemmacros_tikz_picture:nn (expl3) . . . . . . . . . . . 68 \DeclareChemNMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
\chemmacros_tikz_shade:n (expl3) . . . . . . . . . . . . . . 68 \DeclareChemNucleophile . . . . . . . . . . . . . . . . . . . . . . 19
\chemmacros_tikz_shadedraw:n (expl3) . . . . . . . . . . 68 \DeclareChemPartialCharge . . . . . . . . . . . . . . . . . . . . 10
\chemmacros_translate:n (expl3) . . . . . . . . . . . . . . . 67 \DeclareChemParticle . . . . . . . . . . . . . . . . . . . . . . 19, 63
\ChemModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 \DeclareChemPhase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
chemnum (package) . . . . . . . . . . . . . . . . . 3, 37 ff., 42 f., 49 \DeclareChemReactant . . . . . . . . . . . . . . . . . . . . 38 f., 42 f.
\chemomega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 \DeclareChemReaction . . . . . . . . . . . . . . . . . . . . . . . . . . 35
\chemprime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 \DeclareChemState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
\chemsetup 4 f., 7, 9, 18, 20 f., 23, 25–30, 34, 40 ff., 45 ff., \DeclareChemTranslation . . . . . . . . . . . . . . . . 40, 65, 67
54, 62, 69 f. \DeclareChemTranslations . . . . . . . . . . . . . . . . . . 65, 67
\ChemStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 f. \DeclareDocumentCommand . . . . . . . . . . . . . . . . . . . . . . 63
chemstyle (package) . . . . . . . . . . . . . . . . . . . . . . . . . . 18, 61 \DeclareTranslation . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
\ChemTranslate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7, 67 delimiters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
\chlewis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18, 37 \delm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
choice-option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 \delp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
\cip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 16 \Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
cip-inner-format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
cip-kern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 \dento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 f.
cip-number-format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 \dexter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 16
cip-outer-format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 dist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
circled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
circletype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 E
\cis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 f. \E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 15
cleveref (package) . . . . . . . . . . . . . . . . . . . . . . . . . 34, 50, 63 \El . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
\cmc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 \el . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 f., 48, 67
\cmpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 f., 42 \elementarycharge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
\cmpdplain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 elements (package) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
\CNMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 elpair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 f., 23 f.
\co . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 \ElPot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
C ohan, E. Richard . . . . . . . . . . . . . . . . . . . 6 f., 13, 20, 44 \endo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 \entgegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
\comb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 \Enthalpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
\compl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 \enthalpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57–60
\complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 \entropy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 ff.
concentration-unit . . . . . . . . . . . . . . . . . . . . . . . . . . 40 f. eq-constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 equiv-unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 f.
C onnelly, Neil G. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 equivalents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
cool (package) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 errorcheck (module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
coord-use-hyphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 etoolbox (package) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
\copolymer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 experimental (environment) . . . . . . . . . . . . . . . . . 51, 53
coupling-bonds-post . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 explicit-sign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
coupling-bonds-pre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 explicit-zero-sign . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
coupling-nuclei-post . . . . . . . . . . . . . . . . . . . . . . . . . . 53 explizit-zero-sign . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
coupling-nuclei-pre . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
coupling-pos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 F
coupling-pos-cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 \fac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
coupling-symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 fancyref (package) . . . . . . . . . . . . . . . . . . . . . . . . 34, 50, 63
coupling-unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 \fancyrefrctlabelprefix . . . . . . . . . . . . . . . . . . . . . . 35
C ubitt, Toby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 50 \fancyrefschlabelprefix . . . . . . . . . . . . . . . . . . . . . . 50
\cyclic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 \fdelm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 f.
\cyclo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 \fdelp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 f.
75
INDEX
\ipn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 mhchem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
\ipnetwork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 mhchem (package) . . . . . . . . . . . . . . . . . . . . . . . . 5, 8, 22 ff.
\isotope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 f. minimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 f.
isotope (module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Mittelbach, Frank . . . . . . . . . . . . . . . . . . . . . 22, 26, 62
iupac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17 \mmHg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
\iupac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–17, 30, 38 module (module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 f., 62
J \Molar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
\J . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 \moLar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
\molar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
K \MolMass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
\k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
K-acid .......................................... 7 N
K-base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 \N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
76
INDEX
\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 particles (module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38, 43 \pch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 f., 46 f.
\net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Pedersen, Bjørn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
\network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Pedersen, Bjørn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
\NewChemCharge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 \per . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31, 54, 56, 59 f.
\NewChemEqConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 f. \periodic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
\NewChemIUPAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 f. \pH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 f.
\NewChemIUPACShorthand . . . . . . . . . . . . . . . . . . . . . . . 17 phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
\NewChemLatin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 \phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 f., 29
\NewChemMacroset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 phases (module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
\NewChemNMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51, 54 \phosphorus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
\NewChemNucleophile . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 \pKa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 f.
\NewChemPartialCharge . . . . . . . . . . . . . . . . . . . . . . . . 9 f. \pKb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 f.
\NewChemParticle . . . . . . . . . . . . . . . . . . . . . . . . . . . 19, 63 \pOH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
\NewChemPhase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 polyglossia (package) . . . . . . . . . . . . . . . . . . . . . . . . . 40, 64
\NewChemReaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 polymers (module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 f.
\NewChemState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 f. pos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20, 45
newfloat (package) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 \pos . . . . . . . . . . . . . . . . . . . . . . 9, 20 f., 45 f., 52–56, 60, 69
\newman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 f. pos-number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
newman (module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 post . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 ff.
Niederberger, Clemens 5, 8, 18, 21 f., 24 f., 37, 49, 64 Powell, W. H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
N iepraschk, Rolf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 pre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 ff.
\nitrogen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 f. \printatom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
\NMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50–54 \printreactants . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39, 44
nmr-base-format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 printreactants-style . . . . . . . . . . . . . . . . . . . . . . 39, 44
nomenclature (module) . . . . . . . . . . . . . . . . . . . . . . 10, 30 \ProvideChemCharge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
“Nomenclature of Inorganic Chemistry”, IUPAC Red Book \ProvideChemEqConstant . . . . . . . . . . . . . . . . . . . . . . . . 7
16 \ProvideChemIUPAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
“Nomenclature of Organic Chemistry, Sections A, B, C, D, \ProvideChemIUPACShorthand . . . . . . . . . . . . . . . . . . . 17
E, F, and H”, IUPAC Blue Book . . . . . . . . . . 15 \ProvideChemLatin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
\nonbreakinghyphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 \ProvideChemNMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
\normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 \ProvideChemNucleophile . . . . . . . . . . . . . . . . . . . . . . 19
\ntr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 \ProvideChemPartialCharge . . . . . . . . . . . . . . . . . . . . 10
\Nu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 \ProvideChemParticle . . . . . . . . . . . . . . . . . . . . . . 19, 63
\Nuc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 f. \ProvideChemPhase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
nucleus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 \ProvideChemReaction . . . . . . . . . . . . . . . . . . . . . . . . . . 35
\ProvideChemState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
O \prt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 f.
\O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 purity-unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 f.
O berdiek, Heiko . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
opacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Q
option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 “Quantities, Symbols and Units in Physical Chemistry”,
\orbital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ff. IUPAC Green Book . . . . . . . . . . 6 f., 13, 20, 44
orbital (module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
\ortho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3, 15 R
overlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 \R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 14
own-counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Rahtz, Sebastian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
\OX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46–49 \ran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
\ox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9, 44–49, 69 \random . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
\Oxo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 \Rconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
\oxygen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 f. \Reactant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
\reactant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38–42
P reactant-output-style . . . . . . . . . . . . . . . . . . . . . 38, 41
\P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 \reactantl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
\p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6, 12 \Reactantplain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
p-style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 \reactantplain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Panico, R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 reactants . . . . . . . . . . . . . . . . . . . . . . . . . . . 6, 37 ff., 41–44
\para . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 \reactants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 f., 41 ff.
parse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44, 53 reaction (environment) . . . . . . . . . . . . . . . . . . . 32, 34, 36
partial-format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 reaction* (environment) . . . . . . . . . . . . . . . . . . . . . . . . 32
particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 f. \reactionautorefname . . . . . . . . . . . . . . . . . . . . . . . . . . 35
77
INDEX
78
INDEX
Wright, Joseph . . . . . . . . . . . . . . . . 18, 37, 50, 56, 60, 62 xltabular (package) . . . . . . . . . . . . . . . . . . . . . . . . . . . 37, 44
xparse (package) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
X
XˇMTEX (package) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Z
xfrac (module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44, 68 f. \Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
xfrac (package) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46, 68 \zusammen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 f.
79