summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex')
-rw-r--r--Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex3271
1 files changed, 1062 insertions, 2209 deletions
diff --git a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex
index 77c85e11dca..7f924875d57 100644
--- a/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex
+++ b/Master/texmf-dist/doc/latex/chemmacros/chemmacros_en.tex
@@ -1,7 +1,7 @@
% arara: xelatex
-% arara: biber
-% arara: xelatex
-% arara: xelatex
+% !arara: biber
+% !arara: xelatex
+% !arara: xelatex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% -----------------------------------------------------------------------------
% - the CHEMMACROS bundle
@@ -17,7 +17,7 @@
% - If you have any ideas, questions, suggestions or bugs to report, please
% - feel free to contact me.
% -----------------------------------------------------------------------------
-% - Copyright 2011-2012 Clemens Niederberger
+% - Copyright 2011-2013 Clemens Niederberger
% -
% - This work may be distributed and/or modified under the
% - conditions of the LaTeX Project Public License, either version 1.3
@@ -44,23 +44,33 @@
%
\documentclass[DIV11,toc=index,toc=bib]{cnpkgdoc}
\docsetup{
- pkg = chemmacros,
+ pkg = {[greek=newtx]chemmacros},
language = en,
title = the \Chemmacros\ bundle,
- subtitle = {packages \Chemmacros, \Chemformula\ and \Ghsystem},
+ subtitle = {
+ packages \Chemmacros\ (v\csname chemmacros@version\endcsname),
+ \Chemformula\ (v\csname chemformula@version\endcsname),
+ \Ghsystem\ (v\csname ghsystem@version\endcsname) and
+ \Chemgreek\ (v\csname chemgreek@version\endcsname)\\[2ex]
+ {\Large documentation for the \Chemmacros\ package}},
modules = true,
code-box = {skipabove=1ex,skipbelow=1ex},
label = {},
}
-\usepackage{chemfig,upgreek,textgreek,booktabs,cancel}
+\usepackage{chemfig,booktabs,cancel}
\usepackage[version=3]{mhchem}
-\usepackage{hologo}
-\newcommand*\pdfTeX{\hologo{pdfTeX}}
-\newcommand*\XeTeX{\hologo{XeTeX}}
-\newcommand*\LuaTeX{\hologo{LuaTeX}}
-\newcommand*\XeLaTeX{\hologo{XeLaTeX}}
-\newcommand*\LuaLaTeX{\hologo{LuaLaTeX}}
+\usepackage{fontspec}
+\usepackage[oldstyle,proportional]{libertine}
+\usepackage[libertine]{newtxmath}
+\usepackage{libertinehologopatch}
+\setmonofont[Scale=MatchLowercase]{Bitstream Vera Sans Mono}
+
+\cnpkgusecolorscheme{friendly}
+\renewcommand*\othersectionlevelsformat[3]{%
+ \textcolor{main}{#3\autodot}\enskip}
+\renewcommand*\partformat{%
+ \textcolor{main}{\partname~\thepart\autodot}}
\usepackage{fnpct}
\usepackage[biblatex]{embrac}
@@ -69,36 +79,53 @@
\pagestyle{headings}
-\usepackage{acro}
-\acsetup{long-format=\scshape}
+\usepackage[accsupp]{acro}
+\acsetup{
+ long-format=\scshape,
+ short-format=\scshape
+}
\DeclareAcronym{ghs}{
- short = GHS ,
- long = Globally Harmonized System of Classification and Labelling of Chemicals
+ short = ghs ,
+ long = Globally Harmonized System of Classification and Labelling of
+ Chemicals ,
+ pdfstring = GHS ,
+ accsupp = GHS
}
\DeclareAcronym{eu}{
- short = EU ,
- long = European Union
+ short = EU ,
+ long = European Union ,
+ pdfstring = EU ,
+ accsupp = EU
}
\DeclareAcronym{iupac}{
- short = IUPAC ,
- long = International Union of Pure and Applied Chemistry
+ short = iupac ,
+ long = International Union of Pure and Applied Chemistry ,
+ pdfstring = IUPAC ,
+ accsupp = IUPAC
}
\DeclareAcronym{UN}{
- short = UN ,
- long = United Nations
+ short = un ,
+ long = United Nations ,
+ pdfstring = UN ,
+ accsupp = UN
}
\DeclareAcronym{dvi}{
- short = dvi ,
- long = device independent file format ,
- format = \scshape
+ short = dvi ,
+ long = device independent file format ,
+ pdfstring = DVI ,
+ accsupp = DVO
}
\DeclareAcronym{pdf}{
- short = pdf ,
- long = portable document file ,
- format = \scshape
+ short = pdf ,
+ long = portable document file ,
+ pdfstring = PDF ,
+ accsupp = PDF
}
-\chemsetup[option]{synchronize}
+\chemsetup{
+ option/synchronize ,
+ chemformula/font-spec={[Numbers=Lining]Linux Libertine O}
+}
\colorlet{chemformula}{darkgray}
\sisetup{
@@ -112,8 +139,8 @@
\begin{filecontents*}{\jobname.ist}
preamble "\\begin{theindex}\n Section titles are indicated \\textbf{bold},
packages \\textsf{sans serif}, commands \\code{\\textbackslash\\textcolor{code}{brown}},
- options \\textcolor{key}{\\code{green}} and modules (only \\chemmacros)
- \\textcolor{module}{\\code{red}}.\\newline\n\n"
+ options \\textcolor{key}{\\code{yellow}} and modules (only \\chemmacros)
+ \\textcolor{module}{\\code{blue}}.\\newline\n\n"
heading_prefix "{\\bfseries "
heading_suffix "\\hfil}\\nopagebreak\n"
headings_flag 1
@@ -177,285 +204,357 @@
slash-left-kern = .05em
}
-\newcommand*\chemformula{{\scshape\textcolor{cnpkgblue}{chemformula}}\xspace}
-\newcommand*\ghsystem{{\scshape\textcolor{cnpkgblue}{ghsystem}}\xspace}
-
-\newcommand*\Chemmacros{{\fontspec[Color=cnpkgblue,Scale=1.2]{Linux Biolinum Shadow O}chemmacros}}
-\newcommand*\Chemformula{{\fontspec[Color=cnpkgblue,Scale=1.2]{Linux Biolinum Shadow O}chemformula}}
-\newcommand*\Ghsystem{{\fontspec[Color=cnpkgblue,Scale=1.2]{Linux Biolinum Shadow O}ghsystem}}
-
-\renewcommand*\AmS{\hologo{AmS}}
-% \newcommand*\pdfTeX{\hologo{pdfTeX}}
-% \renewcommand*\LuaTeX{\hologo{LuaTeX}}
+\usetikzlibrary{calc,positioning,decorations.pathmorphing,patterns}
+
+\pgfdeclaredecoration{penciline}{initial}{
+ \state{initial}[
+ width=+\pgfdecoratedinputsegmentremainingdistance,
+ auto corner on length=1mm
+ ]{
+ \pgfpathcurveto%
+ {% From
+ \pgfqpoint
+ {\pgfdecoratedinputsegmentremainingdistance}
+ {\pgfdecorationsegmentamplitude}
+ }
+ {% Control 1
+ \pgfmathrand
+ \pgfpointadd
+ {\pgfqpoint{\pgfdecoratedinputsegmentremainingdistance}{0pt}}
+ {%
+ \pgfqpoint
+ {-\pgfdecorationsegmentaspect\pgfdecoratedinputsegmentremainingdistance}%
+ {\pgfmathresult\pgfdecorationsegmentamplitude}
+ }
+ }
+ {%TO
+ \pgfpointadd
+ {\pgfpointdecoratedinputsegmentlast}
+ {\pgfpoint{1pt}{1pt}}
+ }
+ }
+ \state{final}{}
+}
+\tikzset{pencil/.style={decorate,decoration=penciline}}
\TitlePicture{%
- \ch[font-spec={[Color=chemformula]Augie}]{ 2 "\OX{o1,\ox{0,Na}}" + "\OX{r1,\ox{0,Cl}}" {}2 -> 2 "\OX{o2,\ox{+1,Na}}" {}+ + 2 "\OX{r2,\ox{-1,Cl}}" {}- }
- \redox(o1,o2)[red,-cf]{\small\ch[font-spec={[Color=red]Augie},math-space=.3em]{$-$ 2 e-}}
- \redox(r1,r2)[blue,-cf][-1]{\small\ch[font-spec={[Color=blue]Augie},math-space=.3em]{$+$ 2 e-}}}
+ \ch[font-spec={Augie}]{
+ 2 "\OX{o1,\ox{0,Na}}" + "\OX{r1,\ox{0,Cl}}" {}2
+ ->
+ 2 "\OX{o2,\ox{+1,Na}}" {}+ + 2 "\OX{r2,\ox{-1,Cl}}" {}-
+ }
+ \redox(o1,o2)[red,pencil,-cf]{\small\ch[font-spec={[Color=red]Augie},math-space=.3em]{$-$ 2 e-}}
+ \redox(r1,r2)[blue,pencil,-cf][-1]{\small\ch[font-spec={[Color=blue]Augie},math-space=.3em]{$+$ 2 e-}}}
\addcmds{
- a,abinitio,AddRxnDesc,anti,aq,aqi,
- b,ba,bond,bottomrule,bridge,
- cancel,cd,cdot,ce,cee,celsius,centering,chemabove,Chemalpha,Chembeta,Chemgamma,
- Chemdelta,ChemDelta,chemfig,chemname,Chemomega,chemsetup,cip,cis,ch,cnsetup,
- CNMR,color,cstsetup,
- d,D,data,DeclareChemArrow,DeclareChemBond,DeclareChemBondAlias,DeclareChemIUPAC,
- DeclareChemLatin,DeclareChemNMR,DeclareChemParticle,DeclareChemPhase,
- DeclareChemReaction,DeclareChemState,DeclareInstance,DeclareSIUnit,definecolor,
- delm,delp,Delta,Dfi,draw,
- E,el,electronvolt,ElPot,endo,Enthalpy,enthalpy,Entropy,
- footnotesize,fmch,fpch,fscrm,fscrp,
- g,gas,ghs,ghslistall,ghspic,Gibbs,glqq,gram,grqq,
- H,hapto,HNMR,Helmholtz,hertz,hspace,
- includegraphics,insitu,intertext,invacuo,iupac,IUPAC,J,joule,
- Ka,Kb,kilo,Kw,
- L,latin,lewis,Lewis,Lfi,listofreactions,lqd,ltn,
- mch,mega,meta,metre,mhName,midrule,milli,mmHg,mole,
- N,nano,nicefrac,newman,NMR,Nu,Nuc,num,numrange,
- O,ominus,orbital,ortho,oplus,ox,OX,
- p,P,para,pch,per,percent,pgfarrowsdeclarealias,pgfarrowsrenewalias,pH,phase,
- photon,pKa,pKb,pOH,pos,positron,Pot,prt,
- R,Rad,redox,RenewChemArrow,RenewChemBond,RenewChemIUPAC,RenewChemLatin,RenewChemNMR,
- RenewChemParticle,RenewChemPhase,RenewChemState,renewtagform,rightarrow,
- S,Sf,sample,scriptscriptstyle,scrm,scrp,second,setatomsep,setbondoffset,sfrac,
- shorthandoff,ShowChemArrow,ShowChemBond,si,SI,sisetup,sld,Sod,square,State,
- subsection,
- textcolor,textendash,textsuperscript,tiny,toprule,trans,
- upbeta,upeta,upgamma,
- val,volt,vphantom,vspave,
- w,xspace,Z}
+ a, abinitio, AddRxnDesc, anti, aq, aqi,
+ b, ba, bond, bottomrule, bridge,
+ cancel, cd, cdot, ce, cee, celsius, centering, chemabove, Chemalpha,
+ Chembeta, Chemgamma, Chemdelta, ChemDelta, chemfig, chemname, Chemomega,
+ chemsetup, cip, cis, ch, clap, cnsetup, CNMR, color, cstack, cstsetup,
+ d, D, data, DeclareChemArrow, DeclareChemBond, DeclareChemBondAlias,
+ DeclareChemIUPAC, DeclareChemLatin, DeclareChemNMR, DeclareChemParticle,
+ DeclareChemPhase, DeclareChemReaction, DeclareChemState, DeclareInstance,
+ DeclareSIUnit, DeclareTranslation, definecolor, delm, delp, Delta, Dfi,
+ draw,
+ E, el, electronvolt, ElPot, endo, Enthalpy, enthalpy, Entropy,
+ footnotesize, fmch, fpch, fscrm, fscrp,
+ g, gas, ghs, ghslistall, ghspic, Gibbs, glqq, gram, grqq,
+ H, hapto, HNMR, Helmholtz, hertz, hspace,
+ includegraphics, insitu, intertext, invacuo, iupac, IUPAC,
+ J, joule,
+ Ka, Kb, kilo, Kw,
+ L, latin, lewis, Lewis, Lfi, listofreactions, lqd, ltn,
+ mch, mega, meta, metre, mhName, midrule, milli, mmHg, mole,
+ N, nano, nicefrac, newman, NMR, Nu, Nuc, num, numrange,
+ O, ominus, orbital, ortho, oplus, ox, OX,
+ p, P, para, pch, per, percent, pgfarrowsdeclarealias, pgfarrowsrenewalias,
+ pH, phase, photon, pKa, pKb, pOH, pos, positron, Pot, prt,
+ R, Rad, redox, RenewChemArrow, RenewChemBond, RenewChemIUPAC,
+ RenewChemLatin, RenewChemNMR, RenewChemParticle, RenewChemPhase,
+ RenewChemState, renewtagform, rightarrow,
+ S, Sf, sample, scriptscriptstyle, scrm, scrp, second, setatomsep,
+ setbondoffset, setchemformula, sfrac, shorthandoff, ShowChemArrow,
+ ShowChemBond, si, SI, sisetup, sld, Sod, square, State, subsection,
+ textcolor, textendash, textsuperscript, tiny, toprule, trans,
+ upbeta, upeta, upgamma,
+ val, volt, vphantom, vspave,
+ w, xspace, Z
+}
\usepackage{imakeidx}
\indexsetup{othercode=\footnotesize}
\makeindex[columns=3,intoc,options={-sl \jobname.ist}]
-\begin{document}
-\chemsetup[chemformula]{
- font-spec =
- {[Color=chemformula,Numbers={Proportional,Lining}]Latin Modern Sans}
+\newcommand*\Chemmacros{%
+ {%
+ \fontspec[Color=main,Scale=1.2]
+ {Linux Biolinum Shadow O}%
+ chemmacros%
+ }%
+}
+\providecommand*\chemmacros{{\scshape\textcolor{main}{chemmacros}}\xspace}
+
+\newcommand*\Chemformula{%
+ {%
+ \fontspec[Color=main,Scale=1.2]
+ {Linux Biolinum Shadow O}%
+ chemformula%
+ }%
+}
+\providecommand*\chemformula{{\scshape\textcolor{main}{chemformula}}\xspace}
+
+\newcommand*\Ghsystem{%
+ {%
+ \fontspec[Color=main,Scale=1.2]
+ {Linux Biolinum Shadow O}%
+ ghsystem%
+ }%
+}
+\providecommand*\ghsystem{{\scshape\textcolor{main}{ghsystem}}\xspace}
+
+\newcommand*\Chemgreek{%
+ {%
+ \fontspec[Color=main,Scale=1.2]
+ {Linux Biolinum Shadow O}%
+ chemgreek%
+ }%
+}
+\providecommand*\chemgreek{{\scshape\textcolor{main}{chemgreek}}\xspace}
+
+\newcommand*\Default[1]{%
+ \hfill\llap{%
+ \ifblank{#1}
+ {(initially~empty)}
+ {Default:~\code{#1}}%
+ }\newline
}
-\def\glqq{„}
-\def\grqq{“}
-\part{Preliminaries}\secidx{PRELIMINARIES}
-\section{Licence, Requirements and README}
-Permission is granted to copy, distribute and/or modify this software under the
-terms of the \LaTeX\ project public license (lppl) version 1.3 or later
-(\url{http://www.latex-project.org/lppl.txt}). The package has the status
-``maintained.''
+\usepackage{marginnote,ragged2e}
+\makeatletter
+\providecommand*\sinceversion[1]{%
+ \@bsphack
+ \marginnote{%
+ \footnotesize\sffamily\RaggedRight
+ \textcolor{black!75}{Introduced in version~#1}}%
+ \@esphack}
+\providecommand*\changedversion[1]{%
+ \@bsphack
+ \marginnote{%
+ \footnotesize\sffamily\RaggedRight
+ \textcolor{black!75}{Changed in version~#1}}%
+ \@esphack}
+
+\RenewDocumentCommand\CTANurl{O{macros/latex/contrib}m}
+ {%
+ on CTAN: %
+ \hyper@linkurl{#2}{http://mirrors.ctan.org/#1/#2/}%
+ }
+\ExplSyntaxOn
+\RenewDocumentCommand \paket { sO{macros/latex/contrib}m }
+ {
+ \paketfont { #3 }
+ \index { #3 @ \paketfont { #3 } }
+ \prop_if_in:NnF \g_cnpkgdoc_pakete_prop { #3 }
+ {
+ \prop_gput:Nnn \g_cnpkgdoc_pakete_prop { #3 } {}
+ \IfBooleanF { #1 }
+ { \footnote { \CTANurl[]{#3} } }
+ }
+ }
+\ExplSyntaxOff
+\makeatother
-The \chemmacros bundle needs the bundles \paket{l3kernel} and \paket{l3packages}.
-It also needs the packages \paket{siunitx}, \paket{mathtools}, \paket{bm},
-\paket{nicefrac} and \paket{environ} as well as \paket*{tikz}\footnote{CTAN:
-\href{http://www.ctan.org/pkg/pgf/}{pgf}} and the \TikZ libraries \code{calc}
-and \code{arrows}.
+\DeclareChemPhase{\aqi}{aq,$\infty$}% aqueous solution at infinite dilution
+\DeclareChemPhase{\cd}{cd}% condensed phase
+\RenewChemPhase{\lqd}{lc}% liquid crystal
-Package option \key{bpchem} (section~\ref{sec:optionen}) needs the package
-\paket{bpchem}, package option \key{xspace} needs the package \paket{xspace} and
-package option \key{method}{mhchem} needs the package \paket{mhchem}.
+\begin{document}
-With v3.0 the \chemmacros package has been bundled with the new packages
-\chemformula and \ghsystem. \chemformula provides an alternative to \paket{mhchem}.
-This leads to some internal changes in \chemmacros. On the same time the
-documentation has been redesigned.
+\part{Preliminaries}\secidx{PRELIMINARIES}
+\section{Licence, Requirements and \textsc{README}}
+Permission is granted to copy, distribute and/or modify this software under
+the terms of the \LaTeX\ project public license (lppl) version 1.3 or later
+(\url{http://www.latex-project.org/lppl.txt}). The package has the status
+``maintained.''
-You might remember that \chemmacros' options all belong to different modules, see
-section~\ref{sec:setup} for further information. These are typeset in the left
-margin when the option is first mentioned. In section~\ref{sec:overview} all options
-and the module they belong to are listed. Throughout the document options are
-typeset \textcolor{key}{\code{green}} and modules \textcolor{module}{\code{red}}.
+The \chemmacros\ bundle needs the bundles \paket{l3kernel} and
+\paket{l3packages}. It also needs the packages \paket{siunitx},
+\paket{mathtools}, \paket{bm}, \paket{nicefrac} and \paket{environ} as well as
+\paket*{tikz}\footnote{\CTANurl[graphics]{pgf}} and the \TikZ libraries
+\code{calc} and \code{arrows}. Language support is done with the help of the
+\paket*{translations} package from the \paket{exsheets} bundle. The
+\chemmacros\ package also loads the other packages of this bundle.
-The package \ghsystem needs the packages \chemmacros, \paket{tabu}, \paket{longtable},
-\paket{ifpdf} and \paket{graphicx}. \ghsystem has no own package options but
-passes all options on to \chemmacros.
+The package option \key{xspace} also loads the package \paket{xspace}.
-\achtung{There are some deprecated commands and options which are not explained
-in the manual any more but still exist to ensure backwards compatibility. These
-commands issue a warning. They may be dropped some time in the future.}
+The \chemmacros\ bundle bundles four packages: \chemmacros, \chemformula,
+\ghsystem\ and \chemgreek. The package dependencies of the other packages are
+described in the respective manuals.
\section{Motivation and Background}
-\chemmacros started some years ago as a growing list of custom macros that I
-frequently used. I cannot completely recall when and why I decided to release them
-as a package. Well \textendash\ here we go and you might find it useful, too, I
-hope.
+\chemmacros\ started some years ago as a growing list of custom macros that I
+frequently used. I cannot completely recall when and why I decided to release
+them as a package. Well \textendash\ here we go and you might find it useful,
+too, I hope.
Both the macros and their functionality have changed over time and quite a lot
-have been added. Many things have been unified and what's probably most important:
-many possibilities to customize have been added, too.
-
-Probably every chemist using \LaTeXe\ is aware of the great \paket{mhchem} package
-by Martin Hensel. There have always been some difficulties intertwining it with
-\chemmacros, though. Also, some other minor points in \paket{mhchem} always
-bothered me, but they hardly seemed enough for a new package. They weren't even
-enough for a feature request to the \paket{mhchem} author. The challenge and the
-fun of creating a new package and the wish for a highly customizable alternative
-led to \chemformula after all.
-
-\chemformula works very similar to \paket{mhchem} but is more strict as to how
-compounds, stoichiometric factors and arrows are input. In the same time
-\chemformula offers possibilities to customize the output that \paket{mhchem} does
-not. Since \chemformula is meant as an \emph{alternative} to \paket{mhchem}
-\chemmacros offers a package option allowing you to choose which one of the two
-is used. The default however is \chemmacros own way: \chemformula.
-
-As a chemist you are probably aware of the fact that the \acl{UN} have developed
-the \ac{ghs} as a global replacement for the various different systems in different
-countries. While it has not been implemented by all countries
-yet~\cite{unece:ghsystem_implementation}, it is only a matter of time.
-
-The package \ghsystem now enables you to typeset all the hazard and precautionary
-statements and pictograms in a very easy way. The statements are taken from \acs{eu}
-regulation 1272/2008~\cite{eu:ghsystem_regulation}.
+have been added. Many things have been unified and what's probably most
+important: many possibilities to customize have been added, too.
+
+Probably every chemist using \LaTeXe\ is aware of the great \paket{mhchem}
+package by Martin Hensel. There have always been some difficulties
+intertwining it with \chemmacros, though. Also, some other minor points in
+\paket{mhchem} always bothered me, but they hardly seemed enough for a new
+package. They weren't even enough for a feature request to the \paket{mhchem}
+author. The challenge and the fun of creating a new package and the wish for
+a highly customizable alternative led to \chemformula\ after all.
+
+\chemformula\ works very similar to \paket{mhchem} but is more strict as to
+how compounds, stoichiometric factors and arrows are input. In the same time
+\chemformula\ offers possibilities to customize the output that \paket{mhchem}
+does not. Although \chemformula\ is meant as an \emph{alternative} to
+\paket{mhchem} \chemmacros\ only loads \chemformula\ and uses it at various
+places internally, too.
+
+As a chemist you are probably aware of the fact that the \acl{UN} have
+developed the \ac{ghs} as a global replacement for the various different
+systems in different countries. While it has not been implemented by all
+countries yet~\cite{unece:ghsystem_implementation}, it is only a matter of
+time.
+
+The package \ghsystem\ enables you to typeset all the hazard and precautionary
+statements and pictograms in a very easy way. The statements are taken from
+\acs{eu} regulation 1272/2008~\cite{eu:ghsystem_regulation}.
There are four points I hope I have achieved with this bundle:
\begin{itemize}
\item intuitive usage as far as the syntax of the commands is concerned
- \item the commands shall not only make typesetting easier and faster but also the
- document source more readable with respect to semantics
+ \item the commands shall not only make typesetting easier and faster but also
+ the document source more readable with respect to semantics
(\code{\cmd{ortho}-dichlorobenzene} is easier to read and understand than
\code{\cmd*{textsl}{o}-dichlorobenzene})
\item as much customizability as I could think of so every user can adapt the
commands to his or her own wishes
\item default settings compliant with the recommendations of the \acf{iupac}.
\end{itemize}
-Especially the last point needed some pushing from users to get things right in
-many places. If you find anything not compliant with \ac{iupac} recommendations%
-\footnote{This does not concern the \cmd{ox} command. The \ac{iupac} version is
-\cmd{ox}*.} I would welcome an email very much!
-
-In a package this large with older parts and rather new parts (which have to be
-considered being in beta state) it is unavoidable that there are flaws and bugs.
-I am very keen on correcting and improving this package, so please: if you find
-anything that bothers you and may it be just so small please send me a short email
-and I'll see what I can do. I would especially like feedback on \chemformula (see
-part~\ref{part:chemformula}) and \ghsystem (see part~\ref{part:ghsystem}) but also
-welcome feedback on every other part of this bundle.
-
-\section{Installation, Loading the Bundle}\secidx{Loading the Bundle}\secidx{Installation}
-The bundle comes with three style files\footnote{Those ending \code{sty}.}, a
-directory called \code{language/} containing the language-definition files for
-\ac{ghs} (ending \code{def}), and a directory \code{pictures/} containing \code{eps},
-\code{pdf}, \code{jpg} and \code{png} files (the \ac{ghs} pictograms). If you install
-the bundle manually \emph{please make sure to place the directories \code{language/}
-and \code{pictures/} in the \emph{same} directory as the style files}.
-
-Loading \chemmacros with
-\begin{beispiel}[code only]
- \usepackage{chemmacros} % `chemmacros', `chemformula' and `ghsystem' are loaded
-\end{beispiel}
-will also load \chemformula and \ghsystem. However, you can prevent \chemmacros
-from loading \ghsystem:
-\begin{beispiel}[code only]
- \usepackage[ghsystem=false]{chemmacros} % `chemmacros' and `chemformula' are loaded
-\end{beispiel}
+Especially the last point needed some pushing from users to get things right
+in many places. If you find anything not compliant with \ac{iupac}
+recommendations\footnote{This does not concern the \cmd{ox} command. The
+ \ac{iupac} version is \cmd{ox}*.} I would welcome an email very much!
-Loading \chemformula or \ghsystem explicitly is possible and will also load
-\chemmacros if it hasn't been loaded yet, and will therefore implicitly load the
-other package, too.
-\begin{beispiel}[code only]
- \usepackage{chemformula}
- or
- \usepackage{ghsystem}
-\end{beispiel}
-
-However, it is recommended to simply use \lstinline=\usepackage{chemmacros}= and
-setup the required options with \lstinline=\chemsetup= (also see section~\ref{sec:setup}).
-\secidx*{Installation}\secidx*{Loading the Bundle}
+\section{News}\secidx{News}
+With version~4.0 some changes have been made:
+\begin{itemize}
+ \item first of all the packages \chemformula\ and \ghsystem\ do not load
+ \chemmacros\ any more which means they can be used independently.
+ \item the option \key{bpchem} has been dropped.
+ \item the commands \cmd{mch} and \cmd{pch} now match \chemformula's
+ charges.
+ \item the option \key{method} has been dropped.
+ \item the option \key[charges]{append} has deprecated.
+ \item the option \key{greek} has been extended to support other uppercase
+ greek letters, for example those provided by \paket{kpfonts}. This is
+ handled internally by the new package in the family: \chemgreek. This
+ package is not really a package for usage at a user-level but could in
+ principle be used to extend the \key{greek} option.
+ \item language support is now done with the help of the
+ \paket*{translations} package from the \paket{exsheets} bundle. This
+ means that with version~4.0 the document language is recognized
+ automatically.
+ \item the status of the commands \cmd{Lfi} and \cmd{Dfi} has been changed
+ from \emph{deprecated} to \emph{dropped}.
+ \item various other changes like bug fixes and improvements on the
+ typographical appearance of \chemformula's inline formulae with \cmd{ch}.
+\end{itemize}
+\secidx*{News}
\section{Package Options}\label{sec:optionen}\secidx{Package Options}
\chemmacros has several package options. They all are used as key/value pairs like
\begin{beispiel}[code only]
\usepackage[option1 = <value1>, option2 = <value2>]{chemmacros}
\end{beispiel}
-Some also can be used without value (\lstinline+\usepackage[option1]{chemmacros}+),
-which means that the \default{underlined} value is used.
+Some also can be used without value
+(\lstinline+\usepackage[option1]{chemmacros}+), which means that the
+\default{underlined} value is used.
-Both \chemformula and \ghsystem don't have package options of their own. If you
-load them explicitly any given option will silently fail. Options can then only
-be set using the setup command.
+Both \chemformula and \ghsystem don't have package options of their own. If
+you load them explicitly any given option will silently fail. Options can
+then only be set using the setup command.
\begin{beschreibung}
- % bpchem
- \option[option]{bpchem}{\default{true}|false} This option loads the package
- \paket{bpchem} and adjusts the layout of the \cmd{NMR} command to the \paket{bpchem}
- commands \lstinline+\HNMR+ and \lstinline+\CNMR+. (default = \code{false})
% circled
- \option[option]{circled}{\default{formal}|all|none} \chemmacros uses two different
- kinds of charges which indicate the usage of real ($+/-$) and formal (\fplus/\fminus)
- charges. The option \code{formal} distinguishes between them, option \code{none}
- displays them all without circle, option \code{all} circles all (default = \code{formal})
+ \Option[option]{circled}{\default{formal}|all|none}\Default{formal}
+ \chemmacros\ uses two different kinds of charges which indicate the usage
+ of real ($+/-$) and formal (\fplus/\fminus) charges. The option
+ \code{formal} distinguishes between them, option \code{none} displays them
+ all without circle, option \code{all} circles all.
% circletype
- \option[option]{circletype}{\default{chem}|math} This option switches between
- two kinds of circled charge symbols: \cmd{fplus} \fplus\ and \lstinline+$\oplus$+
- $\oplus$. (default = \code{chem})
+ \Option[option]{circletype}{\default{chem}|math}\default{chem}
+ This option switches between two kinds of circled charge symbols:
+ \cmd{fplus} \fplus\ and \lstinline+$\oplus$+ $\oplus$.
% cmversion
- \option[option]{cmversion}{1|2|bundle} This option restores the old definitions
- of some commands, so documents set with v1.* will still compile correctly.
- (default = \code{bundle}). Actually \code{2} and \code{bundle} are only aliases.
- \emph{This option can only be chosen in the preamble}.
+ \Option[option]{cmversion}{1|2|3|4|newest}\Default{newest}
+ This option restores the old definitions of some commands and tries to
+ ensure backwards compatibility as much as possible (default = \code{4}).
+ Actually \code{2} and \code{3} are aliases, as are -- for now -- \code{4}
+ and \code{newest}. \emph{This option can only be chosen in the preamble}.
% ghsystem
- \option[option]{ghsystem}{\default{true}|false} Disable the use of the \ghsystem
- package. Setting \key{ghsystem}{false} will prevent \chemmacros from loading
- \ghsystem. (default = \code{true})
+ \Option[option]{ghsystem}{\default{true}|false}\Default{true}
+ Disable the automatic loading of the \ghsystem\ package.
% greek
- \option[option]{greek}{\default{auto}|math|textgreek|upgreek} This Option determines
- how the letters \cmd{Chemalpha} and friends are typeset. See page~\pageref{desc:upgreek}
- for more information. \emph{This option can only be chosen in the preamble}.
- Please note that this options \emph{does not load either \paket{upgreek} nor
- \paket{textgreek}!} It only determines which one to choose if available. The
- option will detect if either \paket{upgreek} or \paket{textgreek} have been
- loaded and use them if available. If you explicitly choose \code{upgreek} or
- \code{textgreek} you also have to load the corresponding package.
- (default = \code{auto})
+ \Option[option]{greek}{\default{auto}|kpfonts|math|newtx|textgreek|upgreek}\Default{auto}
+ This option determines how the letters \cmd{Chemalpha} and friends are
+ typeset. See page~\pageref{desc:upgreek} for more information. Please
+ note that this option \emph{does not load either \paket{upgreek},
+ \paket{kpfonts}, \paket{newtxmath} nor \paket{textgreek}!} It only
+ determines which one to choose if available. The option \code{auto} will
+ detect if either (in order of priority) \paket{upgreek}, \paket{textgreek},
+ \paket{kpfonts} or \paket{newtxmath} have been loaded and use them if
+ available. If you explicitly choose \code{upgreek}, \code{textgreek},
+ \paket{kpfonts} or \paket{newtxmath} you also have to load the
+ corresponding package. \emph{This option can only be chosen in the
+ preamble}.
% iupac
- \option[option]{iupac}{auto|restricted|strict} Take care of how \ac{iupac} naming
- commands are defined, see page~\pageref{desc:iupac} (default = \code{auto})
+ \Option[option]{iupac}{auto|restricted|strict}\Default{auto} Take care of
+ how \ac{iupac} naming commands are defined, see page~\pageref{desc:iupac}.
% language
- \option[option]{language}{american|british|english|french|german|italian|ngerman}
- Load language specific options. \code{english}, \code{american} and \code{british}
- are aliases, as are \code{german} and \code{ngerman}. \emph{This option can only
- be chosen in the preamble}. (default = \code{english}).
- % method
- \option[option]{method}{\default{chemformula}|mhchem} You can choose the method
- which \chemmacros will use for the reaction environments (see section~\ref{sec:reactions})
- and the typesetting of the particles (see section~\ref{sec:teilchen}). (default
- = \code{chemformula}). \emph{This option can only be chosen in the preamble}.
+ \Option[option]{language}{american|british|english|french|german|italian|ngerman}\Default{}
+ Load the language used by \chemmacros. \emph{This option can only be
+ chosen in the preamble}.
% Nu
- \option[option]{Nu}{\default{chemmacros}|mathspec} The package \paket{mathspec}
- also defines a macro \cmd{Nu}. This option chooses which definition holds, see
- page~\pageref{Nu}. (default = \code{chemmacros}). \emph{This option can only
- be chosen in the preamble}.
+ \Option[option]{Nu}{\default{chemmacros}|mathspec}\Default{chemmacros}
+ The package \paket{mathspec} also defines a macro \cmd{Nu}. This option
+ chooses which definition holds, see page~\pageref{Nu}. \emph{This option
+ can only be chosen in the preamble}.
% strict
- \option[option]{strict}{\default{true}|false} Setting \key{strict}{true} will
- turn all warning messages into erros messages. (default = \code{false})
+ \Option[option]{strict}{\default{true}|false}\Default{false}
+ Setting \key{strict}{true} will turn all warning messages into erros messages.
% synchronize
- \option[option]{synchronize}{\default{true}|false} The setting \code{true} will
- tell \chemmacros the adapt the font settings of \chemformula if that method has
- been chosen (default = \code{false}). In order to demonstrate this feature the
- first part of this document is set with \key{synchronize}{true} and the
- \chemformula setting
- \lstinline+\chemsetup[chemformula]{font-spec={[Color=darkgray]Latin Modern Sans}}+.
+ \Option[option]{synchronize}{\default{true}|false}\Default{false}
+ The setting \code{true} will tell \chemmacros\ to adapt the font settings
+ of \chemformula.
% xspace
- \option[option]{xspace}{\default{true}|false} With this option most commands are
- defined with a \lstinline+\xspace+. (default = \code{true})
+ \Option[option]{xspace}{\default{true}|false}\Default{true}
+ With this option most commands are defined with a \cmd*{xspace}.
\end{beschreibung}
\secidx*{Package Options}
\section{Setup}\label{sec:setup}\secidx{Setup}
-Various of \chemmacros', \chemformula's and \ghsystem's commands have key/value
-pairs with which they can be customized. Most times they can be used as (optional)
-argument of the commands themselves. They also can most times be used with the
-\cmd{chemsetup} command.
+Various of \chemmacros', \chemformula's and \ghsystem's commands have
+key/value pairs with which they can be customized. Most times they can be
+used as (optional) argument of the commands themselves. They also can most
+times be used with the \cmd{chemsetup} command.
\begin{beschreibung}
\Befehl{chemsetup}[<module>]{<key> = <value>} or
\Befehl{chemsetup}{<module>/<key> = <value>}
\end{beschreibung}
The keys each belong to a module, which defines for which commands they are
-intended for. If a key is presented, you'll see the module to which it belongs
-in the left margin. You have two ways to use keys with the \cmd{chemsetup}, as
-you can see above.
+intended for. If a key is presented, you'll see the module to which it
+belongs in the left margin. You have two ways to use keys with the
+\cmd{chemsetup}, as you can see above.
The package options can also be seen as keys belonging to the module
-\textcolor{module}{\code{option}}. This means they can also be used with the
+\textcolor{module}{\code{option}}. This means they can also be used with the
\cmd{chemsetup} command (except for the option \key[option]{version}{1/2/3}).
\begin{beispiel}
\chemsetup[option]{circled=none}\mch\ \pch\ \fmch\ \fpch\ \el\ \prt \\
@@ -464,10 +563,12 @@ The package options can also be seen as keys belonging to the module
\chemsetup{option/circletype=chem,option/circled=all}\mch\ \pch\ \fmch\ \fpch\ \el\ \prt \\
\chemsetup{option/circletype=math}\mch\ \pch\ \fmch\ \fpch\ \el\ \prt
\end{beispiel}
-Keys \emph{not} belonging to a module \emph{cannot} be used with \cmd{chemsetup}!
+Keys \emph{not} belonging to a module \emph{cannot} be used with
+\cmd{chemsetup}!
-All options of \chemformula belong to the module \textcolor{module}{\code{chemformula}}
-and all of \ghsystem's options belong to the module \textcolor{module}{\code{ghsystem}}.
+All options of \chemformula\ belong to the module
+\textcolor{module}{\code{chemformula}} and all of \ghsystem's options belong
+to the module \textcolor{module}{\code{ghsystem}}.
\secidx*{Setup}
\section{Language Settings}\label{sec:languages}\secidx{Language Settings}
@@ -476,20 +577,37 @@ By choosing the option
\begin{beispiel}[code only]
\chemsetup[option]{language=<language>}
\end{beispiel}
-you can set one of these languages: \code{american}, \code{british},\ code{english},
-\code{french}, \code{german}, \code{italian} and \code{ngerman}. The languages
-\code{american}, \code{british} and \code{english} are aliases, as are \code{german}
-and \code{ngerman}.
+you can set the language that is used by \chemmacros\ if you want that to be a
+different language than your main document language.
-These translate
+These translate (if the translations are available)
\begin{itemize}
- \item The header of the list of reactions.
- \item The beginning of the entries in the list of reactions.
- \item The H- and P-statements of the \ac{ghs}.
+ \item The header of the list of reactions.
+ \item The beginning of the entries in the list of reactions.
+ \item The H- and P-statements of the \ac{ghs}.
\end{itemize}
-\achtung{Please note, that the \ac{ghs} statements are not provided in all languages,
-see also section~\ref{sec:ghsystem_language}.}
+Currently the following translations are provided:
+\begin{beispiel}[code only]
+ % subscript used in \Ka:
+ \DeclareTranslation{German}{K-acid}{S}
+ % the phases \sld and \lqd:
+ \DeclareTranslation{German}{phase-sld}{f}
+ \DeclareTranslation{German}{phase-lqd}{f{}l}
+ % heading of the list of reactions:
+ \DeclareTranslation{English}{list-of-reactions}{List of reactions}
+ \DeclareTranslation{German} {list-of-reactions}{Reaktionsverzeichnis}
+ \DeclareTranslation{Italian}{list-of-reactions}{Elenco delle reazioni}
+ \DeclareTranslation{French} {list-of-reactions}{Table des r\'eactions}
+ % name at the beginning of each entry in the list of reactions:
+ \DeclareTranslation{English}{lor-reaction}{Reaction }
+ \DeclareTranslation{German} {lor-reaction}{Reaktion }
+ \DeclareTranslation{Italian}{lor-reaction}{Reazione }
+ \DeclareTranslation{French} {lor-reaction}{R\'eaction }
+\end{beispiel}
+All other languages will fall back to English. However, you can always add
+the translation you want. If you send me an email with translations you'd
+like to have added to \chemmacros\ I'll gladly add them.
\subsection{Specialties}
\subsubsection{German}
@@ -500,121 +618,59 @@ and the command \cmd{pKa} are translated.
\DeclareChemIUPAC{\ter}{\textit{ter}}\DeclareChemIUPAC{\sin}{\textit{sin}}%
Choosing the language \code{italian} defines two additional \ac{iupac} commands:
\begin{beschreibung}
- \befehl{ter} \iupac{\ter}
- \befehl{sin} \iupac{\sin}
+ \Befehl{ter} \iupac{\ter}
+ \Befehl{sin} \iupac{\sin}
\end{beschreibung}
\secidx*{Language Settings}
-
-\section{News}\secidx{News}
-\subsection{Version 3.3}
-\begin{itemize}
- \item With v3.3 there is the environment \env{experimental}{}, see
- section~\ref{sec:spektroskopie}. It can be used together with some new options
- and commands for the consistent typesetting of experimental data.
- \item The environment \env{reaction}{} and its kin can now cope with \lstinline+\label+,
- \lstinline+\ref+ and \lstinline+\intertext+, see section~\ref{sec:reactions}.
- \item The package options \key{german} and \key{ngerman} are deprecated, the
- replacement is \key{language}, see page~\pageref{key:option_language} and
- section~\ref{sec:languages} from page~\pageref{sec:languages}.
- \item The package option \key{upgreek} got renamed into \key{greek}.
- \item Some additional \code{\textbackslash\textcolor{code}{Chem<greekletter>}}-commands
- are provided, see section~\ref{sec:teilchen}.
-\end{itemize}
-
-\subsection{Version 3.3a}
-\begin{itemize}
- \item The \ac{iupac} commands \cmd{hapto} and \cmd{bridge} are new.
- \item The H and P statements now are available in Italian.
-\end{itemize}
-
-\subsection{Version 3.3d}
-\begin{itemize}
- \item \code{pdf} versions of the \ac{ghs} pictograms.
- \item New default values for bond length and bond offset, see
- page~\pageref{ssec:compounds:customization}.
- \item New option \key{bond-style}, see page~\pageref{ssec:compounds:customization}.
- \item new option \key{cip-kern}, see page~\pageref{par:cip}.
-\end{itemize}
-
-\subsection{Version 3.4}
-\begin{itemize}
- \item \chemmacros got an Italian manual, many thanks to Jonas Rivetti who
- volunteered to not only translate the H \&\ P statements but also this
- documentation!
- \item The command \cmd{bond} which allows to use other bonds than single, double
- and triple, see section~\ref{ssec:bonds}. I wanted to add this for a long time!
- \item A few changes to the looks of the radical point and new options to customize
- it, see section~\ref{ssec:compounds:customization}.
-\end{itemize}
-
-\subsection{Versions 3.5 and 3.6}
-\begin{itemize}
- \item Line breaks at bonds in formulas are no longer possible.
- \item Line breaks after arrows in formulas are possible.
- \item Some of the horizontal spaces in formulas are now stretch- and shrinkable.
- \item In formulas math escaping is also via \cmd*{(} and \cmd*{)} possible.
- \item New options: \key{radical-vshift}, \key{radical-hshift} and
- \key{radical-space} allow finer control over the radical dot.
- \item In stoichiometric factors a leading 0 is added if missing.
- \item New option: \key{stoich-paren-parse}.
- \item Various internal changes to the code.
- \item New option: \key{arrow-min-length}.
-\end{itemize}
-\secidx*{News}\secidx*{PRELIMINARIES}
+\secidx*{PRELIMINARIES}
\part{\texorpdfstring{\Chemmacros}{chemmacros}}\secidx{CHEMMACROS}\label{part:chemmacros}
\section{Particles, Ions and Symbols}\label{sec:teilchen}\secidx{Particles, Ions and Symbols}
\subsection{Predefined}\secidx[predefined]{Particles, Ions and Symbols}
-\chemmacros defines some simple macros for displaying often needed particles and
-symbols. Please note, that they're displayed differently depending on the package
-options used, see section~\ref{sec:optionen}. These commands can be used in text
-as well as in math mode. Note that they are not meant to be used in \Chemformula's
-\cmd{ch}.
-
-\begin{beschreibung}
- \befehl{Hpl} \Hpl (proton)
- \befehl{Hyd} \Hyd (hydroxide)
- \befehl{HtO} \HtO (oxonium ion) (\textbf{H} \textbf{t}hree \textbf{O})
- \befehl{water} \water
- \befehl{el} \el (electron)
- \befehl{prt} \prt (proton)
- \befehl{ntr} \ntr (neutron)
- \befehl{Nu} \Nu (nucleophile). The package \paket{mathspec} also defines a macro
- \cmd{Nu}. If you chose package option \key[option]{Nu}{mathspec} \chemmacros
- defines \cmd{Nuc} instead\label{Nu}.
- \befehl{El} \El (electrophile)
- \befehl{ba} \ba (base)
- \befehl{fplus} \fplus
- \befehl{fminus} \fminus
- \befehl{transitionstatesymbol} \transitionstatesymbol
- \befehl{standardstate} \standardstate. This symbol is only provided by \chemmacros,
- if the package \paket{chemstyle} is not loaded; the idea is borrowed from
- there\footnote{many thanks to the package author \href{http://www.texdev.net/}{Joseph Wright}.}.
- \befehl{Chemalpha} \Chemalpha
- \befehl{Chembeta} \Chembeta
- \befehl{Chemgamma} \Chemgamma
- \befehl{Chemdelta} \Chemdelta
- \befehl{Chemepsilon} \Chemepsilon
- \befehl{Chemeta} \Chemeta
- \befehl{Chemkappa} \Chemkappa
- \befehl{Chemmu} \Chemmu
- \befehl{Chemnu} \Chemnu
- \befehl{Chemrho} \Chemrho
- \befehl{Chempi} \Chempi
- \befehl{Chemsigma} \Chemsigma
- \befehl{Chemomega} \Chemomega
- \befehl{ChemDelta} \ChemDelta
-\end{beschreibung}
-
-\achtung{The command \cmd{Rad} has been dropped!}
-
-The two particles \cmd{Nu} and \cmd{ba} can be modified. To do that you use the
-option
-\begin{beschreibung}
- \Option[particle]{elpair}{false|\default{dots}|dash}.
+
+\chemmacros defines some simple macros for displaying often needed particles
+and symbols. Please note, that they're displayed differently depending on the
+package options used, see section~\ref{sec:optionen}. These commands can be
+used in text as well as in math mode. Note that they are not meant to be used
+in \chemformula's \cmd{ch}.
+
+\begin{beschreibung}
+ \Befehl{Hpl} \Hpl (proton)
+ \Befehl{Hyd} \Hyd (hydroxide)
+ \Befehl{HtO} \HtO (oxonium ion) (\textbf{H} \textbf{t}hree \textbf{O})
+ \Befehl{water} \water
+ \Befehl{el} \el (electron)
+ \Befehl{prt} \prt (proton)
+ \Befehl{ntr} \ntr (neutron)
+ \Befehl{Nu} \Nu (nucleophile).\newline
+ The package \paket{mathspec} also defines a macro \cmd{Nu}. If you chose
+ package option \key[option]{Nu}{mathspec} \chemmacros\ defines \cmd{Nuc}
+ instead\label{Nu}.
+ \Befehl{El} \El (electrophile)
+ \Befehl{ba} \ba (base)
+ \Befehl{fplus} \fplus
+ \Befehl{fminus} \fminus
+ \Befehl{transitionstatesymbol} \transitionstatesymbol
+ \Befehl{standardstate} \standardstate.\newline
+ This symbol is only provided by \chemmacros, if the package
+ \paket{chemstyle} is not loaded; the idea is borrowed from
+ there\footnote{many thanks to the package author
+ \href{http://www.texdev.net/}{Joseph Wright}.}.
+ \Befehl{Chemalpha} \Chemalpha, \cmd{ChemAlpha} \ChemAlpha\newline
+ For each of the 24 greek letters a lowercase and uppercase \cmd*{Chem...}
+ command is defined that maps to the upright greek letter as set with the
+ option \key{greek}. More details on this can be found in the manual of the
+ \chemgreek\ package.
+\end{beschreibung}
+
+The two particles \cmd{Nu} and \cmd{ba} can be modified. To do that you use
+the option
+\begin{beschreibung}
+ \Option[particle]{elpair}{false|\default{dots}|dash}\Default{false}
+ Set how the electron pair of the particles \cmd{Nu} and \cmd{ba} are set.
\end{beschreibung}
It only has any effect, if the package \paket{chemfig} is loaded, since it uses
-it's command \lstinline+\Lewis+.
+it's command \cmd*{Lewis}.
\begin{beispiel}
% needs package `chemfig'
\ba[elpair] \Nu[elpair=dash]
@@ -624,81 +680,69 @@ it's command \lstinline+\Lewis+.
\end{beispiel}
\label{desc:upgreek}The greek letters aren't newly defined symbols but are
-defined differently depending on the packages you've loaded. The default definition
-is the corresponding math letter. If you have loaded the \paket{textgreek} package
-the letters are taken from there, and if you have loaded the package \paket{upgreek}
-the macros of that package are used. This documentation uses \paket{upgreek} for
-instance. If you load both \paket{upgreek} and \paket{textgreek} the letters from
-\paket{upgreek} are used.
-
-If you don't want \chemmacros to use a package automatically but want to decide
-for yourself, there is the option \key[option]{greek}. Table~\ref{tab:upgreek_mode}
-shows the different styles for some of the letters.
-
-\begin{table}[h]
- \centering
- \begin{tabular}{lccc}\toprule
- & math & upgreek & textgreek \\\midrule
- \cmd{Chemalpha} & $\alpha$ & $\upalpha$ & \textalpha \\
- \cmd{Chembeta} & $\beta$ & $\upbeta$ & \textbeta \\
- \cmd{ChemDelta} & $\Delta$ & $\Updelta$ & \textDelta \\ \bottomrule
- \end{tabular}
- \caption{The greek letters}\label{tab:upgreek_mode}
-\end{table}
-
-The reason why \chemmacros defines these macros in the first place is \ac{iupac}
-compliance. \ac{iupac} recommends to use upright greek letters in nomenclature.
+defined differently depending on the packages you've loaded. The default
+definition is the corresponding math letter. If you have loaded the
+\paket{textgreek} package the letters are taken from there, and if you have
+loaded the package \paket{upgreek} the macros of that package are used. This
+is also described in the description of the package option \key{greek}, other
+details can be found in the documentation of the \chemgreek\ package. This
+documentation uses \paket{newtxmath} and the setting \key{greek}{newtx} for
+instance.
+
+The reason why \chemmacros\ uses these macros in the first place is \ac{iupac}
+compliance. \ac{iupac} recommends to use upright greek letters in
+nomenclature.
\begin{zitat}[{\ac{iupac} Green Book {\cite[][p.\,9]{iupac:greenbook}}}]
- Greek letters are used in systematic organic, inorganic, macromolecular and
- biochemical nomenclature. These should be roman (upright), since they are not
- symbols for physical quantities.
+ Greek letters are used in systematic organic, inorganic, macromolecular and
+ biochemical nomenclature. These should be roman (upright), since they are
+ not symbols for physical quantities.
\end{zitat}
-\chemmacros uses these commands now to define nomenclature commands, see
+\chemmacros\ uses these commands now to define nomenclature commands, see
page~\pageref{par:greek_letters}.
\subsection{Own Particles}\secidx[own]{Particles, Ions and Symbols}
+
Surely sometimes it can be handy to have other particle macros defined such as
-\lstinline+\positron+ or \lstinline+\photon+. This can easily be done with this
-command:
+\cmd*{positron} or \cmd*{photon}. This can easily be done with this command:
\begin{beschreibung}
\Befehl{DeclareChemParticle}{<cmd>}\ma{<definition>}
\Befehl{RenewChemParticle}{<cmd>}\ma{<definition>}
\end{beschreibung}
-Depending on the \key{method} you chose as option the \code{<definition>} will
-either be a formula defined with \paket{mhchem} or with \chemformula. The particle
-defined this way behaves like the predefined ones with one exception: if you chose
-\key{method}{mhchem} the particle \emph{will not} obey the option \key{circled}.
-If you want formal charges with this method you need to use \chemmacros' commands
-(see section~\ref{sec:ladungen}) explicitly. If you chose \key{method}{chemformula}
-the partictle \emph{will} obey the \key{circled} option.
+The particle defined this way behaves uses \chemformula' \cmd{ch} to typeset
+the particle which means that the \code{<definition>} should be a vaild
+\chemformula\ compound. Please have a look at the \chemformula\ manual for
+details. The particle will obey the \key{circled} option.
\begin{beispiel}
- % uses the `upgreek' package
- \DeclareChemParticle{\positron}{$\upbeta$+}
- \DeclareChemParticle{\photon}{$\upgamma$}
- \RenewChemParticle{\el}{$\upbeta$-}
+ \DeclareChemParticle{\positron}{\Chembeta+}
+ \DeclareChemParticle{\photon}{\Chemgamma}
+ \RenewChemParticle{\el}{\Chembeta-}
\positron\ \photon\ \el
\end{beispiel}
-\cmd{DeclareChemParticle} only defines a particle if \code{<cmd>} is not already
-used by any other command. If it \emph{is} already used \chemmacros will either
-give a warning or an error, depending on the option \key{strict}.
-\cmd{RenewChemParticle} \emph{only} defines a particle if \code{<cmd>} \emph{is}
-already used and issues a warning/error otherwise.
+\cmd{DeclareChemParticle} only defines a particle if \code{<cmd>} is not
+already used by any other command. If it \emph{is} already used \chemmacros
+will either give a warning or an error, depending on the option \key{strict}.
+\cmd{RenewChemParticle} \emph{only} defines a particle if \code{<cmd>}
+\emph{is} already used and issues a warning/error otherwise.
\secidx*{Particles, Ions and Symbols}
\section{Nomenclature, Stereo Descriptors, Latin Phrases}\label{sec:stereo}
\subsection{\acs{iupac} Names}\secidx{IUPAC Names}
-Similar to the \paket{bpchem} package \chemmacros provides a command\footnote{The
-idea and the implementation is shamelessly borrowed from \paket*{bpchem} by Bjørn
-Pedersen.} to typeset \ac{iupac} names. Why is that useful? \ac{iupac} names can get very
-long. So long indeed that they span over more than two lines, especially in
-two-column documents. This means they must be allowed to be broken more than one
-time. This is what the following command does.
+
+Similar to the \paket{bpchem} package \chemmacros\ provides a
+command\footnote{The idea and the implementation is shamelessly borrowed from
+ \paket*{bpchem} by Bjørn Pedersen.} to typeset \ac{iupac} names. Why is
+that useful? \ac{iupac} names can get very long. So long indeed that they
+span over more than two lines, especially in two-column documents. This means
+they must be allowed to be broken more than one time. This is what the
+following command does.
\begin{beschreibung}
- \Befehl{iupac}{<IUPAC name>} Inside this command use \cmd{|} and \cmd{-} to
- indicate a breaking point or a breaking dash. Use {\catcode`\^=11\relax\cmd{^}}
- as a shortcut for \lstinline=\textsuperscript=.
+ \Befehl{iupac}{<IUPAC name>}\newline
+ Inside this command use \cmd{|} and \cmd{-} to indicate a breaking point or
+ a breaking dash. Use {\catcode`\^=11\relax\cmd{^}} as a shortcut for
+ \cmd*{textsuperscript}. (These commands are similar to the shorthands
+ provided by \paket{babel} for certain languages.)
\end{beschreibung}
\begin{beispiel}
@@ -706,13 +750,14 @@ time. This is what the following command does.
\iupac{Tetra\|cyclo[2.2.2.1\^{1,4}]\-un\|decane-2\-dodecyl\-5\-(hepta\|decyl\|iso\|dodecyl\|thio\|ester)}
\end{minipage}
\end{beispiel}
-The \cmd{iupac} command is more of a semantic command. Most times you can achieve
-(nearly) the same thing by using \cmd{-} instead of \cmd{|}, \code{-} instead of
-\cmd{-} and \lstinline=\textsuperscript= instead of {\catcode`\^=11\relax\cmd{^}}.
+The \cmd{iupac} command is more of a semantic command. Most times you can
+achieve (nearly) the same thing by using \cmd{-} instead of \cmd{|}, \code{-}
+instead of \cmd{-} and \cmd*{textsuperscript} instead of
+{\catcode`\^=11\relax\cmd{^}}.
There are some subtleties: \cmd{-} inserts a small space before the hyphen and
-removes a small space after it. The command \cmd{|} not only prevents ligatures
-but also inserts a small space.
+removes a small space after it. The command \cmd{|} not only prevents
+ligatures but also inserts a small space.
\begin{beispiel}
\huge\iupac{2,4\-Di\|chlor\|pentan} \\
2,4-Dichlorpentan
@@ -720,35 +765,39 @@ but also inserts a small space.
The spaces inserted by these commands can be customized.
\begin{beschreibung}
- \option[iupac]{hyphen-pre-space}{<dim>} Default = \code{.01em}
- \option[iupac]{hyphen-post-space}{<dim>} Default = \code{-.03em}
- \option[iupac]{break-space}{<dim>} Default = \code{.01em}
-\end{beschreibung}
-
-The command \cmd{iupac} serves another purpose, too, however. Regardless of the
-setting of the \key[option]{iupac} option all the commands presented in this
-section are always defined \emph{inside} \cmd{iupac}. Quite a number of the naming
-commands have very general names: \cmd{meta}, \cmd{D}, \cmd{E}, \cmd{L}, \cmd{R},
-\cmd{S}, \cmd{trans} and so forth. This means they either are predefined already
-(\cmd{L} \L) or are easily defined by another package or class (the \paket{cool}
-package defines both \cmd{D} and \cmd{E}, for example). In order to give you
-control which commands are defined in which way, there is the package option
-\key[option]{iupac}\label{desc:iupac}. It has three modes:
+ \Option[iupac]{hyphen-pre-space}{<dim>}\Default{.01em}
+ Set the space that is inserted before the hyphen set with \cmd{-}.
+ \Option[iupac]{hyphen-post-space}{<dim>}\Default{-.03em}
+ Set the space that is inserted after the hyphen set with \cmd{-}.
+ \Option[iupac]{break-space}{<dim>}\Default{.01em}
+ Set the space inserted by \cmd{|}.
+\end{beschreibung}
+
+The command \cmd{iupac} serves another purpose, too, however. Regardless of
+the setting of the \key[option]{iupac} option all the commands presented in
+this section are always defined \emph{inside} \cmd{iupac}. Quite a number of
+the naming commands have very general names: \cmd{meta}, \cmd{D}, \cmd{E},
+\cmd{L}, \cmd{R}, \cmd{S}, \cmd{trans} and so forth. This means they either
+are predefined already (\cmd{L} \L) or are easily defined by another package
+or class (the \paket{cool} package defines both \cmd{D} and \cmd{E}, for
+example). In order to give you control which commands are defined in which
+way, there is the package option \key[option]{iupac}\label{desc:iupac}. It
+has three modes:
\begin{itemize}
- \item \key{iupac}{auto}: if the commands are \emph{not} defined by any package
- or class you're using they are available generally, otherwise only \emph{inside}
- \cmd{iupac}.
- \item \key{iupac}{restricted}: all naming commands are \emph{only} defined inside
- \cmd{iupac}. If the commands are defined by another package they of course
- have that meaning outside. They're not defined outside otherwise.
- \item \key{iupac}{strict}: \chemmacros overwrites any other definition and makes
- the commands available throughout the document. Of course the commands can be
- redefined (but only in the document body). They will still be available inside
- \cmd{iupac} then.
+\item \key{iupac}{auto}: if the commands are \emph{not} defined by any package
+ or class you're using they are available generally, otherwise only
+ \emph{inside} \cmd{iupac}.
+\item \key{iupac}{restricted}: all naming commands are \emph{only} defined
+ inside \cmd{iupac}. If the commands are defined by another package they of
+ course have that meaning outside. They're not defined outside otherwise.
+\item \key{iupac}{strict}: \chemmacros\ overwrites any other definition and
+ makes the commands available throughout the document. Of course the
+ commands can be redefined (but only in the document body). They will still
+ be available inside \cmd{iupac} then.
\end{itemize}
Table~\ref{tab:iupac_modes} demonstrates the different modes.
-\begin{table}[h]
+\begin{table}[ht]
\centering
\begin{tabular}{lccc}\toprule
& auto & restricted & strict \\\midrule
@@ -761,22 +810,26 @@ Table~\ref{tab:iupac_modes} demonstrates the different modes.
\end{table}
\subsubsection{Predefined Commands}\secidx[predefined]{IUPAC Names}\secidx{Stereo Descriptors and Nomenclature}
-The macros in this section are intended to make the writing of \ac{iupac} names more
-convenient.
+
+The macros in this section are intended to make the writing of \ac{iupac}
+names more convenient.
\paragraph{Greek Letters}\label{par:greek_letters}\secidx[greek letters]{IUPAC Names}
-Greek letters in compound names are typeset upright. For this there are the packages
-\paket{upgreek} and \paket{textgreek}. If you have loaded one of them \chemmacros
-typesets the following commands upright:
-\begin{beschreibung}
- \befehl{a} \iupac{\a}
- \befehl{b} \iupac{\b}
- \befehl{g} \iupac{\g}
- \befehl{d} \iupac{\d}
- \befehl{k} \iupac{\k}
- \befehl{m} \iupac{\m}
- \befehl{n} \iupac{\n}
- \befehl{w} \iupac{\w}
+
+Greek letters in compound names are typeset upright. For this there are for
+example the packages \paket{upgreek} and \paket{textgreek}. If you have
+loaded one of them\footnote{There are other options, see the description of
+ the \key{greek} option.} \chemmacros\ typesets the following commands
+upright:
+\begin{beschreibung}
+ \Befehl{a} \iupac{\a}
+ \Befehl{b} \iupac{\b}
+ \Befehl{g} \iupac{\g}
+ \Befehl{d} \iupac{\d}
+ \Befehl{k} \iupac{\k}
+ \Befehl{m} \iupac{\m}
+ \Befehl{n} \iupac{\n}
+ \Befehl{w} \iupac{\w}
\end{beschreibung}
\begin{beispiel}
\iupac{5\a\-androstan\-3\b\-ol} \\
@@ -784,15 +837,16 @@ typesets the following commands upright:
\end{beispiel}
\paragraph{Hetero Atoms and added Hydrogen}\secidx[hetero atoms]{IUPAC Names}
+
Attachments to hetero atoms and added hydrogen atoms are indicated by italic
-letters~\cite{iupac:greenbook}. \chemmacros defines a few shortcuts for the most
-common ones.
+letters~\cite{iupac:greenbook}. \chemmacros\ defines a few shortcuts for the
+most common ones.
\begin{beschreibung}
- \befehl{H} \iupac{\H}
- \befehl{O} \iupac{\O}
- \befehl{N} \iupac{\N}
- \befehl{Sf} \iupac{\Sf}
- \befehl{P} \iupac{\P}
+ \Befehl{H} \iupac{\H}
+ \Befehl{O} \iupac{\O}
+ \Befehl{N} \iupac{\N}
+ \Befehl{Sf} \iupac{\Sf}
+ \Befehl{P} \iupac{\P}
\end{beschreibung}
\begin{beispiel}
\iupac{\N\-methyl\|benz\|amide} \\
@@ -802,54 +856,59 @@ common ones.
\paragraph{Cahn-Ingold-Prelog}\index{Cahn-Ingold-Prelog}\secidx[Cahn-Ingold-Prelog]{IUPAC Names}\label{par:cip}
\begin{beschreibung}
- \befehl{cip}{<conf>} \eg: \cmd{cip}{R,S} \cip{R,S}
- \befehl{R} \iupac{\R}
- \befehl{S} \iupac{\S}
+ \Befehl{cip}{<conf>} \eg: \cmd{cip}{R,S} \cip{R,S}
+ \Befehl{R} \iupac{\R}
+ \Befehl{S} \iupac{\S}
\end{beschreibung}
-Since the command \cmd{S} has another meaning already (\S) it is only available
-inside \cmd{iupac} in the default setting.
+Since the command \cmd{S} has another meaning already (\S) it is only
+available inside \cmd{iupac} in the default setting.
-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:
+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:
\begin{beschreibung}
- \option[iupac]{cip-kern}{<dim>} amount of kerning after the closing parenthesis.
- Default = \code{.075em}
+ \Option[iupac]{cip-kern}{<dim>}\Default{.075em}
+ Set the amount of kerning after the closing parenthesis.
\end{beschreibung}
\paragraph{Fischer}\index{Fischer}\secidx[Fischer]{IUPAC Names}
\begin{beschreibung}
- \befehl{D} \iupac{\D}
- \befehl{L} \iupac{\L}
+ \Befehl{D} \iupac{\D}
+ \Befehl{L} \iupac{\L}
\end{beschreibung}
-Since the command \cmd{L} has another meaning already (\L) it is only available
-inside \cmd{iupac} in the default setting.
+Since the command \cmd{L} has another meaning already (\L) it is only
+available inside \cmd{iupac} in the default setting.
+
+\paragraph{cis/trans, zusammen/entgegen, syn/anti \& tert}
+\index{tert}\secidx[tert]{IUPAC Names}
+\index{cis/trans}\secidx[cis/trans]{IUPAC Names}
+\index{zusammen/entgegen}\secidx[zusammen/entgegen]{IUPAC Names}
+\secidx[syn/anti]{IUPAC Names}
-\paragraph{cis/trans, zusammen/entgegen, syn/anti \& tert}\index{tert}\secidx[tert]{IUPAC Names}\index{cis/trans}\secidx[cis/trans]{IUPAC Names}\index{zusammen/entgegen}\secidx[zusammen/entgegen]{IUPAC Names}\secidx[syn/anti]{IUPAC Names}
\begin{beschreibung}
- \befehl{cis} \cis
- \befehl{trans} \trans
- \befehl{Z} \Z
- \befehl{E} \E
- \befehl{syn} \syn
- \befehl{anti} \anti
- \befehl{tert} \tert
+ \Befehl{cis} \cis
+ \Befehl{trans} \trans
+ \Befehl{Z} \Z
+ \Befehl{E} \E
+ \Befehl{syn} \syn
+ \Befehl{anti} \anti
+ \Befehl{tert} \tert
\end{beschreibung}
-The package \paket{cool} defines the commands \cmd{E} and \cmd{D}, too. If you
-load it, the \chemmacros version will only be available inside \cmd{iupac} in
-the default setting.
+The package \paket{cool} defines the commands \cmd{E} and \cmd{D}, too. If
+you load it, the \chemmacros version will only be available inside \cmd{iupac}
+in the default setting.
\paragraph{ortho/meta/para}\index{ortho/meta/para}\secidx[ortho/meta/para]{IUPAC Names}
\begin{beschreibung}
- \befehl{ortho} \ortho
- \befehl{meta} \meta
- \befehl{para} \para
+ \Befehl{ortho} \ortho
+ \Befehl{meta} \meta
+ \Befehl{para} \para
\end{beschreibung}
\paragraph{Absolute Configuration}\index{absolute configuration} (uses \TikZ)
\begin{beschreibung}
- \befehl{Rconf}[<letter>] \cmd{Rconf}: \Rconf \quad\cmd{Rconf}[]: \Rconf[]
- \befehl{Sconf}[<letter>] \cmd{Sconf}: \Sconf \quad\cmd{Sconf}[]: \Sconf[]
+ \Befehl{Rconf}[<letter>] \cmd{Rconf}: \Rconf \quad\cmd{Rconf}[]: \Rconf[]
+ \Befehl{Sconf}[<letter>] \cmd{Sconf}: \Sconf \quad\cmd{Sconf}[]: \Sconf[]
\end{beschreibung}
Examples:
@@ -867,10 +926,11 @@ Examples:
\secidx*{Stereo Descriptors and Nomenclature}
\paragraph{Coordination Chemistry}
-\chemmacros provides two commands useful with coordination chemistry:
+
+\chemmacros\ provides two commands useful with coordination chemistry:
\begin{beschreibung}
- \befehl{bridge}{<num>} \bridge{3}
- \befehl{hapto}{<num>} \hapto{5}
+ \Befehl{bridge}{<num>} \bridge{3}
+ \Befehl{hapto}{<num>} \hapto{5}
\end{beschreibung}
\begin{beispiel}
Ferrocene = \iupac{bis(\hapto{5}cyclo\|penta\|dienyl)iron} \\
@@ -879,31 +939,34 @@ Examples:
Two options allow customization:
\begin{beschreibung}
- \option[iupac]{bridge-number}{sub|super} appends the number as a subscript or
- superscript. \ac{iupac} recommendation is the subscript \cite{iupac:redbook}.
- Default = \code{sub}
- \option[iupac]{coord-use-hyphen}{\default{true}|false} append a hyphen to
- \cmd{hapto} and \cmd{bridge} or don't. Default = \code{true}
+ \Option[iupac]{bridge-number}{sub|super}\Default{sub}
+ Appends the number as a subscript or superscript. \ac{iupac}
+ recommendation is the subscript \cite{iupac:redbook}.
+ \Option[iupac]{coord-use-hyphen}{\default{true}|false}\Default{true}
+ Append a hyphen to \cmd{hapto} and \cmd{bridge} or don't.
\end{beschreibung}
\subsubsection{Own Naming Commands}\secidx[own]{IUPAC Names}
+
If you find any commands missing you can define them using
\begin{beschreibung}
\Befehl{DeclareChemIUPAC}{<cmd>}\ma{<declaration>}
\Befehl{RenewChemIUPAC}{<cmd>}\ma{<declaration>}
\end{beschreibung}
-A command defined in this way will obey the setting of the option \key[option]{iupac}.
-This means any existing command is only overwritten with \key{iupac}{strict}. However,
-\cmd{DeclareChemIUPAC} will \emph{not} change the definition of an existing \ac{iupac}
-naming command but issue a warning/an error (depending on the package option
-\key{strict}) if the \ac{iupac} naming command already exists.
+A command defined in this way will obey the setting of the option
+\key[option]{iupac}. This means any existing command is only overwritten with
+\key{iupac}{strict}. However, \cmd{DeclareChemIUPAC} will \emph{not} change
+the definition of an existing \ac{iupac} naming command but issue a warning/an
+error (depending on the package option \key{strict}) if the \ac{iupac} naming
+command already exists.
\begin{beispiel}
\DeclareChemIUPAC\endo{\textit{endo}}
\RenewChemIUPAC\anti{\textit{anti}}
\iupac{(2\-\endo,7\-\anti)\-2\-bromo\-7\-fluoro\|bicyclo[2.2.1]heptane}
\end{beispiel}
-\cmd{RenewChemIUPAC} allows you to redefine the existing \ac{iupac} naming commands.
+\cmd{RenewChemIUPAC} allows you to redefine the existing \ac{iupac} naming
+commands.
\begin{beispiel}
\iupac{\meta\-Xylol} \\
\RenewChemIUPAC\meta{\textit{m}}
@@ -913,18 +976,19 @@ naming command but issue a warning/an error (depending on the package option
\secidx*{IUPAC Names}
\subsection{Latin Phrases}\secidx{Latin Phrases}
-The package \paket{chemstyle} provides the command \cmd{latin} to typeset common
-latin phrases in a consistent way. \chemmacros defines a similar \cmd{latin} only
-if \paket{chemstyle} has \emph{not} been loaded and additionally provides these
-commands:
+
+The package \paket{chemstyle} provides the command \cmd{latin} to typeset
+common latin phrases in a consistent way. \chemmacros\ defines a similar
+\cmd{latin} only if \paket{chemstyle} has \emph{not} been loaded and
+additionally provides these commands:
\begin{beschreibung}
- \befehl{insitu} \insitu
- \befehl{abinitio} \abinitio
- \befehl{invacuo} \invacuo
+ \Befehl{insitu} \insitu
+ \Befehl{abinitio} \abinitio
+ \Befehl{invacuo} \invacuo
\end{beschreibung}
If the package \paket{chemstyle} has been loaded they are defined using
-\paket{chemstyle}'s \cmd{latin} command. This means that then the appearance
+\paket{chemstyle}'s \cmd{latin} command. This means that then the appearance
depends on \paket{chemstyle}'s option \code{abbremph}.
The commands are defined through
@@ -936,65 +1000,71 @@ The commands are defined through
\DeclareChemLatin\ltn{latin text}
\ltn
\end{beispiel}
-If you have \emph{not} loaded \paket{chemstyle} you can change the appearance with
-this option:
+If you have \emph{not} loaded \paket{chemstyle} you can change the appearance
+with this option:
\begin{beschreibung}
- \option[latin]{format}{<definition>} Default = \lstinline+\itshape+
+ \Option[latin]{format}{<definition>}\Default{\cmd*{itshape}}
+ Set the format of the latin phrases.
\end{beschreibung}
\secidx*{Latin Phrases}
\section{Units for the Usage With \textsf{siunitx}}\label{sec:einheiten}\secidx{Units}
-In chemistry some non-SI units are very common. \paket{siunitx} provides the
-command \lstinline+\DeclareSIUnit{<command>}{<unit>}+ to add arbitrary units.
-\chemmacros uses that command to provide some units. Like all \paket{siunitx}
-units they're only valid inside \lstinline+\SI{<num>}{<unit>}+ and \lstinline+\si{<unit>}+.
-\begin{beschreibung}
- \befehl{atmosphere} \si{\atmosphere}
- \befehl{atm} \si{\atm}
- \befehl{calory} \si{\calory}
- \befehl{cal} \si{\cal}
- \befehl{cmc} \si{\cmc} The units \cmd{cmc}, \cmd{molar}, and \cmd{Molar} are
- defined by the package \paket{chemstyle} as well. \chemmacros only defines them,
- if \paket{chemstyle} is not loaded.
- \befehl{molar} \si{\molar}
- \befehl{moLar} \si{\moLar}
- \befehl{Molar} \si{\Molar}
- \befehl{MolMass} \si{\MolMass}
- \befehl{normal} \si{\normal}
- \befehl{torr} \si{\torr}
-\end{beschreibung}
-
-By the way: \lstinline+\mmHg+ \si{\mmHg} already is defined by \paket{siunitx}
-and \paket{chemstyle}
+
+In chemistry some non-SI units are very common. \paket{siunitx} provides the
+command \cmd*{DeclareSIUnit}{<command>}\ma{<unit>} to add arbitrary units.
+\chemmacros\ uses that command to provide some units. Like all
+\paket{siunitx} units they're only valid inside \cmd*{SI}{<num>}\ma{<unit>}
+and \cmd*{si}{<unit>}.
+\begin{beschreibung}
+ \Befehl{atmosphere} \si{\atmosphere}
+ \Befehl{atm} \si{\atm}
+ \Befehl{calory} \si{\calory}
+ \Befehl{cal} \si{\cal}
+ \Befehl{cmc} \si{\cmc}\newline
+ The units \cmd{cmc}, \cmd{molar}, and \cmd{Molar} are defined by the
+ package \paket{chemstyle} as well. \chemmacros\ only defines them, if
+ \paket{chemstyle} is not loaded.
+ \Befehl{molar} \si{\molar}
+ \Befehl{moLar} \si{\moLar}
+ \Befehl{Molar} \si{\Molar}
+ \Befehl{MolMass} \si{\MolMass}
+ \Befehl{normal} \si{\normal}
+ \Befehl{torr} \si{\torr}
+\end{beschreibung}
+
+By the way: \cmd*{mmHg} \si{\mmHg} already is defined by \paket{siunitx} and
+\paket{chemstyle}.
\secidx*{Units}
\section{Acid/Base}\label{sec:saeure_base}\secidx{Acid/Base}
+
Easy representation of \pH, \pKa \ldots\ (the command \cmd{pKa} depends on the
package option \key[option]{language}).
\begin{beschreibung}
- \befehl{pH} \pH
- \befehl{pOH} \pOH
- \befehl{Ka} \Ka
- \befehl{Kb} \Kb
- \befehl{Kw} \Kw
- \befehl{pKa}[<num>] \cmd{pKa}: \pKa, \cmd{pKa}[1]: \pKa[1]
- \befehl{pKb}[<num>] \cmd{pKb}: \pKb, \cmd{pKb}[1]: \pKb[1]
- \befehl{p}{<anything>} \eg \cmd{p}{\cmd{Kw}} \p{\Kw}
+ \Befehl{pH} \pH
+ \Befehl{pOH} \pOH
+ \Befehl{Ka} \Ka
+ \Befehl{Kb} \Kb
+ \Befehl{Kw} \Kw
+ \Befehl{pKa}[<num>] \cmd{pKa}: \pKa, \cmd{pKa}[1]: \pKa[1]
+ \Befehl{pKb}[<num>] \cmd{pKb}: \pKb, \cmd{pKb}[1]: \pKb[1]
+ \Befehl{p}{<anything>} \eg \cmd{p}{\cmd{Kw}} \p{\Kw}
\end{beschreibung}
\begin{beispiel}
\Ka \Kb \pKa \pKa[1] \pKb \pKb[1]
\end{beispiel}
-\achtung{The default appearance of the \p{}-commands has changed to follow \ac{iupac}
-recommendations.}
+\achtung{The default appearance of the \p{}-commands has changed to follow
+ \ac{iupac} recommendations.}
\begin{zitat}[{\acs{iupac} Green Book {\cite[][p.\,103]{iupac:greenbook}}}]
The operator \p{} \textelp{} shall be printed in Roman type.
\end{zitat}
There is one option which changes the style the \p{} is typeset:
\begin{beschreibung}
- \option[acid-base]{p-style}{italics|slanted|upright} Default = \code{upright}
+ \Option[acid-base]{p-style}{italics|slanted|upright}\Default{upright}
+ Set the style of the \p{} operator.
\end{beschreibung}
\begin{beispiel}
\pH, \pKa
@@ -1006,19 +1076,22 @@ There is one option which changes the style the \p{} is typeset:
\secidx*{Acid/Base}
\section{Oxidation Numbers, Real and Formal Charges}\label{sec:ladungen}
-\chemmacros distinguishes between real ($+$/$-$) and formal (\fplus/\fminus)
-charge symbols, also see section~\ref{sec:optionen}. All commands using formal
-charge symbols start with a \code{f}.
+
+\chemmacros\ distinguishes between real ($+$/$-$) and formal (\fplus/\fminus)
+charge symbols, also see section~\ref{sec:optionen}. All commands using
+formal charge symbols start with a \code{f}.
\subsection{Ion Charges}\label{ssec:ionen}\secidx{Ion Charges}
-Simple displaying of (real) charges. It is worth noting that these commands
-really are relicts from a time when \chemmacros tried hard to be compliant
-with \paket{mhchem} and \Chemformula didn't exist, yet. They are still provided
-for backwards compatibility but my recommendation is to use \cmd{ch}
-(see~\ref{part:chemformula}) and forget about these commands:
+
+Simple displaying of (real) charges. It is worth noting that these commands
+really are relicts from a time when \chemmacros\ tried hard to be compliant
+with \paket{mhchem} and \chemformula didn't exist, yet. They are still
+provided for backwards compatibility but \emph{my recommendation is to use}
+\cmd{ch} (see the documentation of the \chemformula\ package) \emph{and forget
+ about these commands:}
\begin{beschreibung}
- \befehl{pch}[<number>] positive charge (\textbf{p}lus + \textbf{ch}arge)
- \befehl{mch}[<number>] negative charge (\textbf{m}inus + \textbf{ch}arge)
+ \Befehl{pch}[<number>] positive charge (\textbf{p}lus + \textbf{ch}arge)
+ \Befehl{mch}[<number>] negative charge (\textbf{m}inus + \textbf{ch}arge)
\end{beschreibung}
\begin{beispiel}
@@ -1028,44 +1101,22 @@ for backwards compatibility but my recommendation is to use \cmd{ch}
The same for formal charges:
\begin{beschreibung}
- \befehl{fpch}[<number>] positive charge
- \befehl{fmch}[<number>] negative charge
+ \Befehl{fpch}[<number>] positive charge
+ \Befehl{fmch}[<number>] negative charge
\end{beschreibung}
\begin{beispiel}
\fpch\ \fmch\ \fpch[3] \fmch[3]
\end{beispiel}
-
-There is a key which influences the behaviour of the charges.
-\begin{beschreibung}
- \option[charges]{append}{\default{true}|false} if set \code{true}, the charge
- is appended together with an empty group.
-\end{beschreibung}
-This is how the key influences the behaviour:
-\begin{beispiel}
- % uses package `mhchem'
- \chemsetup{charges/append=false,phases/pos=sub}
- \ce{H\pch\aq} \ce{H\aq\pch}
-
- \chemsetup[charges]{append=true}
- \ce{H\pch\aq} \ce{H\aq\pch}
-\end{beispiel}
-In most cases this behaviour will be unwanted. However, in some cases it might be
-useful, for example together with the \cmd{ox} command (see next section):
-\begin{beispiel}
- \chemsetup{charges/append=false,phases/pos=sub}
- \ce{\ox{1,H}\pch\aq}
-
- \chemsetup[charges]{append=true}
- \ce{\ox{1,H}\pch\aq}
-\end{beispiel}
\secidx*{Ion Charges}
\subsection{Oxidation Numbers}\label{ssec:oxidationszahlen}\secidx{Oxidation Numbers}
+
Typesetting oxidation numbers:
\begin{beschreibung}
- \befehl{ox}[<keyval>]{<number>,<atom>} places \code{<number>} above \code{<atom>};
- \code{<number>} has to be a (rational) number!
+ \Befehl{ox}[<keyval>]{<number>,<atom>}\newline
+ Places \code{<number>} above \code{<atom>}; \code{<number>} has to be a
+ (rational) number!
\end{beschreibung}
\begin{beispiel}
@@ -1074,19 +1125,20 @@ Typesetting oxidation numbers:
There are a number of keys, that can be used to modify the \cmd{ox} command.
\begin{beschreibung}
- \option[ox]{parse}{\default{true}|false} when \code{false} an arbitrary entry
- can be used for \code{<number>}. Default = \code{true}
- \option[ox]{roman}{\default{true}|false} switches from roman to arabic numbers.
- Default = \code{true}
- \option[ox]{pos}{top|super|side}; \code{top} places \code{<number>} above
- \code{<atom>}, \code{super} to the upper right as superscript and \code{side}
- to the right and inside brackets. Default = \code{top}
- \option[ox]{explicit-sign}{\default{true}|false} shows the $+$ for positiv
- numbers and the $\pm$ for $0$. Default = \code{false}
- \option[ox]{decimal-marker}{comma|point} choice for the decimal marker for
- formal oxidation numbers like \ox{1.2,X}. Default = \code{point}
- \option[ox]{align}{center|right} center the oxidation number relative to the atom
- or right-align it. Default = \code{center}
+ \Option[ox]{parse}{\default{true}|false}\Default{true}
+ When \code{false} an arbitrary entry can be used for \code{<number>}.
+ \Option[ox]{roman}{\default{true}|false}\Default{false}
+ Switches from roman to arabic numbers.
+ \Option[ox]{pos}{top|super|side}\Default{top}
+ \code{top} places \code{<number>} above \code{<atom>}, \code{super} to the
+ upper right as superscript and \code{side} to the right and inside
+ brackets.
+ \Option[ox]{explicit-sign}{\default{true}|false}\Default{false}
+ Shows the $+$ for positiv numbers and the $\pm$ for $0$.
+ \Option[ox]{decimal-marker}{comma|point}\Default{point}
+ Choice for the decimal marker for formal oxidation numbers like \ox{1.2,X}.
+ \Option[ox]{align}{center|right}\Default{center}
+ Center the oxidation number relative to the atom or right-align it.
\end{beschreibung}
\begin{beispiel}
@@ -1102,8 +1154,8 @@ The \key[ox]{pos}{super} variant also can be set with the shortcut \cmd{ox}*:
\ox{3,Fe} \ox*{3,Fe}
\end{beispiel}
-Using the \key[ox]{explicit-sign} key will always show the sign of the oxidation
-number:
+Using the \key[ox]{explicit-sign} key will always show the sign of the
+oxidation number:
\begin{beispiel}
\chemsetup[ox]{explicit-sign = true}
\ox{+1,Na}, \ox{2,Ca}, \ox{-2,S}, \ch{"\ox{0,F}" {}2}
@@ -1113,13 +1165,14 @@ number:
Compare \ox{-1,\ch{O2^2-}} to \ch{"\ox{-1,O}" {}2^2-}
\end{beispiel}
-Sometimes one might want to use formal oxidation numbers like \num{.5} or $\frac{1}{3}$:
+Sometimes one might want to use formal oxidation numbers like \num{.5} or
+$\frac{1}{3}$:
\begin{beispiel}
\ox{.5,\ch{Br2}} \ch{"\ox{1/3,I}" {}3+}
\end{beispiel}
-The fraction uses the \lstinline+\sfrac+ command of the \paket{xfrac} package.
-For this purpose the instance \lstinline+chemmacros-ox-frac+ is defined.
+The fraction uses the \cmd*{sfrac} command of the \paket{xfrac} package. For
+this purpose the instance \code{chemmacros-ox-frac} is defined.
\begin{beispiel}[code only]
\DeclareInstance{xfrac}{chemmacros-ox-frac}{text}
{
@@ -1136,12 +1189,13 @@ strongly depends on the used font.
\secidx*{Oxidation Numbers}
\subsection{Partial Charges and Similar Stuff}\label{ssec:partialladungen}\secidx{Partial Charges}
+
The next ones probably are seldomly needed but nevertheless useful:
\begin{beschreibung}
- \befehl{delp} \delp\ (\textbf{del}ta + \textbf{p}lus)
- \befehl{delm} \delm\ (\textbf{del}ta + \textbf{m}inus)
- \befehl{fdelp} \fdelp
- \befehl{fdelm} \fdelm
+ \Befehl{delp} \delp\ (\textbf{del}ta + \textbf{p}lus)
+ \Befehl{delm} \delm\ (\textbf{del}ta + \textbf{m}inus)
+ \Befehl{fdelp} \fdelp
+ \Befehl{fdelm} \fdelm
\end{beschreibung}
These macros for example can be used with the \cmd{ox} command or with the
@@ -1157,12 +1211,12 @@ These macros for example can be used with the \cmd{ox} command or with the
The following macros are useful together with \paket{chemfig}, too.
\begin{beschreibung}
- \befehl{scrp} \scrp\ (\textbf{scr}iptstyle + \textbf{p}lus)
- \befehl{scrm} \scrm\ (\textbf{scr}iptstyle + \textbf{m}inus)
- \befehl{fscrp} \fscrp
- \befehl{fscrm} \fscrm
- \befehl{fsscrp} \fsscrp\ (using \lstinline+\scriptscriptstyle+)
- \befehl{fsscrm} \fsscrm
+ \Befehl{scrp} \scrp\ (\textbf{scr}iptstyle + \textbf{p}lus)
+ \Befehl{scrm} \scrm\ (\textbf{scr}iptstyle + \textbf{m}inus)
+ \Befehl{fscrp} \fscrp
+ \Befehl{fscrm} \fscrm
+ \Befehl{fsscrp} \fsscrp\ (using \lstinline+\scriptscriptstyle+)
+ \Befehl{fsscrm} \fsscrm
\end{beschreibung}
\begin{beispiel}
@@ -1173,42 +1227,57 @@ The following macros are useful together with \paket{chemfig}, too.
\secidx*{Partial Charges}
\section{Reaction Mechanisms}\label{sec:mechanismen}\secidx{Reaction Mechanisms}
+
With the command
\begin{beschreibung}
\Befehl{mech}[<type>]
\end{beschreibung}
-one can specify the most common reaction mechanisms. \code{<type>} can have one
-of the following values:
-\begin{beschreibung}
- \befehl{mech} (empty, no opt. argument) nucleophilic substitution \mech
- \befehl{mech}[1] unimolecular nucleophilic substitution \mech[1]
- \befehl{mech}[2] bimolecular nucleophilic substitution \mech[2]
- \befehl{mech}[se] electrophilic substitution \mech[se]
- \befehl{mech}[1e] unimolecular electrophilic substitution \mech[1e]
- \befehl{mech}[2e] bimolecular electrophilic substitution \mech[2e]
- \befehl{mech}[ar] electrophilic aromatic substitution \mech[ar]
- \befehl{mech}[e] elimination \mech[e]
- \befehl{mech}[e1] unimolecular elimination \mech[e1]
- \befehl{mech}[e2] bimolecular elimination \mech[e2]
- \befehl{mech}[cb] unimolecular elimination \enquote{conjugated base}, \ie via
- carbanion \mech[cb]
+one can specify the most common reaction mechanisms. \code{<type>} can have
+one of the following values:
+\begin{beschreibung}
+ \Befehl{mech}\newline
+ (empty, no opt. argument) nucleophilic substitution \mech
+ \Befehl{mech}[1]\newline
+ unimolecular nucleophilic substitution \mech[1]
+ \Befehl{mech}[2]\newline
+ bimolecular nucleophilic substitution \mech[2]
+ \Befehl{mech}[se]\newline
+ electrophilic substitution \mech[se]
+ \Befehl{mech}[1e]\newline
+ unimolecular electrophilic substitution \mech[1e]
+ \Befehl{mech}[2e]\newline
+ bimolecular electrophilic substitution \mech[2e]
+ \Befehl{mech}[ar]\newline
+ electrophilic aromatic substitution \mech[ar]
+ \Befehl{mech}[e]\newline
+ elimination \mech[e]
+ \Befehl{mech}[e1]\newline
+ unimolecular elimination \mech[e1]
+ \Befehl{mech}[e2]\newline
+ bimolecular elimination \mech[e2]
+ \Befehl{mech}[cb]\newline
+ unimolecular elimination \enquote{conjugated base}, \ie via carbanion
+ \mech[cb]
\end{beschreibung}
\secidx*{Reaction Mechanisms}
\section{Redox Reactions}\label{sec:redoxreaktionen}\secidx{Redox Reactions}% TODO: watch pagebreaks!
-\chemmacros provides two commands to visualize the transfer of electrons in redox
-reactions. Both commands are using \TikZ.
+
+\chemmacros provides two commands to visualize the transfer of electrons in
+redox reactions. Both commands are using \TikZ.
\begin{beschreibung}
\Befehl{OX}{<name>,<atom>}
- \Befehl{redox}(<name1>,<name2>)[<tikz>]\oa{<num>}{<text>} \cnpkgdocarrow\ Only
- the first argument \da{<name1>,<name2>} is required, the others are all optional.
+ \Befehl{redox}(<name1>,<name2>)[<tikz>]\oa{<num>}{<text>}\newline
+ Only the first argument \da{<name1>,<name2>} is required, the others are
+ all optional.
\end{beschreibung}
-\cmd{OX} places \code{<atom>} into a node, which is named with \code{<name>}. If
-you have set two \cmd{OX}, they can be connected with a line using \cmd{redox}.
-To do so the names of the two nodes that are to be connected are written in the
-round braces. Since \cmd{redox} draws a tikzpicture with options \code{remember
-picture,overlay}, the document needs to be \emph{compiled at least two times}.
+\cmd{OX} places \code{<atom>} into a node, which is named with \code{<name>}.
+If you have set two \cmd{OX}, they can be connected with a line using
+\cmd{redox}. To do so the names of the two nodes that are to be connected are
+written in the round braces. Since \cmd{redox} draws a tikzpicture with
+options \code{remember picture,overlay}, the document needs to be
+\emph{compiled at least two times}.
\begin{beispiel}[dist]
\OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b){oxidation}
\end{beispiel}
@@ -1217,10 +1286,10 @@ This line can be customized using \TikZ keys in \oa{<tikz>}:
\OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox}
\end{beispiel}
-With the argument \oa{<num>} the length of the vertical parts of the line can be
-adjusted. The default length is \code{.6em}. This length is multiplied with
-\code{<num>}. If you use a negative value the line is placed \emph{below} the
-text.
+With the argument \oa{<num>} the length of the vertical parts of the line can
+be adjusted. The default length is \code{.6em}. This length is multiplied
+with \code{<num>}. If you use a negative value the line is placed
+\emph{below} the text.
\begin{beispiel}[dist]
\OX{a,Na} $\rightarrow$ \OX{b,Na}\pch
\redox(a,b)[->,red]{ox}
@@ -1229,23 +1298,26 @@ text.
\end{beispiel}
The default length of the vertical lines can be customized with the option
\begin{beschreibung}
- \option[redox]{dist}{<dim>} A \TeX\ dimension. Default = \code{.6em}
+ \Option[redox]{dist}{<dim>}\Default{.6em}
+ A \TeX\ dimension.
\end{beschreibung}
\begin{beispiel}[dist]
\chemsetup{redox/dist=1em}
\OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox}
\end{beispiel}
-Additionally the option
\begin{beschreibung}
- \option[redox]{sep}{<dim>} Default = \code{.2em}
+ \Option[redox]{sep}{<dim>}\Default{.2em}
+ The option can be used to change the distance between the atom and the
+ beginning of the line.
\end{beschreibung}
-can be used to change the distance between the atom and the beginning of the line.
+
\begin{beispiel}[dist]
\chemsetup{redox/sep=.5em}
\OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox}
\end{beispiel}
+\newpage
Examples:% TODO: watch pagebreaks!
\begin{beispiel}[dist]
\ch{ 2 "\OX{o1,Na}" + "\OX{r1,Cl}" {}2 -> 2 "\OX{o2,Na}" \pch{} + 2
@@ -1280,9 +1352,9 @@ Examples:% TODO: watch pagebreaks!
\end{beispiel}
\secidx*{Redox Reactions}
-\newpage
\section{(Standard) State, Thermodynamics}\label{sec:standardstate}\secidx{Thermodynamics}
\subsection{Thermodynamic Variables}\label{ssec:siunitx}
+
The following commands use \paket{siunitx}:
\begin{beschreibung}
\Befehl{Enthalpy}[<keyval>]\da{<subscript>}\ma{<value>}
@@ -1313,8 +1385,8 @@ The default values depend on the command.
\Gibbs[delta=false]{0} \\
\Entropy[delta=\Delta,exponent=]{56.7}
\end{beispiel}
-The unit is set corresponding to the rules of \paket{siunitx} and depends on its
-settings:
+The unit is set corresponding to the rules of \paket{siunitx} and depends on
+its settings:
\begin{beispiel}
\Enthalpy{-1234.56e3} \\
\sisetup{per-mode=symbol,exponent-product=\cdot,output-decimal-marker={,},group-four-digits=true}
@@ -1322,6 +1394,7 @@ settings:
\end{beispiel}
\subsubsection{Create New Variables}
+
You can use the command
\begin{beschreibung}
\Befehl{DeclareChemState}[<keyval>]{<name>}\ma{<symbol>}\ma{<unit>}
@@ -1367,8 +1440,10 @@ define a molar and an absolute variable:
\end{beispiel}
\subsection{State}\label{ssec:state}
+
The commands presented in section~\ref{ssec:siunitx} internally all use the
-command\footnote{Please note that \ma{<subscript>} is an \emph{optional} argument.}
+command\footnote{Please note that \ma{<subscript>} is an \emph{optional}
+ argument.}
\begin{beschreibung}
\Befehl{State}[<keyval>]{<symbol>}\ma{<subscript>}
\end{beschreibung}
@@ -1389,13 +1464,15 @@ Again there are some keys to customize the command:
\secidx*{Thermodynamics}
\section{Spectroscopy and Experimental Data}\label{sec:spektroskopie}\secidx{Spectroscopy}
-\subsection{The \code{\textbackslash\textcolor{code}{NMR}} Command}
-When you're trying to find out if a compound is the one you think it is often NMR
-spectroscopy is used. The experimental data are typeset similar to this:
+\subsection{The \cmd*{NMR} Command}
+
+When you're trying to find out if a compound is the one you think it is often
+NMR spectroscopy is used. The experimental data are typeset similar to this:
\begin{center}
\NMR(400)[CDCl3] = \num{1.59}
\end{center}
-\chemmacros provides a command which simplifies the input (uses \paket{siunitx}).
+\chemmacros\ provides a command which simplifies the input (uses
+\paket{siunitx}).
\begin{beschreibung}
\Befehl{NMR}*{<num>,<elem>}\da{<num>,<unit>}\oa{<solvent>}
@@ -1431,6 +1508,7 @@ The third argument specifies the solvent:
\end{beispiel}
\subsection{Short Cuts}
+
It is possible to define short cut commands for specific nuclei.
\begin{beschreibung}
\Befehl{DeclareChemNMR}{<csname>}\ma{<num>,<atom>}
@@ -1446,26 +1524,33 @@ This defines a command with the same arguments as \cmd{NMR} \emph{except} for
\end{beispiel}
\subsection{An Environment to Typeset Experimental Data}
-\chemmacros provides an environment to ease the input of experimental data.
+
+\chemmacros\ provides an environment to ease the input of experimental data.
\begin{beschreibung}\catcode`\#=11
- \umg{experimental}{data} Environment for the output of experimental data. Inside
- the environment the following commands are defined.
- \Befehl{data}{<type>}\oa{<specification>} \cnpkgdocarrow\ Type of data, \eg\ IR,
- MS\ldots\ The optional argument takes further specifications which are output
- in parentheses.
- \Befehl{data}*{<type>}\oa{<specification>} \cnpkgdocarrow\ Like \cmd{data} but
- changes the \code{=} into a \code{:}, given that \key{use-equal}{true} is used.
- \Befehl{NMR}{<num>,<elem>\oa{<coupling core>}}\da{<num>,<unit>}\oa{<solvent>}
- \cnpkgdocarrow\ this command gets an additional argument:
- \cmd{NMR}{13,C[\textasciicircum 1H]} \NMR{13,C[^1H]}
- \Befehl{J}\da{<bonds>;<nuclei>}\oa{<unit>}\ma{<list of nums>} \cnpkgdocarrow\
- Coupling constant, values are input separated by \code{;} (NMR). The argument
- \da{<bonds>;<nuclei>} is optional and enables further specifications of the
- coupling.
- \befehl{#}{<num>} Number of nuclei (NMR).
- \befehl{pos}{<num>} Position of nuclues (NMR).
- \befehl{val}{<num>} A number, an alias of \paket*{siunitx}' \lstinline+\num{<num>}+
- \befehl{val}{<num1>-{}-<num2>} An alias of \paket*{siunitx}' \lstinline+\numrange{<num1>}{<num2>}+
+ \Umg{experimental}{data}\newline
+ Environment for the output of experimental data. Inside the environment
+ the following commands are defined.
+ \Befehl{data}{<type>}\oa{<specification>}\newline
+ Type of data, \eg\ IR, MS\ldots\ The optional argument takes further
+ specifications which are output in parentheses.
+ \Befehl{data}*{<type>}\oa{<specification>}\newline
+ Like \cmd{data} but changes the \code{=} into a \code{:}, given that
+ \key{use-equal}{true} is used.
+ \Befehl{NMR}{<num>,<elem>\oa{<coupling core>}}\da{<num>,<unit>}\oa{<solvent>}\newline
+ This command gets an additional argument: \cmd{NMR}{13,C[\textasciicircum
+ 1H]} \NMR{13,C[^1H]}
+ \Befehl{J}\da{<bonds>;<nuclei>}\oa{<unit>}\ma{<list of nums>}\newline
+ Coupling constant, values are input separated by \code{;} (NMR). The
+ argument \da{<bonds>;<nuclei>} is optional and enables further
+ specifications of the coupling.
+ \Befehl{#}{<num>}\newline
+ Number of nuclei (NMR).
+ \Befehl{pos}{<num>}\newline
+ Position of nuclues (NMR).
+ \Befehl{val}{<num>}\newline
+ A number, an alias of \paket*{siunitx}' \cmd*{num}{<num>}.
+ \Befehl{val}{<num1>-{}-<num2>}\newline
+ An alias of \paket*{siunitx}' \cmd*{numrange}{<num1>}\ma{<num2>}.
\end{beschreibung}
\begin{beispiel}
@@ -1477,25 +1562,31 @@ This defines a command with the same arguments as \cmd{NMR} \emph{except} for
\end{beispiel}
\subsection{Customization}
-The output of the environment and of the NMR commands can be customized be a number
-of options. For historical reasons they all belong to the module
+
+The output of the environment and of the NMR commands can be customized be a
+number of options. For historical reasons they all belong to the module
\textcolor{module}{\code{nmr}}.
\begin{beschreibung}
- \option[nmr]{unit}{<unit>} Default = \lstinline=\mega\hertz=
- \option[nmr]{nucleus}{\{<num>,<atom>\}} Default = \ma{1,H}
- \option[nmr]{format}{<commands>} for example \lstinline=\bfseries=
- \option[nmr]{pos-number}{side|sub} Position of the number next to the atom.
- Default = \code{side}
- \option[nmr]{coupling-unit}{<unit>} A \paket{siunitx} unit. Default =
- \lstinline=\hertz=
- \option[nmr]{parse}{\default{true}|false} Treat the solvent as \paket{mhchem}/\chemformula
- formula or not. Default = \code{true}
- \option[nmr]{delta}{<tokens>} The \code{<tokens>} are added after $\delta$.
- \option[nmr]{list}{\default{true}|false} The environment \env{nmr}[<optionen>]{} is
- formatted as a list. Default = \code{false}
- \option[nmr]{list-setup}{<setup>} Setup of the list. Default = see below.
- \option[nmr]{use-equal}{\default{true}|false} Add egual sign after \cmd{NMR}
- and \cmd{data}. Default = \code{false}
+ \Option[nmr]{unit}{<unit>}\Default{\cmd*{mega}\cmd*{hertz}}
+ The used default unit.
+ \Option[nmr]{nucleus}{\{<num>,<atom>\}}\Default{\ma{1,H}}
+ The used default nucleus.
+ \Option[nmr]{format}{<commands>}\Default{}
+ For example \cmd*{bfseries}.
+ \Option[nmr]{pos-number}{side|sub}\Default{side}
+ Position of the number next to the atom.
+ \Option[nmr]{coupling-unit}{<unit>}\Default{\cmd*{hertz}}
+ A \paket{siunitx} unit.
+ \Option[nmr]{parse}{\default{true}|false}\Default{true}
+ Treat the solvent as \chemformula\ formula or not.
+ \Option[nmr]{delta}{<tokens>}\Default{}
+ The \code{<tokens>} are added after $\delta$.
+ \Option[nmr]{list}{\default{true}|false}\Default{false}
+ The environment \env{nmr}[<optionen>]{} is formatted as a list
+ \Option[nmr]{list-setup}{<setup>}\newline
+ Setup of the list. See below for the default settings.
+ \Option[nmr]{use-equal}{\default{true}|false}\Default{false}
+ Add egual sign after \cmd{NMR} and \cmd{data}.
\end{beschreibung}
The default setup of the list:
@@ -1513,8 +1604,8 @@ The default setup of the list:
\end{experimental}
\end{beispiel}
-The command \cmd{NMR} and all commands defined through \cmd{DeclareChemNMR} can
-be used like \cmd{data} for the NMR data.
+The command \cmd{NMR} and all commands defined through \cmd{DeclareChemNMR}
+can be used like \cmd{data} for the NMR data.
\begin{beispiel}
\begin{experimental}[format=\bfseries,use-equal]
@@ -1525,8 +1616,9 @@ be used like \cmd{data} for the NMR data.
\end{beispiel}
\subsection{An Example}
-The code below is shown with different specifications for \code{<optionen>}. Of
-course options can also be chosen with \cmd{chemsetup}.
+
+The code below is shown with different specifications for \code{<optionen>}.
+Of course options can also be chosen with \cmd{chemsetup}.
\begin{beispiel}[code only]
\sisetup{separate-uncertainty,per-mode=symbol,detect-all,range-phrase=--}
@@ -1535,24 +1627,45 @@ course options can also be chosen with \cmd{chemsetup}.
%
\data{mp.} \SI{277}{\celsius} (DSC).
%
- \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}).
+ \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12},
+ \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8},
+ \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4},
+ \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}).
%
- \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$, \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8}, \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2}, \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4}, \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}), \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}).
+ \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$,
+ \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8},
+ \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2},
+ \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4},
+ \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}),
+ \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}).
%
- \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582} (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100).
+ \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582}
+ (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100).
%
- \data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100, \ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}).
+ \data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100,
+ \ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}).
%
- \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918} (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s), \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402} (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s), \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979} (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744} (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515} (w).
+ \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918}
+ (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s),
+ \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402}
+ (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s),
+ \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979}
+ (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744}
+ (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515}
+ (w).
%
- \data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$), \SI{406}{\nano\metre} ($\varepsilon = \val{65378}$).
+ \data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$),
+ \SI{406}{\nano\metre} ($\varepsilon = \val{65378}$).
%
\data*{quantum yield} $\Phi = \val{0.74+-0.1}$\,.
\end{experimental}
\end{beispiel}
\subsubsection{Nearly Standard}
-Output with these options: \lstinline+<optionen>: delta=(ppm),pos-number=sub,use-equal+
+
+Output with these options:
+\lstinline+<optionen>: delta=(ppm),pos-number=sub,use-equal+
+
\bigskip
\begin{experimental}[delta=(ppm),pos-number=sub,use-equal]
@@ -1567,31 +1680,32 @@ Output with these options: \lstinline+<optionen>: delta=(ppm),pos-number=sub,use
%
\data{mp.} \SI{277}{\celsius} (DSC).
%
- \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, \pos{1}),
- \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, \pos{3}), \val{7.05--7.07}
- (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, \pos{9}), \val{7.48--7.49} (m,
- \#{4}, \pos{8}).
+ \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12},
+ \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8},
+ \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4},
+ \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}).
%
- \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$, \#{8},
- \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8}, \pos{3}),
- \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2}, \pos{11}), \val{137.0}
- ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4}, \pos{2}), \val{140.6} (q, \#{2},
- \pos{10}), \val{140.8} (q, \#{8}, \pos{4}), \val{141.8} (q, \#{4}, \pos{6}),
- \val{145.6} (q, \#{2}, \pos{7}).
+ \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$,
+ \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8},
+ \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2},
+ \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4},
+ \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}),
+ \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}).
%
- \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582} (1),
- \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100).
+ \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582}
+ (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100).
%
\data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100,
\ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}).
%
- \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918} (m),
- \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s), \val{1592} (s),
- \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402} (m), \val{1357} (w),
- \val{1278} (w), \val{1238} (s), \val{1214} (s), \val{1172} (s), \val{1154} (m),
- \val{1101} (w), \val{1030} (w), \val{979} (m), \val{874} (m), \val{846} (s),
- \val{818} (w), \val{798} (m), \val{744} (w), \val{724} (m), \val{663} (w),
- \val{586} (w), \val{562} (w), \val{515} (w).
+ \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918}
+ (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s),
+ \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402}
+ (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s),
+ \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979}
+ (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744}
+ (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515}
+ (w).
%
\data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$),
\SI{406}{\nano\metre} ($\varepsilon = \val{65378}$).
@@ -1600,7 +1714,9 @@ Output with these options: \lstinline+<optionen>: delta=(ppm),pos-number=sub,use
\end{experimental}
\subsubsection{Formatted List}
-Output with these options: \lstinline+<optionen>: format=\bfseries,delta=(ppm),list=true,use-equal+
+Output with these options:
+\lstinline+<optionen>: format=\bfseries,delta=(ppm),list=true,use-equal+
+
\bigskip
\begin{experimental}[format=\bfseries,delta=(ppm),list=true,use-equal]
@@ -1615,31 +1731,32 @@ Output with these options: \lstinline+<optionen>: format=\bfseries,delta=(ppm),l
%
\data{mp.} \SI{277}{\celsius} (DSC).
%
- \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, \pos{1}),
- \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, \pos{3}), \val{7.05--7.07}
- (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, \pos{9}), \val{7.48--7.49} (m,
- \#{4}, \pos{8}).
+ \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12},
+ \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8},
+ \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4},
+ \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}).
%
- \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$, \#{8},
- \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8}, \pos{3}),
- \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2}, \pos{11}), \val{137.0}
- ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4}, \pos{2}), \val{140.6} (q, \#{2},
- \pos{10}), \val{140.8} (q, \#{8}, \pos{4}), \val{141.8} (q, \#{4}, \pos{6}),
- \val{145.6} (q, \#{2}, \pos{7}).
+ \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$,
+ \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8},
+ \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2},
+ \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4},
+ \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}),
+ \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}).
%
- \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582} (1),
- \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100).
+ \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582}
+ (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100).
%
\data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100,
\ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}).
%
- \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918} (m),
- \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s), \val{1592} (s),
- \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402} (m), \val{1357} (w),
- \val{1278} (w), \val{1238} (s), \val{1214} (s), \val{1172} (s), \val{1154} (m),
- \val{1101} (w), \val{1030} (w), \val{979} (m), \val{874} (m), \val{846} (s),
- \val{818} (w), \val{798} (m), \val{744} (w), \val{724} (m), \val{663} (w),
- \val{586} (w), \val{562} (w), \val{515} (w).
+ \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918}
+ (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s),
+ \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402}
+ (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s),
+ \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979}
+ (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744}
+ (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515}
+ (w).
%
\data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$),
\SI{406}{\nano\metre} ($\varepsilon = \val{65378}$).
@@ -1648,6 +1765,7 @@ Output with these options: \lstinline+<optionen>: format=\bfseries,delta=(ppm),l
\end{experimental}
\subsubsection{Crazy}
+
Output for these options: \code{<optionen>}:
\begin{lstlisting}
format=\color{red}\itshape,
@@ -1677,31 +1795,32 @@ Output for these options: \code{<optionen>}:
%
\data{mp.} \SI{277}{\celsius} (DSC).
%
- \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12}, \pos{1}),
- \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8}, \pos{3}), \val{7.05--7.07}
- (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4}, \pos{9}), \val{7.48--7.49} (m,
- \#{4}, \pos{8}).
+ \NMR(600)[CDCl3] \val{2.01} (s, \#{24}, \pos{5}), \val{2.31} (s, \#{12},
+ \pos{1}), \val{6.72--6.74} (m, \#{2}, \pos{11}), \val{6.82} (s, \#{8},
+ \pos{3}), \val{7.05--7.07} (m, \#{2}, \pos{12}), \val{7.39--7.41} (m, \#{4},
+ \pos{9}), \val{7.48--7.49} (m, \#{4}, \pos{8}).
%
- \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$, \#{8},
- \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8}, \pos{3}),
- \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2}, \pos{11}), \val{137.0}
- ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4}, \pos{2}), \val{140.6} (q, \#{2},
- \pos{10}), \val{140.8} (q, \#{8}, \pos{4}), \val{141.8} (q, \#{4}, \pos{6}),
- \val{145.6} (q, \#{2}, \pos{7}).
+ \NMR{13,C}(150)[CDCl3] \val{21.2} ($+$, \#{4}, \pos{1}), \val{23.4} ($+$,
+ \#{8}, \pos{5}), \val{126.0} ($+$, \#{4}, \pos{9}), \val{128.2} ($+$, \#{8},
+ \pos{3}), \val{130.8} ($+$, \#{2}, \pos{12}), \val{133.6} ($+$, \#{2},
+ \pos{11}), \val{137.0} ($+$, \#{4}, \pos{8}), \val{138.6} (q, \#{4},
+ \pos{2}), \val{140.6} (q, \#{2}, \pos{10}), \val{140.8} (q, \#{8}, \pos{4}),
+ \val{141.8} (q, \#{4}, \pos{6}), \val{145.6} (q, \#{2}, \pos{7}).
%
- \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582} (1),
- \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100).
+ \data{MS}[DCP, EI, \SI{60}{\electronvolt}] \val{703} (2, \ch{M+}), \val{582}
+ (1), \val{462} (1), \val{249} (13), \val{120} (41), \val{105} (100).
%
\data{MS}[\ch{MeOH + H2O + KI}, ESI, \SI{10}{\electronvolt}] \val{720} (100,
\ch{M+ + OH-}), \val{368} (\ch{M+ + 2 OH-}).
%
- \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918} (m),
- \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s), \val{1592} (s),
- \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402} (m), \val{1357} (w),
- \val{1278} (w), \val{1238} (s), \val{1214} (s), \val{1172} (s), \val{1154} (m),
- \val{1101} (w), \val{1030} (w), \val{979} (m), \val{874} (m), \val{846} (s),
- \val{818} (w), \val{798} (m), \val{744} (w), \val{724} (m), \val{663} (w),
- \val{586} (w), \val{562} (w), \val{515} (w).
+ \data{IR}[KBr] \val{3443} (w), \val{3061} (w), \val{2957} (m), \val{2918}
+ (m), \val{2856} (w), \val{2729} (w), \val{1725} (w), \val{1606} (s),
+ \val{1592} (s), \val{1545} (w), \val{1446} (m), \val{1421} (m), \val{1402}
+ (m), \val{1357} (w), \val{1278} (w), \val{1238} (s), \val{1214} (s),
+ \val{1172} (s), \val{1154} (m), \val{1101} (w), \val{1030} (w), \val{979}
+ (m), \val{874} (m), \val{846} (s), \val{818} (w), \val{798} (m), \val{744}
+ (w), \val{724} (m), \val{663} (w), \val{586} (w), \val{562} (w), \val{515}
+ (w).
%
\data*{UV-Vis} \SI{386}{\nano\metre} ($\varepsilon = \val{65984}$),
\SI{406}{\nano\metre} ($\varepsilon = \val{65378}$).
@@ -1711,34 +1830,35 @@ Output for these options: \code{<optionen>}:
\secidx*{Spectroscopy}
\section{Commands for \textsf{mhchem}}\label{sec:mhchem}\secidx{Commands for mhchem}
-\paket{mhchem} isn't loaded automatically any more but only if you've specified
-\key[option]{method}{mhchem} in the preamble. In the default settings \chemmacros
-uses \chemformula instead.
-\chemmacros provides only one command specifically for \paket*{mhchem}%
-\footnote{\chemformula provides its own possibility.}. It is meant to place text
-below of compounds.
+\paket{mhchem} is not officially supported by \chemmacros\ as it used
+\chemformula\ instead. However, for historical reasons the following command
+is still provided.
+
\begin{beschreibung}
\Befehl{mhName}[<keyval>]{<formula>}\ma{<text>}
\end{beschreibung}
For example:
\begin{beispiel}
- \ce{4 C2H5Cl + Pb / Na -> \mhName{Pb(C2H5)4}{former antiknock additive} + NaCl}
+ \ce{4 C2H5Cl + Pb{/}Na -> \mhName{Pb(C2H5)4}{former antiknock additive} + NaCl}
\end{beispiel}
There are several keys to customize \cmd{mhName}.
\begin{beschreibung}
- \option[mhName]{align}{<alignment command>} the alignment of the text in the box
- it is placed in, default = \lstinline+\centering+
- \option[mhName]{format}{<anything>} the format of the text
- \option[mhName]{fontsize}{<font size command>} the fontsize of the text, default
- = \lstinline+\tiny+
- \option[mhName]{width}{<dim>|auto} the width of the box the text is placed in,
- default = \code{auto}
+ \Option[mhName]{align}{<alignment command>}\Default{\cmd*{centering}}
+ The alignment of the text in the box it is placed in.
+ \Option[mhName]{format}{<anything>}\Default{}
+ The format of the text.
+ \Option[mhName]{fontsize}{<font size command>}\Default{\cmd*{tiny}}
+ The fontsize of the text.
+ \Option[mhName]{width}{<dim>|auto}\Default{auto}
+ The width of the box the text is placed in.
\end{beschreibung}
+Since version~3.13 of \paket{mhchem} you need to hide the command in braces if
+you want to use the optional argument,
\begin{beispiel}
- \ce{4 C2H5Cl + Pb / Na -> \mhName[fontsize=\footnotesize]{Pb(C2H5)4}{former antiknock additive} + NaCl}\\
+ \ce{4 C2H5Cl + Pb / Na -> {\mhName[fontsize=\footnotesize]{Pb(C2H5)4}{former antiknock additive}} + NaCl}\\
\chemsetup[mhName]{align=\raggedright,fontsize=\small,format=\bfseries\color{red},width=3cm}
\ce{4 C2H5Cl + Pb / Na -> \mhName{Pb(C2H5)4}{former antiknock additive} + NaCl}
\end{beispiel}
@@ -1746,6 +1866,7 @@ There are several keys to customize \cmd{mhName}.
\section{Reaction Environments}\label{sec:reactions}\secidx{Reaction Environments}
\subsection{Defined by \chemmacros}
+
You can use these environments for numbered\ldots
\begin{beschreibung}
\Umg{reaction}{<formula or mhchem code>}
@@ -1758,11 +1879,12 @@ You can use these environments for numbered\ldots
\Umg{reactions*}{<formula or mhchem code>}
\end{beschreibung}
-With them you can create (un)numbered reaction equations similar to mathematical
-equations.
+With them you can create (un)numbered reaction equations similar to
+mathematical equations.
-Theses environments use the \code{equation}/\code{equation*} environments or the
-\code{align}/\code{align*} environments, respectively, to display the reactions.
+Theses environments use the \code{equation}/\code{equation*} environments or
+the \code{align}/\code{align*} environments, respectively, to display the
+reactions.
\begin{beispiel}
Reaction with counter:
@@ -1806,7 +1928,7 @@ If you want to change the layout of the counter tags, you can use
\end{reaction}
\end{beispiel}
-With version 3.3 referencing and the use of \AmS math's \cmd{intertext} also
+With version~3.3 referencing and the use of \AmS math's \cmd{intertext} also
function properly:
\begin{beispiel}
\begin{reactions}
@@ -1817,33 +1939,29 @@ function properly:
See reaction~\ref{rxn:test}.
\end{beispiel}
-\achtung{In the standard setting, \ie using \key{method}{chemformula} you should
-not use \cmd{mch} and its relatives inside the \code{reaction} environments. They
-will very likely mess with spacing. In the standard setting charges inside the
-environments automatically recognize the setting of the option \key{circled} so
-there's also no need for the charge commands.}
+\achtung{You should not use \cmd{mch} and its relatives inside the
+ \code{reaction} environments.}
\subsection{Own Reactions}
You can create new types of reactions with the command:
\begin{beschreibung}
- \Befehl{DeclareChemReaction}[<keyval>]{<name>}\ma{<math name>}
+ \Befehl{DeclareChemReaction}[<keyval>]{<name>}\ma{<math name>}\newline
+ \code{<name>} will be the name of the new environment. \code{<math name>}
+ is the used math environment.
\end{beschreibung}
-\code{<name>} will be the name of the new environment. \code{<math name>} is the
-used math environment.
-
The command has two options.
\begin{beschreibung}
\Option*{star}{\default{true}|false}
\Option*{arg}{\default{true}|false}
\end{beschreibung}
There is \key*{star}, which will also define a starred version of the new
-environment, if the starred math environment exists. If it doesn't exist, this
-will cause an error.
+environment, if the starred math environment exists. If it doesn't exist,
+this will cause an error.
-Then there is \key*{arg}, which is used to define an environment with a mandatory
-argument. Of course this only works, if the used math environment has a mandatory
-argument.
+Then there is \key*{arg}, which is used to define an environment with a
+mandatory argument. Of course this only works, if the used math environment
+has a mandatory argument.
The predefined environments are defined via
\begin{beschreibung}
@@ -1851,8 +1969,9 @@ The predefined environments are defined via
\Befehl{DeclareChemReaction}[star]{reactions}\ma{align}.
\end{beschreibung}
-Let's suppose, you'd like to have the alignment behaviour of the \code{alignat}
-environment for \chemformula/\paket{mhchem} reactions. You could do the following:
+Let's suppose, you'd like to have the alignment behaviour of the
+\code{alignat} environment for \chemformula/\paket{mhchem} reactions. You
+could do the following:
\cmd{DeclareChemReaction}[star,arg]{reactionsat}\ma{alignat}
@@ -1870,8 +1989,9 @@ With this the \code{reactionsat} environment is defined.
\end{beispiel}
\subsection{List of Reactions}
-\chemmacros also provides a command to display a list of the reactions created
-with the \lstinline+reaction+ environment.
+
+\chemmacros\ also provides a command to display a list of the reactions
+created with the \code{reaction} environment.
\begin{beschreibung}
\Befehl{listofreactions}
\end{beschreibung}
@@ -1881,76 +2001,80 @@ with the \lstinline+reaction+ environment.
The Output of this list can be modified by two options:
\begin{beschreibung}
- \option[reaction]{list-name}{<name of the list>} Let's you set the name of the
- list manually. Default = \code{List of reactions}
- \option[reaction]{list-entry}{<prefix to each entry>} Let's you set a prefix to
- each list entry. Default = \code{Reaction}
+ \Option[reaction]{list-name}{<name of the list>}\Default{List of reactions}
+ Let's you set the name of the list manually. The default name is language
+ dependent, see section~\ref{sec:languages}.
+ \Option[reaction]{list-entry}{<prefix to each entry>}\Default{Reaction}
+ Let's you set a prefix to each list entry. The default name is language
+ dependent, see section~\ref{sec:languages}.
\end{beschreibung}
-Both default option values recognize the package option \key[option]{german}.
+Instead of using the option \key{list-name} you also could redefine
+\cmd{reactionlistname}.
-Instead of using the option \key{list-name} you also could redefine \cmd{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.
+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.
\begin{beispiel}
\begin{reaction}[Autoprotolyse]
2 H2O <<=> H3O+ + OH-
\end{reaction}
\end{beispiel}
-If you use the \code{reactions} environment this will not work, though. In this
-case you can use
+If you use the \code{reactions} environment this will not work, though. In
+this case you can use
\begin{beschreibung}
\Befehl{AddRxnDesc}{<description>}
\end{beschreibung}
\begin{beispiel}
\begin{reactions}
- Cl "\Lewis{0.,\vphantom{Cl}}" + CH4 &-> HCl + "\Lewis{4.,\vphantom{CH}}" CH3 \AddRxnDesc{first~step~of~chain} \\
- "\Lewis{4.,\vphantom{CH}}" CH3 + Cl2 &-> CH3Cl + Cl "\Lewis{0.,\vphantom{Cl}}" \AddRxnDesc{second~step~of~chain}
+ Cl "\Lewis{0.,\vphantom{Cl}}" + CH4 &
+ -> HCl + "\Lewis{4.,\vphantom{CH}}" CH3 \AddRxnDesc{first~step~of~chain} \\
+ "\Lewis{4.,\vphantom{CH}}" CH3 + Cl2 &
+ -> CH3Cl + Cl "\Lewis{0.,\vphantom{Cl}}" \AddRxnDesc{second~step~of~chain}
\end{reactions}
\end{beispiel}
-Note: you don't have to use the phantom commands if you haven't changed the format
-of the atoms, see section~\ref{sec:format} on page~\pageref{sec:format}.
+Note: you don't have to use the phantom commands if you haven't changed the
+format of the atoms (see the documentation of the \chemformula\ package for
+information on how to do this).
+
\secidx*{Reaction Environments}
\section{Phases}\label{sec:phasen}\secidx{Phases}
\subsection{Basics}\secidx[basics]{Phases}
+
These commands are intended to indicate the phase of a compound.
\begin{beschreibung}
- \befehl{sld} \sld
- \befehl{lqd} \lqd
- \befehl{gas} \gas
- \befehl{aq} \aq
+ \Befehl{sld} \sld
+ \Befehl{lqd} \lqd
+ \Befehl{gas} \gas
+ \Befehl{aq} \aq
\end{beschreibung}
-\achtung{The default behaviour of the phases commands has changed to be consistent
-with \ac{iupac} recommendations. Both \cmd{sld} and \cmd{lqd} have lost their optional
-argument.}
+\achtung{The default behaviour of the phases commands has changed to be
+ consistent with \ac{iupac} recommendations. Both \cmd{sld} and \cmd{lqd}
+ have lost their optional argument.}
\begin{beispiel}
\ch{C\sld{} + 2 H2O\lqd{} -> CO2\gas{} + 2 H2\gas}\\
To make it complete: NaCl\aq.
\end{beispiel}
-With the package option \key{language}{german} (see section~\ref{sec:optionen})
-you get the german versions.
-
-The \ac{iupac} recommendation to indicate the state of aggregation is to put it in
-parentheses after the compound \cite{iupac:greenbook}. However, you might want
-to put it as a subscript which is also very common.
+The \ac{iupac} recommendation to indicate the state of aggregation is to put
+it in parentheses after the compound \cite{iupac:greenbook}. However, you
+might want to put it as a subscript which is also very common.
\begin{zitat}[{\acs{iupac} Green Book {\cite[][p.\,54]{iupac:greenbook}}}]
- The \textelp{} 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 \textelp{} 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).
\end{zitat}
There are two options to customize the output:
\begin{beschreibung}
- \option[phases]{pos}{side|sub} Switch the position of the phase indicator.
- Default = \code{side}
- \option[phases]{space}{<dim>} Change the default spacing between compound a phase
- indicator if \key{pos}{side}. A \TeX\ dimension. Default = \code{.1333em}
+ \Option[phases]{pos}{side|sub}\Default{side}
+ Switch the position of the phase indicator.
+ \Option[phases]{space}{<dim>}\Default{.1333em}
+ Change the default spacing between compound a phase indicator if
+ \key{pos}{side}. A \TeX\ dimension.
\end{beschreibung}
\begin{beispiel}
\chemsetup[phases]{pos=sub}
@@ -1959,22 +2083,27 @@ There are two options to customize the output:
\end{beispiel}
\subsection{Define Own Phases}\secidx[own]{Phases}
-Depending on the subject of your document you might need to indicate other states
-of aggregation. You can easily define them.
+Depending on the subject of your document you might need to indicate other
+states of aggregation. You can easily define them.
\begin{beschreibung}
\Befehl{DeclareChemPhase}{<cmd>}\oa{<german>}\ma{<english>}
\Befehl{RenewChemPhase}{<cmd>}\oa{<german>}\ma{<english>}
- \befehl{phase}{<phase>} If you need a phase indicator just once or twice.
-\end{beschreibung}
-\cmd{DeclareChemPhase} only defines a phase if \code{<cmd>} is not already used
-by any other command. If it \emph{is} already used \chemmacros will either give
-a warning or an error, depending on the option \key{strict}. \cmd{RenewChemPhase}
-\emph{only} defines a phase if \code{<cmd>} \emph{is} already used and issues a
-warning/error otherwise.
-\begin{beispiel}
- \DeclareChemPhase{\aqi}{aq,$\infty$}% aqueous solution at infinite dilution
- \DeclareChemPhase{\cd}{cd}% condensed phase
- \RenewChemPhase{\lqd}{lc}% liquid crystal
+ \Befehl{phase}{<phase>}\newline
+ If you need a phase indicator just once or twice.
+\end{beschreibung}
+\cmd{DeclareChemPhase} only defines a phase if \code{<cmd>} is not already
+used by any other command. If it \emph{is} already used \chemmacros will
+either give a warning or an error, depending on the option \key{strict}.
+\cmd{RenewChemPhase} \emph{only} defines a phase if \code{<cmd>} \emph{is}
+already used and issues a warning/error otherwise. Unlike the other
+declaration commands of \chemmacros\ \cmd{DeclareChemPhase} and
+\cmd{RenewChemPhase} \emph{can only be used in the preamble.}
+
+\begin{beispiel}
+ % preamble:
+ % \DeclareChemPhase{\aqi}{aq,$\infty$}% aqueous solution at infinite dilution
+ % \DeclareChemPhase{\cd}{cd}% condensed phase
+ % \RenewChemPhase{\lqd}{lc}% liquid crystal
NaOH\aqi\ \ch{H2O\cd} U\phase{cr} A\lqd \\
\chemsetup[phases]{pos=sub}
NaOH\aqi\ \ch{H2O\cd} U\phase{cr} A\lqd
@@ -1986,8 +2115,9 @@ warning/error otherwise.
\begin{beschreibung}
\Befehl{newman}[<keyval>]\da{<angle>}\ma{<1>,<2>,<3>,<4>,<5>,<6>}
\end{beschreibung}
-which allows you to create newman projections (uses \TikZ). With \code{<angle>}
-the back atoms are rotated counter clockwise with respect to the front atoms.
+which allows you to create newman projections (uses \TikZ). With
+\code{<angle>} the back atoms are rotated counter clockwise with respect to
+the front atoms.
\begin{beispiel}
\newman{} \newman(170){}
\newman{1,2,3,4,5,6} \newman{1,2,3} \newman{,,,4,5,6}
@@ -1995,11 +2125,16 @@ the back atoms are rotated counter clockwise with respect to the front atoms.
Several options allow customization:
\begin{beschreibung}
- \option[newman]{angle}{<angle>} default angle
- \option[newman]{scale}{<factor>} scale the whole projection
- \option[newman]{ring}{<tikz>} customize the ring with \TikZ keys
- \option[newman]{atoms}{<tikz>} customize the nodes within which the atoms are set
- \option[newman]{back-atoms}{<tikz>} explicitly customize the back atoms
+ \Option[newman]{angle}{<angle>}\Default{0}
+ Default angle.
+ \Option[newman]{scale}{<factor>}\Default{1}
+ Scale the whole projection.
+ \Option[newman]{ring}{<tikz>}\Default{}
+ Customize the ring with \TikZ keys.
+ \Option[newman]{atoms}{<tikz>}\Default{}
+ Customize the nodes within which the atoms are set.
+ \Option[newman]{back-atoms}{<tikz>}\Default{}
+ Explicitly customize the back atoms.
\end{beschreibung}
\begin{beispiel}
@@ -2020,6 +2155,7 @@ Several options allow customization:
\secidx*{Newman Projections}
\section{s, p, and Hybrid Orbitals}\label{sec:orbitale}\secidx{Orbitals}
+
\chemmacros provides the following command to create orbitals:
\begin{beschreibung}
\Befehl{orbital}[<keyval>]{<type}
@@ -2040,13 +2176,17 @@ There are the following types available for \code{<type>}:
Depending on the type you have different options to modify the orbitals:
\begin{beschreibung}
- \option[orbital]{phase}{\default{+}|-} changes the phase of the orbital (all types)
- \option[orbital]{scale}{<factor>} changes the size of the orbital (all types)
- \option[orbital]{color}{<color>} changes the color of the orbital (all types)
- \option[orbital]{angle}{<angle>} rotates the orbitals with a p contribution counter
- clockwise (all types except \code{s})
- \option[orbital]{half}{\default{true}|false} displays only half an orbital (only
- \code{p})
+ \Option[orbital]{phase}{\default{+}|-}\newline
+ changes the phase of the orbital (all types)
+ \Option[orbital]{scale}{<factor>}\newline
+ changes the size of the orbital (all types)
+ \Option[orbital]{color}{<color>}\newline
+ changes the color of the orbital (all types)
+ \Option[orbital]{angle}{<angle>}\newline
+ rotates the orbitals with a p contribution counter clockwise (all types
+ except \code{s})
+ \Option[orbital]{half}{\default{true}|false}\newline
+ displays only half an orbital (only \code{p})
\end{beschreibung}
\begin{beispiel}
@@ -2054,15 +2194,19 @@ Depending on the type you have different options to modify the orbitals:
\orbital{p} \orbital[phase=-]{p}
\orbital{sp3} \orbital[phase=-]{sp3}
- \orbital[angle=0]{p} \orbital[color=red!50]{p} \orbital[angle=135,scale=1.5]{p} \orbital[half]{p}
+ \orbital[angle=0]{p} \orbital[color=red!50]{p}
+ \orbital[angle=135,scale=1.5]{p} \orbital[half]{p}
\end{beispiel}
-Additionally there are two options, with which the \TikZ behaviour can be changed.
+Additionally there are two options, with which the \TikZ behaviour can be
+changed.
\begin{beschreibung}
- \option[orbital]{overlay}{\default{true}|false} the orbital \enquote{doesn't need
- space}; it is displayed with the \TikZ option \code{overlay}.
- \option[orbital]{opacity}{<num>} the orbital becomes transparent; \code{<value>}
- can have values between \code{1} (fully opaque) to \code{0} (invisible).
+ \Option[orbital]{overlay}{\default{true}|false}\newline
+ The orbital \enquote{doesn't need space}; it is displayed with the \TikZ
+ option \code{overlay}.
+ \Option[orbital]{opacity}{<num>}\newline
+ The orbital becomes transparent; \code{<value>} can have values between
+ \code{1} (fully opaque) to \code{0} (invisible).
\end{beschreibung}
\begin{beispiel}[dist]
\hspace{1cm}
@@ -2071,7 +2215,14 @@ Additionally there are two options, with which the \TikZ behaviour can be change
p/color = black!70
}
\setbondoffset{0pt}
- \chemfig{?\orbital{p}-[,1.3]{\orbital[phase=-]{p}}-[:30,1.1]\orbital{p}-[:150,.9]{\orbital[phase=-]{p}}-[4,1.3]\orbital{p}-[:-150,1.1]{\orbital[phase=-]{p}}?}
+ \chemfig{
+ ?\orbital{p}
+ -[,1.3]{\orbital[phase=-]{p}}
+ -[:30,1.1]\orbital{p}
+ -[:150,.9]{\orbital[phase=-]{p}}
+ -[4,1.3]\orbital{p}
+ -[:-150,1.1]{\orbital[phase=-]{p}}?
+ }
\vspace{7mm}
\end{beispiel}
@@ -2086,1349 +2237,52 @@ Additionally there are two options, with which the \TikZ behaviour can be change
s/color = blue!50 ,
s/scale = 1.6
}
- \chemfig{\orbital{s}-[:-20]{\orbital[scale=2]{p}}{\orbital[half,angle=0]{p}}{\orbital[angle=170,half]{p}}{\orbital[angle=-150,half]{p}}(-[:-150]\orbital{s})-\orbital{s}}
+ \chemfig{
+ \orbital{s}
+ -[:-20]{\orbital[scale=2]{p}}{\orbital[half,angle=0]{p}}{\orbital[angle=170,half]{p}}{\orbital[angle=-150,half]{p}}
+ (-[:-150]\orbital{s})-\orbital{s}
+ }
\vspace{1cm}
\end{beispiel}
\bspmidlength{dist}{7mm}
\secidx*{Orbitals}\secidx*{CHEMMACROS}
-\newpage
-\part{\texorpdfstring{\Chemformula}{chemformula}}\secidx{CHEMFORMULA}\label{part:chemformula}
-\chemsetup[chemformula]{
- font-spec =
- {[Numbers={Proportional,Lining}]Linux Libertine O}
-}
-\section{Setup}
-All of \chemformula's options belong to the module \textcolor{module}{\code{chemformula}}.
-This means they can be setup with
-\begin{beispiel}[code only]
- \chemsetup[chemformula]{<options>} or
- \chemsetup{chemformula/<option1>,chemformula/<option2>}
-\end{beispiel}
-
-\section{The Basic Principle}
-\chemformula offers one main command.
-\begin{beschreibung}
- \Befehl{ch}[<options>]{<input>}
-\end{beschreibung}
-The usage will seem very familiar to you if you're familiar with \paket{mhchem}:
-\begin{beispiel}
- \ch{H2O} \\
- \ch{Sb2O3} \\
- \ch{H+} \\
- \ch{CrO4^2-} \\
- \ch{AgCl2-} \\
- \ch{[AgCl2]-} \\
- \ch{Y^{99}+} \\
- \ch{Y^{99+}} \\
- \ch{H2_{(aq)}} \\
- \ch{NO3-} \\
- \ch{(NH4)2S} \\
- \ch{^{227}_{90}Th+} \\
- $V_{\ch{H2O}}$ \\
- \ch{Ce^{IV}} \\
- \ch{KCr(SO4)2 * 12 H2O}
-\end{beispiel}
-
-However, there are differences. The most notable one: \chemformula distinguishes
-between different types of input. These different parts \emph{have} to be separated
-with blanks:
-\begin{beschreibung}
- \Befehl{ch}{part1 part2 part3 part4}
-\end{beschreibung}
-A blank in the input \emph{never} is a blank in the output. This role of the blank
-strictly holds and disregarding it can have unexpected results and even lead to errors.
-
-Another notable difference: \chemformula tries to avoid math mode whenever possible:
-\begin{beispiel}
- \ch{A + B ->[a] C} \\
- \ce{A + B ->[a] C}
-\end{beispiel}
-
-This means that \cmd{ch}{2H2O} is recognized as a \emph{single} part, which in
-this case is recognized as a compound.
-\begin{beispiel}
- \ch{2H2O} \\
- \ch{2 H2O}
-\end{beispiel}
-This also means, that a part cannot contain a blank since this will automatically
-divide it into two parts. If you need an extra blank in the output you need to use
-\lstinline+~+. However, since commands in most cases gobble a space after them a
-input like \cmd{ch}{\textbackslash command ABC} will be treated as a single part.
-If you want or need to divide them you need to add an empty group:
-\cmd{ch}{\textbackslash command\{\} ABC}. The different input types are described
-in the following sections.
-
-There are some options to customize the output of the \cmd{ch} command. They can
-either be applied locally using the optional argument or can be set globally using
-the setup command. All options of \chemformula belong to the module
-\textcolor{module}{\code{chemformula}}.
-\begin{beschreibung}
- \Befehl{chemsetup}[chemformula]{<options>}
-\end{beschreibung}
-
-\section{Stoichiometric Factors}\secidx{Stoichiometric Factors}
-A stoichiometric factor may only contain of numbers and the signs \lstinline+.,_/()+
-\begin{beispiel}
- \ch{2} \\
- \ch{12}
-
- % decimals:
- \ch{.5} \\
- \ch{5,75}
-
- % fractions:
- \ch{3/2} \\
- \ch{1_1/2}
-
- % ``iupac'':
- \ch{(1/2)}
-\end{beispiel}
-
-As you can see if you input decimal numbers a missing leading zero is added.
+\part{Other Packages of the Bundle}
-You have to be a little bit careful with the right syntax but I believe it is
-rather intuitive.
-\begin{beispiel}[code only]
- this won't work but will result in an error: \ch{1/1_1}
-\end{beispiel}
-
-If stoichiometric factors are enclosed with parentheses the fractions are not
-recognized and missing leading zeros are not added. What's inside the parentheses
-is typeset as is.
-\begin{beispiel}
- \ch{(1/2) H2O} \ch{1/2 H2O} \ch{0.5 H2O}
-\end{beispiel}
-You can find many examples like the following for stoichiometric factors in
-parentheses in the \acs{iupac} Green Book~\cite{iupac:greenbook}:
-\begin{reaction*}
- (1/5) K "\ox*{7,Mn}" O4 + (8/5) HCl == (1/5) "\ox*{2,Mn}" Cl2 + (1/2) Cl2 + (1/5) KCl + (4/5) H2O
-\end{reaction*}
-
-There are a few possibilities to customize the output.
-\begin{beschreibung}
- \option{decimal-marker}{<marker>} the symbol to indicate the decimal. Default =
- \code{.}
- \option{frac-style}{math|xfrac|nicefrac} determines how fractions are displayed.
- Default = \code{math}
- \option{stoich-space}{<skip>} The space that is placed after the stoichiometric
- factor. A rubber length. Default = \code{.1667em plus .0333em minus .0117em}
- \option{stoich-paren-parse}{\default{true}|false} If set to true stoichiometric
- factors enclosed by parentheses also are parsed. Default = \code{false}
-\end{beschreibung}
-\begin{beispiel}
- \ch[decimal-marker={,}]{3.5} \ch[decimal-marker={$\cdot$}]{3,5}
-\end{beispiel}
-
-The option \key{frac-style}{xfrac} uses the \lstinline+\sfrac+ command of the
-\paket{xfrac} package. The output strongly depends on the font you use.\secidx[xfrac]{Stoichiometric Factors}
-\begin{beispiel}
- \ch[frac-style=xfrac]{3/2} \ch[frac-style=xfrac]{1_1/2}
-\end{beispiel}
-\chemformula defines the instance \lstinline=formula-text-frac= which you can
-redefine to your needs. See the \paket{xfrac} documentation for further information.
-The default definition is this:
-\begin{beispiel}[code only]
- \DeclareInstance{xfrac}{chemformula-text-frac}{text}
- {
- slash-left-kern = -.15em ,
- slash-right-kern = -.15em
- }
-\end{beispiel}
-This document uses the font Linux Libertine~O and the following definition:
-\begin{beispiel}[code only]
- \DeclareInstance{xfrac}{chemformula-text-frac}{text}
- {
- scale-factor = 1 ,
- denominator-bot-sep = -.2ex ,
- denominator-format = \scriptsize #1 ,
- numerator-top-sep = -.2ex ,
- numerator-format = \scriptsize #1 ,
- slash-right-kern = .05em ,
- slash-left-kern = .05em
- }
-\end{beispiel}
-
-The option \key{frac-style}{nicefrac} uses the \lstinline+\nicefrac+ command of
-the \paket{nicefrac} package.\secidx[nicefrac]{Stoichiometric Factors}
-\begin{beispiel}
- \ch[frac-style=nicefrac]{3/2} \ch[frac-style=nicefrac]{1_1/2}
-\end{beispiel}
-
-The option \key{stoich-space} allows you to customize the space between
-stoichiometric factor and the group following after it.\secidx[space]{Stoichiometric Factors}
-\begin{beispiel}
- \ch{2 H2O} \\
- \ch[stoich-space=.3em]{2 H2O}
-\end{beispiel}
-\secidx*{Stoichiometric Factors}
-
-\section{Compounds}\label{ssec:compounds}\secidx{Compounds}
-\chemformula determines compounds as the type that ``doesn't fit in anywhere else.''
-This point will become more clear when you know what the other types are.
-\begin{beispiel}
- \ch{H2SO4} \\
- \ch{[Cu(NH3)4]^2+}
-\end{beispiel}
-
-\subsection{Adducts}\secidx[adducts]{Compounds}
-\chemformula has two identifiers which will create adducts.
-\begin{beschreibung}
- \befehl{ch}{A.B}
- \befehl{ch}{A*B}
-\end{beschreibung}
-\begin{beispiel}
- \ch{CaSO4.H2O} \\
- \ch{CaSO4*H2O}
-\end{beispiel}
-Since numbers in a compound always are treated as subscripts (see
-section~\ref{ssec:subscripts}) you sometimes need to introduce stoichiometric
-factors for the right output:
-\begin{beispiel}
- \ch{Na3PO4*12H2O} \\
- \ch{Na3PO4* 12 H2O} \\
- \ch{Na3PO4 * 12 H2O}
-\end{beispiel}
-
-\subsection{Subscripts}\label{ssec:subscripts}\secidx[subscripts]{Compounds}
-\emph{All} numbers in a compound are treated as subscripts.
-\begin{beispiel}
- \ch{H2SO4}
-\end{beispiel}
-If you want a letter to be a subscript you can use the math syntax:
-\begin{beispiel}
- \ch{A_nB_m}
-\end{beispiel}
-The subscript recognizes groups. You can also use math inside it.
-\begin{beispiel}
- \ch{A_{$n$}B_{$m$}} \\
- \ch{NaCl_{(aq)}}
-\end{beispiel}
-
-\subsection{Commands}\secidx[commands]{Compounds}
-Commands are allowed in a compound:
-\begin{beispiel}
- \ch{\textbf{A2}B3} \ch{A2\color{red}B3}
-\end{beispiel}
-However, if the commands demand numbers as argument, \eg space commands or
-\chemmacros' \lstinline+\ox+ command the direct use will fail. This is because
-the numbers are treated as subscripts \emph{before} the command expands.
-\begin{beispiel}[code only]
- \ch{A\hspace{2mm}B} will raise an error because \hspace sees something like
- this: \hspace{$_2$mm}. Actually not at all like it but equally bad\ldots
-\end{beispiel}
-See section~\ref{ssec:text} for a way around this.
-
-\subsection{Charges and Other Superscripts}\secidx[charges]{Compounds}\secidx[superscripts]{Compounds}
-\paragraph{Basics}
-If a compound \emph{ends} with a plus or minus sign it will be treated as charge
-sign and typeset as superscript. In other places a plus is treated as a triple
-bond and a dash will be used as a single bond, see section~\ref{ssec:bonds}.
-\begin{beispiel}
- \ch{A+B} \ch{AB+} \\
- \ch{A-B} \ch{AB-}
-\end{beispiel}
-
-For longer charge groups or other superscripts you can use the math syntax. It
-recognizes groups and you can use math inside them. Inside these groups neither
-\code{+} nor \code{-} are treated as bonds. If a dot \code{.} is inside a
-superscript it is treated as indicator for a radical. A \code{*} gives the
-excited state.
-\begin{beispiel}
- \ch{A^{x-}} \\
- \ch{A^x-} \\
- \ch{A^{x}-} \\
- \ch{A^{$x-$}} \\
- \ch{RNO2^{-.}} \\
- \ch{^31H} \\
- \ch{^{14}6C} \\
- \ch{^{58}_{26}Fe} \\
- \ch{NO^*}
-\end{beispiel}
-
-Ions and ion composites with more than one charge can be typeset quite as easy:
-\begin{beispiel}
- \ch{SO4^2-} \ch{Ca^2+ SO4^2-}
-\end{beispiel}
-
-\paragraph{Charge Commands}\secidx[superscripts!charge commands]{Compounds}
-You don't need to use \cmd{mch} and related commands inside \cmd{ch}. Indeed,
-you \emph{shouldn't} use them as they might mess with the subscript and superscript
-alignment. The \chemmacros option \code{circled} is obeyed by \cmd{ch}.
-\begin{beispiel}
- \chemsetup[option]{circled=all}
- \ch{H+ + OH- <=> H2O}
-\end{beispiel}
-
-\paragraph{Behaviour}\secidx[superscripts!behaviour]{Compounds}
-The supercripts behave differently depending on their position in a compound, if
-there are super- and subscripts following each other directly.
-\begin{beispiel}
- \ch{^33B} \ch{{}^33B} \ch{3^3B} \ch{B^3} \ch{B3^3} \\
- \ch{^{23}_{123}B} \ch{{}^{23}_{123}B} \ch{_{123}^{23}B} \ch{B^{23}} \ch{B_{123}^{23}} \\
- \ch{^{123}_{23}B} \ch{{}^{123}_{23}B} \ch{_{23}^{123}B} \ch{B^{123}} \ch{B23^{123}}
-\end{beispiel}
+The other three package, \chemformula, \ghsystem\ and \chemgreek, all have
+their own documentation:
\begin{itemize}
- \item If a compound \emph{starts} with a sub- or superscript both sub- and
- superscript are aligned to the \emph{right} else to the \emph{left}.
- \item If a compound \emph{does not start} with a sub- or superscript and there
- is both a sub- and a superscript, the superscript is shifted additionally by a
- length determined from the option \key{charge-hshift}{<dim>}, also see
- page~\pageref{desc:charge-hshift}f.
+ \item \url{chemformula_en.pdf}
+ \item \url{ghsystem_en.pdf}
+ \item \url{chemgreek_en.pdf}
\end{itemize}
-The second point follows \ac{iupac}'s recommendations:
-\begin{zitat}[{\acs{iupac} Green Book {\cite[][p.\,51]{iupac:greenbook}}}]
- In writing the formula for a complex ion, spacing for charge number can be added
- (staggered arrangement), as well as parentheses: \ch[charge-hshift=full]{SO4^2-},
- \ch{(SO4)^2-} The staggered arrangement is now recommended.
-\end{zitat}
-\subsection{Bonds}\label{ssec:bonds}\secidx[bonds]{Compounds}
-\subsubsection{Native Bonds}
-There are three kinds of what I will call ``native bonds'':
-\begin{beispiel}
- single: \ch{CH3-CH3} \\
- double: \ch{CH2=CH2} \\
- triple: \ch{CH+CH}
-\end{beispiel}
-
-\subsubsection{Flexible Bonds}
-\paragraph{Predefined Bonds}
-In addition to the three native bonds there are a few more which can be called by
-\begin{beschreibung}
- \Befehl{bond}{<bond name>}
-\end{beschreibung}
-The predefined bond types are shown in table~\ref{tab:bond_types}.
-
-\begin{table}
- \centering
- \caption{Bonds available with \protect\cmd{bond}.}
- \label{tab:bond_types}
- \begin{tabular}{lcl}
- \toprule
- \bfseries name & \bfseries appearance & \bfseries aliases \\
- \midrule
- \code{single} & \bond{single} & \code{normal}, \code{sb} \\
- \code{double} & \bond{double} & \code{db} \\
- \code{triple} & \bond{triple} & \code{tp} \\
- \code{dotted} & \bond{dotted} & \code{semisingle} \\
- \code{deloc} & \bond{deloc} & \code{semidouble} \\
- \code{tdeloc} & \bond{tdeloc} & \code{semitriple} \\
- \code{co>} & \bond{co>} & \code{coordright} \\
- \code{<co} & \bond{<co} & \code{coordleft} \\
- \bottomrule
- \end{tabular}
-\end{table}
-
-\begin{beispiel}
- \ch{C\bond{sb}C\bond{db}C\bond{tp}C\bond{deloc}C\bond{tdeloc}C\bond{co>}C\bond{<co}C}
-\end{beispiel}
-
-\paragraph{Own Bonds}
-\chemformula offers commands to define own bond types:
-\begin{beschreibung}
- \Befehl{DeclareChemBond}{<name>}\ma{<code>}
- \Befehl{RenewChemBond}{<name>}\ma{<code>}
- \Befehl{DeclareChemBondAlias}{<new name>}\ma{<old name>}
- \Befehl{ShowChemBond}{<name>}
-\end{beschreibung}
-The usage is best described with an example. So let's see how the \code{single}
-bond and the \code{co>} bond are defined:
-\begin{beispiel}[code only]
- \DeclareChemBond{single}
- { \draw[chembond] (chemformula-bond-start) -- (chemformula-bond-end) ; }
- \DeclareChemBond{coordright}
- { \draw[chembond,butt cap->] (chemformula-bond-start) -- (chemformula-bond-end) ; }
- \DeclareChemBondAlias{co>}{coordright}
-\end{beispiel}
-Two points are important: the names of the starting and the ending coordinates,
-\code{chemformula-bond-start} and \code{chemformula-bond-end}, and the \TikZ
-style of the bonds \code{chembond}.
-
-So, let's say you want to define a special kind of dashed bond. You could do this:
-\begin{beispiel}
- \usetikzlibrary{decorations.pathreplacing}
- \makeatletter
- \DeclareChemBond{dashed}
- {
- \draw[
- chembond,
- decorate,
- decoration={ticks,segment length=\chemformula@bondlength/10,amplitude=1.5pt}]
- (chemformula-bond-start) -- (chemformula-bond-end) ;
- }
- \makeatother
- \chemsetup[chemformula]{bond-length=2ex}
- \ch{C\bond{dashed}C}
-\end{beispiel}
-
-The last example showed you another macro: \makeatletter\cmd{chemformula@bondlength}\makeatother.
-It only exists so you can use it to access the bond length as set with \key{bond-length}
-directly.% (see also page~\pageref{key:bond-length}).
-
-\subsection{Customization}\secidx[customization]{Compounds}\label{ssec:compounds:customization}
-These options allow you to customize the ouptut of the compounds:
-\begin{beschreibung}
- \option{subscript-vshift}{<dim>} Extra vertical shift of the subscripts. Default
- = \code{0pt}
- \option{subscript-style}{text|math} Style that is used to typeset the subscripts.
- Default = \code{text}
- \option{charge-hshift}{<dim>} Shift of superscripts when following a subscript.
- Default = \code{.25em}\label{desc:charge-hshift}
- \option{charge-vshift}{<dim>} Extra vertical shift of the superscripts.
- Default = \code{0pt}
- \option{charge-style}{text|math} Style that is used to typeset the superscripts.
- Default = \code{text}
- \option{adduct-space}{<dim>} Space to the left and the right of the adduct point.
- Default = \code{.1333em}
- \option{bond-length}{<dim>} The length of the bonds. Default = \code{.5833em}
- \option{bond-offset}{<dim>} Space between bond and atoms. Default = \code{.07em}
- \option{bond-style}{<tikz>} \TikZ\ options for the bonds. Initially empty.
- \option{radical-style}{<tikz>} \TikZ\ options for the radical point. Initially
- empty.
- \option{radical-radius}{<dim>} The radius of the radical point. Default =
- \code{.2ex}
- \option{radical-hshift}{<dim>} Horizontal shift before the radical point is
- drawn. Default = \code{.15em}
- \option{radical-vshift}{<dim>} Vertical shift relative to the current baseline.
- Default = \code{.5ex}
- \option{radical-space}{<dim>} Horizontal shift after the radical point is
- drawn. Default = \code{.15em}
-\end{beschreibung}
-
-Maybe you have noticed that charges of certain ions are shifted to the right.\secidx[charges!shift]{Compounds}
-\begin{beispiel}
- \ch{SO4^2-} \ch{NH4+} \ch{Na+}
-\end{beispiel}
-They are shifted if they \emph{follow} a subscript which follows \ac{iupac}
-recommendations~\cite[][p.\,51]{iupac:greenbook}. The amount of the shift can be
-set with the option \key{charge-hshift}.
-\begin{beispiel}
- \ch{SO4^2-} \ch{NH4+} \ch{Na+} \\
- \chemsetup[chemformula]{charge-hshift=.5ex}
- \ch{SO4^2-} \ch{NH4+} \ch{Na+} \\
- \chemsetup[chemformula]{charge-hshift=.5pt}
- \ch{SO4^2-} \ch{NH4+} \ch{Na+}
-\end{beispiel}
-
-Despite \ac{iupac}'s recommendation \chemformula does not make fully staggered
-arrangements in the default setting as I find it hard to read in some cases and
-ugly in others. Since this is a subjective decision \chemformula not only let's
-you define the absolute amount of the shift but also provides a possibility for
-full staggered arrangements. For this you have to use \key{charge-hshift}{full}.
-\begin{beispiel}
- \ch[charge-hshift=0pt]{C5H11+} \ch[charge-hshift=0pt]{SO4^2-} \\
- \ch{C5H11+} \ch{SO4^2-} \\
- \ch[charge-hshift=1ex]{C5H11+} \ch[charge-hshift=1ex]{SO4^2-} \\
- \ch[charge-hshift=full]{C5H11+} \ch[charge-hshift=full]{SO4^2-}
-\end{beispiel}
-
-If you don't want the charges to be typeset in text mode you can switch to math
-mode:
-\begin{beispiel}
- \ch{M^x+} \ch{SO4^2-} \\
- \chemsetup[chemformula]{charge-style = math}
- \ch{M^x+} \ch{SO4^2-}
-\end{beispiel}
-
-The option \key{subscript-vshift} can be used to adjust the vertical shift of
-the subscripts:\secidx[subscripts!shift]{Compounds}
-\begin{beispiel}
- \ch{H2SO4} \ch{Na3PO4} \\
- \chemsetup[chemformula]{subscript-vshift=.5ex}
- \ch{H2SO4} \ch{Na3PO4} \\
- \chemsetup[chemformula]{subscript-vshift=-.2ex}
- \ch{H2SO4} \ch{Na3PO4}
-\end{beispiel}
-
-You can choose the mode subscripts are typeset in the same way as it is possible
-for the charges:
-\begin{beispiel}
- \ch{A_nB_m} \ch{H2SO4} \\
- \chemsetup[chemformula]{subscript-style = math}
- \ch{A_nB_m} \ch{H2SO4}
-\end{beispiel}
-
-The option \key{adduct-space} sets the space left and right to the adduct symbol
-$\cdot$.
-\begin{beispiel}
- \ch{Na3PO3*H2O} \\
- \chemsetup[chemformula]{adduct-space=.2em}
- \ch{Na3PO3*H2O}
-\end{beispiel}
-
-Changing the length of the bonds:\secidx[bonds!length]{Compounds}
-\begin{beispiel}
- \chemsetup[chemformula]{bond-length=4mm}%
- single: \ch{CH3-CH3} \\
- double: \ch{CH2=CH2} \\
- triple: \ch{CH+CH}
-\end{beispiel}
-
-You can change the distance between bond and atom, too:
-\begin{beispiel}
- \ch{H-H + N+N + O=O} \\
- \ch[bond-offset=1pt]{H-H + N+N + O=O}
-\end{beispiel}
-\secidx*{Compounds}
-
-\section{Special Input Types}\secidx{Special Types}
-There are some \enquote{special type} input groups.
-
-\subsection{Single Token Groups}\secidx[single token groups]{Special Types}
-The first kind are groups which consist of only one token, namely of the
-following ones:
-\begin{beschreibung}
- \befehl{ch}{ + } \ch{+} creates the plus sign between compounds with space
- around it:\\
- \cmd{ch}{2 Na + Cl2} \ch{2 Na + Cl2}
- \befehl{ch}{ v } \ch{v} sign for precipitate: \cmd{ch}{BaSO4 v} \ch{BaSO4 v}
- \befehl{ch}{ \lstinline+^+ } \ch{^} sign for escaping gas\footnotemark:
- \cmd{ch}{\lstinline=H2 ^=} \ch{H2 ^}
-\end{beschreibung}
-\footnotetext{Is this the correct English term? Please correct me if it isn't.}
-
-The space left and right of the plus sign can be set with this option:
-\begin{beschreibung}
- \option{plus-space}{<skip>} A rubber length. Default = \code{.3em plus .1em minus .1em}
-\end{beschreibung}
-\begin{beispiel}
- \ch{A + B}\\
- \ch[plus-space=4pt]{A + B}
-\end{beispiel}
-
-\subsection{Option Input}\secidx[option input]{Special Types}
-\achtung{This is an experimental feature and may well be dropped in future versions.}
-Sometimes you might want to apply an option only to a part of a, say, reaction.
-Of course you have the possibility to use \cmd{ch} several times.
-\begin{beispiel}
- \ch{H2O +}\textcolor{red}{\ch{H2SO4}}\ch{-> H3O+ + HSO4-} \\
- \ch{H2O +}\ch[subscript-vshift=2pt]{H2SO4}\ch{-> H3O+ + HSO4-}
-\end{beispiel}
-This, however, interrupts the input in your source and \emph{may} mess with the
-spacing. That's why there is an alternative:
-\begin{beschreibung}\makeatletter
- \befehl{ch}{ @\{<options>\} } The options specified this way will be valid
- \emph{only} until the next compound is set.
-\end{beschreibung}
-\begin{beispiel}
- \ch{H2O +}\textcolor{red}{\ch{H2SO4}}\ch{-> H3O+ + HSO4-} \\
- \ch{H2O + @{format=\color{red}} H2SO4 -> H3O+ + HSO4-} \\
- or of course:\\
- \ch{H2O + \textcolor{red}{H2SO4} -> H3O+ + HSO4-}\\[1em]
- \ch{H2O +}\ch[subscript-vshift=2pt]{H2SO4}\ch{-> H3O+ + HSO4-} \\
- \ch{H2O + @{subscript-vshift=2pt} H2SO4 -> H3O+ + HSO4-}
-\end{beispiel}
-\secidx*{Special Types}
-
-\section{Escaped Input}\secidx{Escaped Input}
-In some cases it may be desirable to prevent \chemformula from parsing the input.
-This can be done in two ways.
-\subsection{Text}\label{ssec:text}\secidx[text]{Escaped Input}
-If you put something between \lstinline+" "+ or \lstinline+' '+ then the input
-will be treated as normal text, except that spaces are not allowed and have to be
-input with \lstinline+~+.
-\begin{beschreibung}
- \Befehl{ch}{ "<escaped text>" }
- \Befehl{ch}{ '<escaped text>' }
-\end{beschreibung}
-\begin{beispiel}
- \ch{"\ox{2,Ca}" O} \\
- \ch{"\ldots\," Na + "\ldots\," Cl2 -> "\ldots\," NaCl} \\
- \ch{'A~->~B'}
-\end{beispiel}
-In many cases you won't need to escape the input. But when you get into trouble
-when using a command inside \cmd{ch} try hiding it.
-
-\subsection{Math}\secidx[math]{Escaped Input}
-If you especially want to input math you just enclose it with \lstinline+$ $+.
-This output is different from the escaped text as it is followed by a space. The
-reasoning behind this is that I assume math will mostly be used to replace
-stoichiometric factors.
-\begin{beschreibung}
- \Befehl{ch}{ \string$<escaped math>\string$ }
- \Befehl{ch}{ \string\(<escaped math>\string\) }
-\end{beschreibung}
-\begin{beispiel}
- escaped text: \ch{"$x$" H2O} \\
- escaped math: \ch{$x$ H2O} \\
- also escaped math: \ch{\(x\) H2O} \\
- \ch{$2n$ Na + $n$ Cl2 -> $2n$ NaCl}
-\end{beispiel}
-
-The space that is inserted after a math group can be edited:
-\begin{beschreibung}
- \option{math-space}{<skip>} A rubber length. Default =
- \code{.1667em plus .0333em minus .0117em}
-\end{beschreibung}
-\begin{beispiel}
- \ch{$2n$ Na + $n$ Cl2 -> $2n$ NaCl} \\
- \chemsetup[chemformula]{math-space=.25em}
- \ch{$2n$ Na + $n$ Cl2 -> $2n$ NaCl} \\
- \ch{$A->B$}
-\end{beispiel}
-\secidx*{Escaped Input}
-
-\section{Arrows}\label{sec:arrows}\secidx{Arrows}
-\subsection{Arrow types}\secidx[types]{Arrows}
-Arrows are input in the same intuitive way they are with \paket{mhchem}. There
-are various different types:
-\begin{beschreibung}
- \befehl{ch}{ -> } \ch{->} standard right arrow
- \befehl{ch}{ <- } \ch{<-} standard left arrow
- \befehl{ch}{ -/> } \ch{-/>} does not react (right)
- \befehl{ch}{ </- } \ch{</-} does not react (left)
- \befehl{ch}{ <-> } \ch{<->} resonance arrow
- \befehl{ch}{ <> } \ch{<>} reaction in both directions
- \befehl{ch}{ == } \ch{==} stoichiometric equation
- \befehl{ch}{ <=> } \ch{<=>} equilibrium arrow
- \befehl{ch}{ \lstinline+<=>>+ } \ch{<=>>} unbalanced equilibrium arrow to the right
- \befehl{ch}{ \lstinline+<<=>+ } \ch{<<=>} unbalanced equilibrium arrow to the left
- \befehl{ch}{ <o> } \ch{<o>} isolobal arrow
-\end{beschreibung}
-All these arrows are drawn with \TikZ.
-\begin{beispiel}
- \ch{H2 + Cl2 -> 2 HCl} \\
- \ch{H2O + CO3^2- <=> OH- + HCO3-} \\
- \ch{A <- B} \\
- \ch{\{[CH2=CH-CH2]- <-> [CH2-CH=CH2]- \}} \\
- \ch{A <> B} \\
- \ch{H+ + OH- <=>> H2O} \\
- \ch{2 NO2 <<=> N2O4}
-\end{beispiel}
-
-\subsection{Labels}\secidx[labels]{Arrows}
-The arrows take two optional arguments to label them.
-\begin{beschreibung}
- \Befehl{ch}{ ->[<above>][<below>] }
-\end{beschreibung}
-\begin{beispiel}
- \ch{A ->[a] B} \\
- \ch{A ->[a][b] B} \\
- \ch{A ->[\SI{100}{\celsius}] B}
-\end{beispiel}
-The label text can be parsed seperately from the arrow. The recipe is easy: leave
-blanks.
-\begin{beispiel}
- \ch{A ->[H2O] B} \\
- \ch{A ->[ H2O ] B} \\
- \ch{A ->[ "\ox{2,Ca}" F2 ] B} \\
- \ch{A ->[$\Delta$,~ \[H+ \]] B}
-\end{beispiel}
-If you leave the blanks \chemformula treats the groups inside the square brackets
-as seperated input types. The arrow reads its arguments \emph{afterwards}. As you
-can see the arrows \enquote{grow} with the length of the labels. What stays
-constant is the part that protrudes the labels. As you also can see in the last
-example square brackets inside the arrow arguments should be produced using \cmd{[}
-and \cmd{]}. They keep their usual meaning outside \cmd{ch}. These commands are
-necessary since the usual grouping (\ie hiding the brackets inside curly brackets)
-doesn't work due to the way \cmd{ch} reads its argument.
-\begin{beispiel}
- \ch{A ->[a] B} \\
- \ch{A ->[ab] B} \\
- \ch{A ->[abc] B} \\
- \ch{A ->[abc~abc] B} \\
- % needs the `chemfig' package:
- \setatomsep{15pt}
- \ch{A ->[ "\chemfig{-[:30]-[:-30]OH}" ] B} \\
- \ch{A ->[[]] B} vs. \ch{A ->[\[\]] B}
-\end{beispiel}
-
-\subsection{Customization}\secidx[customization]{Arrows}
-These are the options which enable you to customize the arrows:
-\begin{beschreibung}
- \option{arrow-offset}{<dim>} This is the length that an arrow protrudes a label
- on both sides. This means an empty arrow's length is two times \code{arrow-offset}.
- Default = \code{.75em}
- \option{arrow-min-length}{<dim>} The minimal length an error must have unless
- two times \key{arrow-offset} plus the width of the label is larger.
- Default = \code{0pt}
- \option{arrow-yshift}{<dim>} Shifts an arrow up (positive value) or down (negative
- value). Default = \code{0pt}
- \option{arrow-ratio}{<factor>} The ratio of the arrow lengths of the unbalanced
- equilibrium. \code{.4} would mean that the length of the shorter arrow is
- $0.4\times$ the length of the longer arrow. Default = \code{.6}
- \option{compound-sep}{<dim>} The space between compounds and the arrows.
- Default = \code{.5em}
- \option{label-offset}{<dim>} The space between the labels and the arrows.
- Default = \code{2pt}
- \option{label-style}{<font command>} The relative font size of the labels.
- Default = \lstinline+\footnotesize+
-\end{beschreibung}
-
-The following code shows the effect of the different options on the \lstinline+<=>>+
-arrow:
-\begin{beispiel}
- standard: \ch{A <=>>[x][y] B} \\
- longer: \ch[arrow-offset=12pt]{A <=>>[x][y] B} \\
- higher: \ch[arrow-yshift=2pt]{A <=>>[x][y] B} \\
- more balanced: \ch[arrow-ratio=.8]{A <=>>[x][y] B} \\
- labels further away: \ch[label-offset=4pt]{A <=>>[x][y] B} \\
- larger distance to compounds: \ch[compound-sep=2ex]{A <=>>[x][y] B} \\
- smaller labels: \ch[label-style=\tiny]{A <=>[x][y] B}
-\end{beispiel}
-
-\subsection{Modify Arrow Types}\label{sec:arrows_modify}\secidx[types!modify]{Arrows}
-The arrows are defined with the command
-\begin{beschreibung}
- \Befehl{DeclareChemArrow}{<tokens>}\ma{<tikz>}
-\end{beschreibung}
-\ma{<tokens>} is the sequence of tokens that is replaced with the actual arrow code.
-For example the basic arrow is defined via
-\begin{beispiel}[code only]
- \DeclareChemArrow{->}{\draw[-cf] (cf_arrow_start) -- (cf_arrow_end) ;}
-\end{beispiel}
-In order to define arrows yourself you need to know the basics of \TikZ\footnote{Please
-see the \textsf{pgfmanual} for details.}. There are some predefined coordinates
-you can and should use:
-\begin{description}
- \item[\code{(cf\_arrow\_start)}] The beginning of the arrow.
- \item[\code{(cf\_arrow\_end)}] The end of the arrow.
- \item[\code{(cf\_arrow\_mid)}] The mid of the arrow.
- \item[\code{(cf\_arrow\_mid\_start)}] The beginning of the shorter arrow in
- types like \lstinline+<=>>+.
- \item[\code{(cf\_arrow\_mid\_end)}] The end of the shorter arrow in types like
- \lstinline+<=>>+.
- \item[\code{cf}, \code{left cf}, \code{right cf}] \chemformula's own arrow heads.
-\end{description}
-\begin{beispiel}
- \DeclareChemArrow{.>}{\draw[-cf,dotted,red] (cf_arrow_start) -- (cf_arrow_end);}
- \DeclareChemArrow{n>}{\draw[-cf] (cf_arrow_start) .. controls ([yshift=3ex]cf_arrow_mid) .. (cf_arrow_end);}
- \ch{A .> B} \ch{A .>[a][b] B} \ch{A n> B}
-\end{beispiel}
-If you want to redefine an existing arrow there are two commands you can use:
-\begin{beschreibung}
- \Befehl{RenewChemArrow}{<tokens>}\ma{<tikz>}
- \Befehl{ShowChemArrow}{<tokens>}
-\end{beschreibung}
-The second one gives the current definition, the first one redefines an existing
-arrow.
-\begin{beispiel}
- \texttt{\ShowChemArrow{->}} \\
- \RenewChemArrow{->}{\draw[->,red] (cf_arrow_start) -- (cf_arrow_end) ;}
- \texttt{\ShowChemArrow{->}} \\
- \ch{A -> B}
-\end{beispiel}
-\secidx*{Arrows}
-
-\section{Names}\secidx{Names}
-\subsection{Syntax}\secidx[syntax]{Names}
-\chemformula has a built-in syntax to write text under a compound. In a way it
-works very similar to the arrows.
-\begin{beschreibung}
- \Befehl{ch}{ !(<name>)( <formula> ) }
-\end{beschreibung}
-If an exclamation mark is followed by a pair of parentheses \chemformula will
-parse it this way:
-\begin{beispiel}
- \ch{!(ethanol)( CH2CH2OH )}
-\end{beispiel}
-The same what's true for the arrows arguments holds for these arguments: if you
-leave blanks the different parts will be treated according to their input type
-before the text is set below the formula.
-\begin{beispiel}
- \ch{!(water)(H2O)} \quad
- \ch{!( "\textcolor{blue}{water}" )( H2O )} \quad
- \ch{!( $2n-1$ )( H2O )} \quad
- \ch{!( H2O )( H2O )} \quad
- \ch{!(oxonium)( H3O+ )}
-\end{beispiel}
-If for some reason you want to insert an exclamation mark \emph{without} it
-creating a name you only have to make sure it isn't followed by parentheses.
-\begin{beispiel}
- \ch{H2O~(!)} \\
- \ch{A!{}()}
-\end{beispiel}
-
-\subsection{Customization}\secidx[customization]{Names}
-\chemformula provides two options to customize the output of the names:
-\begin{beschreibung}
- \option{name-format}{<commands>} The format of the name. This can be arbitrary
- input. Default = \lstinline+\scriptsize\centering+
- \option{name-width}{<dim>|auto} The width of the box where the label is put into.
- \code{auto} will detect the width of the name and set the box to this width.
- Default = \code{auto}
-\end{beschreibung}
-\begin{beispiel}
- \ch{!(acid)( H2SO4 ) -> B} \\
- \ch[name-format=\sffamily\small]{!(acid)( H2SO4 ) -> B} \\
- \ch[name-format=\scriptsize N:~]{!(acid)( H2SO4 ) -> B} \\
- \ch[name-width=3em,name-format=\scriptsize\raggedright]{!(acid)( H2SO4 ) -> B}
-\end{beispiel}
-\secidx*{Names}
-
-\section{Format and Font}\secidx{Format and Font}\label{sec:format}
-In the standard setting \chemformula doesn't make any default changes to the font
-of the formula output. Let's take a look at a nonsense input which shows all features:
-\begin{beispiel}
- \newcommand*\sample{\ch{H2C-C+C-CH=CH+ + CrO4^2- <=>[x][y] 2.5 Cl^{-.} + 3_1/2 Na*OH_{(aq)} + !(name)( A^n ) "\LaTeXe"}}
- \sample
-\end{beispiel}
-\newcommand*\sample{\ch{H2C-C+C-CH=CH+ + CrO4^2- <=>[x][y] 2.5 Cl^{-.} + 3_1/2 Na*OH_{(aq)} + !(name)( A^n ) "\LaTeXe"}}
-Now we're going to change different aspects of the font a look what happens:
-\begin{beispiel}[below]
- \sffamily Hallo \sample \\
- \ttfamily Hallo \sample \normalfont \\
- \bfseries Hallo \sample \normalfont \\
- \itshape Hallo \sample
-\end{beispiel}
-As you can see most features adapt to the surrounding font.
-
-If you want to change the default format you need to use this option:
-\begin{beschreibung}
- \option{format}{<anything>} Adds arbitrary code before the output of \cmd{ch}.
-\end{beschreibung}
-\begin{beispiel}
- \definecolor{newblue}{rgb}{.1,.1,.5}\chemsetup[chemformula]{format=\color{newblue}\sffamily}
- \sffamily Hallo \sample \\
- \ttfamily Hallo \sample \normalfont \\
- \bfseries Hallo \sample \normalfont \\
- \itshape Hallo \sample
-\end{beispiel}
-
-You can also specifically change the fontfamily, fontseries and fontshape of the output.
-\begin{beschreibung}
- \option{font-family}{<family>} Changes the fontfamily of the output with
- \lstinline+\fontfamily{<family>}\selectfont+.
- \option{font-series}{<series>} Changes the fontseries of the output with
- \lstinline+\fontseries{<series>}\selectfont+.
- \option{font-shape}{<shape>} Changes the fontshape of the output with
- \lstinline+\fontshape{<shape>}\selectfont+.
-\end{beschreibung}
-\begin{beispiel}
- \chemsetup[chemformula]{font-series=bx}
- Hallo \sample \\
- \sffamily Hallo \sample \normalfont \\
- \chemsetup[chemformula]{font-family=lmr,font-series=m} Hallo \sample \normalfont \\
- \itshape Hallo \sample
-\end{beispiel}
-
-If you're using \hologo{XeLaTeX} or \hologo{LuaLaTeX} and have loaded \paket{fontspec}
-you have the possibilty to set the font with it:
-\begin{beschreibung}
- \Option{font-spec}{\{<font>\}} or with options
- \Option{font-spec}{\{[<options>]<font>\}}
-\end{beschreibung}
-\begin{beispiel}
- \chemsetup[chemformula]{font-spec={Linux Biolinum O}} \sample \\
- \chemsetup[chemformula]{font-spec={[Color=darkgray]Augie}} \sample \\
- \chemsetup[chemformula]{font-spec={Tipbrush Script}} \sample \\
- \chemsetup[chemformula]{font-spec={Latin Modern Sans}} \sample \\
- \bfseries \sample \normalfont \\
- \chemsetup[chemformula]{font-spec={Feathergraphy Decoration}} \sample
-\end{beispiel}
-\secidx*{Format and Font}
-
-\section{Usage In Math Equations}\secidx{Math Environments}
-The \cmd{ch} command can be used inside math equations. It recognizes
-\lstinline+\\+ and \lstinline+&+ and passes them on. However, you can't use the
-optional arguments of \lstinline+\\+ inside \cmd{ch}.
-\begin{beispiel}
- \begin{align}
- \ch{
- H2O & ->[a] H2SO4 \\
- Cl2 & ->[x][y] CH4
- }
- \end{align}
- \begin{align*}
- \ch{
- RNO2 &<=>[ + e- ] RNO2^{-.} \\
- RNO2^{-.} &<=>[ + e- ] RNO2^2-
- }
- \end{align*}
-\end{beispiel}
-\secidx*{Math Environments}
-
-\section{Further Examples}
-This section presents some examples of a possible usage.
-
-\begin{beispiel}
- \begin{reaction}[Synthese von Alkanen]
- !(Synthesegas)( $n$ CO + $(2n+1)$ H2 ) ->[\SI{200}{\celsius}][\[CoNi\]] C_{$n$}H_{$2n+2$} + $n$ H2O
- \end{reaction}
-\end{beispiel}
-
-\begin{beispiel}
- \begin{reactions*}
- "a)" && CH4 + Cl2 &-> CH3Cl + HCl && "{\small Chlormethan/Methylchlorid}" \\
- "b)" && CH3Cl + Cl2 &-> CH2Cl2 + HCl && "{\small Dichlormethan/Methylenchlorid}" \\
- "c)" && CH2Cl2 + Cl2 &-> CHCl3 + HCl && "{\small Trichlormethan/Chloroform}" \\
- "d)" && CHCl3 + Cl2 &-> CCl4 + HCl && "{\small Tetrachlormethan/Tetrachlorkohlenstoff}"
- \end{reactions*}
-\end{beispiel}
-
-\begin{beispiel}
- \chemsetup[ox]{parse=false}\ch{"\ox{\delm,C}" -{} "\ox{\delp,M}" \qquad ( <-> "\ox{\delp,C}" -{} "\ox{\delm,Br}" )} \\
- \ch[adduct-space=0pt]{X. + .Y <=> X-Y + Bindungsenergie} \\
- \ch[name-format=\normalsize]{!(\State{H}{f}\qquad)() !(\textcolor{red}{??})( CH4\gas{} ) + !(\num{0})( 2 O2\gas{} ) -> !(\num{-94.3})( CO2\gas{} ) + !(\num{-57.9})( H2O\lqd{} ) + !(\num{-192.1})( "\State{H}" )}
-\end{beispiel}
-
-\begin{beispiel}
- \begin{reactions*}
- CH3MgBr + "\ox*{1,Cu}" X &-> "\glqq" CH3 "\ox*{1,Cu}\grqq" + MgBrX "\qquad X~$=$~Br,I,CN" \\
- 2 MeLi + CuI &-> !(Dimethylcuprat~(Gilmann-Cuprat))( Me2CuLi ) + Li
- \end{reactions*}
-\end{beispiel}
-
-\begin{beispiel}
- % needs `chemfig'
- \begin{reactions*}
- H3C-CH3 + Cl2 &->[$\Delta$][$h\nu$] H3CCH2Cl + HCl & &"\Enthalpy{-27.1}" \\
- H3C-CH3 + "\Lewis{0.,Cl}" &-> H3CCH2 "\Lewis{0.,\vphantom{H}}" + HCl & &"\Enthalpy{-5.0}" \\
- H3C-CH2 "\Lewis{0.,\vphantom{H}}" + Cl2 &-> H3CCH2Cl + "\Lewis{0.,Cl}" & &"\Enthalpy{-23.0}"
- \end{reactions*}
-\end{beispiel}
-
-The following example shows how the cancelling of compounds could be done%
-\footnote{Inspired by a question on TeX.SE: \url{http://tex.stackexchange.com/q/30118/5049}}.
-\begin{beispiel}
- % needs `cancel'
- \begin{align*}
- \ch{\cancel{HCOOH\aq} + H2O\lqd{} &<=> H3O^+\aq{} + \cancel{HCOO^-\aq}} \\
- \ch{\cancel{HCOO^-\aq} + H2O\lqd{} &<=> \cancel{HCOOH\aq} + OH^-\aq}\\[-1ex]
- \cline{1-2}
- \ch{H2O\lqd{} + H2O\lqd{} &<=> H3O^+\aq{} + OH^-\aq}
- \end{align*}
-\end{beispiel}
-\secidx*{CHEMFORMULA}
-
-\part{\texorpdfstring{\Ghsystem}{ghsystem}}\secidx{GHSYSTEM}\label{part:ghsystem}
-\section{Setup}
-All of \ghsystem's options belong to the module \textcolor{module}{\code{ghsystem}}.
-This means they can be setup with
-\begin{beispiel}[code only]
- \chemsetup[ghsystem]{<options>} or
- \chemsetup{ghsystem/<option1>,ghsystem/<option2>}
-\end{beispiel}
-
-\section{Get Hazard and Precautionary Statements}\secidx{Hazard and Precautionary Statements}
-\subsection{Simple Statements}\secidx[get statements]{GHSYSTEM}
-The general usage is simple: you use the command
-\begin{beschreibung}
- \Befehl{ghs}*[<options>]{<type>}\ma{<number>}
-\end{beschreibung}
-There are three types available: \code{h}, \code{euh} and \code{p}. The \ma{<type>}
-argument is case insensitive, so just type them in as you like.
-\begin{beispiel}
- \ghs{h}{200} \\
- \ghs{H}{224} \\
- \ghs{euh}{001} \\
- \ghs{Euh}{202} \\
- \ghs{p}{201}
-\end{beispiel}
-
-The starred version hides the identifier and only gives the statement. If you want
-to hide the statement itself instead you can use the option:
-\begin{beschreibung}
- \Option{hide}{\default{true}|false}
-\end{beschreibung}
-
-There is an option to customize the output, too.
-\begin{beschreibung}
- \option{space}{<space command>} Space between \code{<type>} and \code{<number>}.
-\end{beschreibung}
-\begin{beispiel}
- \ghs{h}{200} \\
- \ghs[space=\,]{h}{200} \\
- \ghs*{h}{200} \\
- \ghs[hide]{h}{200}
-\end{beispiel}
-
-\subsection{Statements with Placeholders}\secidx[statements with placeholders]{GHSYSTEM}
-Some of the statements contain placeholders. They can be one of the following:
-\begin{itemize}
- \item \textit{\textless state route of exposure if it is conclusively proven that
- no other routes of exposure cause the hazard\textgreater}
- \item \textit{\textless state specific effect if known\textgreater}
- \item \textit{\textless or state all organs affected, if known\textgreater}
- \item \textit{\textless name of sensitising substance\textgreater}
-\end{itemize}
-
-Except the last one which needs to be filled in, they are hidden per default. They
-can be made visible with the option
-\begin{beschreibung}
- \option{fill-in}{\default{true}|false} Show placeholders. Default = \code{false}
-\end{beschreibung}
-\begin{beispiel}[below]
- \ghs{h}{340} \\
- \ghs[fill-in]{h}{340} \\
- \ghs{h}{360} \\
- \ghs[fill-in]{h}{360} \\
- \ghs{h}{370} \\
- \ghs[fill-in]{h}{370} \\
- \ghs{euh}{208} \\
- \ghs[fill-in]{euh}{208}
-\end{beispiel}
-
-These placeholders can be replaced with one of these options:
-\begin{beschreibung}
- \option{exposure}{<text>} exposure placeholder
- \option{effect}{<text>} effect placeholder
- \option{organs}{<text>} organ placeholder
- \option{substance}{<text>} substance placeholder
-\end{beschreibung}
-\begin{beispiel}
- \ghs[exposure=This is how you get exposed.]{h}{340} \\
- \ghs[effect=These are the effects.]{h}{360} \\
- \ghs[organs=to this organ]{h}{370} \\
- \ghs[substance=substance]{euh}{208}
-\end{beispiel}
-
-\subsection{Statements with Gaps}\secidx[statements with gaps]{GHSYSTEM}
-Some of the statements have gaps that can be filled.
-\begin{beispiel}
- \ghs{p}{301} \\
- \ghs{p}{401} \\
- \ghs{p}{411} \\
- \ghs{p}{413}
-\end{beispiel}
-
-These gaps can be filled using these options:
-\begin{beschreibung}
- \Option{text}{<text>}
- \Option{dots}{<text>}
- \Option{C-temperature}{<num>}
- \Option{F-temperature}{<num>}
- \Option{kg-mass}{<num>}
- \Option{lbs-mass}{<num>}
-\end{beschreibung}
-\begin{beispiel}
- \ghs[text=contact physician!]{p}{301} \\
- \ghs[dots=here]{p}{401} \\
- \ghs[C-temperature=50, F-temperature=122]{p}{411} \\
- \ghs[kg-mass=5.0, lbs-mass=11, C-temperature=50, F-temperature=122]{p}{413}
-\end{beispiel}
-
-\subsection{Combined Statements}\secidx[combined statements]{GHSYSTEM}
-There are some combinations of statements. They are input with a \code{+} between
-the numbers:
-\begin{beispiel}[below]
- \ghs{p}{235+410} \\
- \ghs{p}{301+330+331}
-\end{beispiel}
-
-Note that you can only get combinations that officially exist. \emph{You can't
-combine freely}.
-\secidx*{Hazard and Precautionary Statements}
-
-\section{Pictograms}\secidx{Pictograms}
-\subsection{The Pictures}
-The \ac{ghs} defines a number of pictograms:
-
-\ghspic{explos} \ghspic{flame} \ghspic{flame-O} \ghspic{bottle} \ghspic{acid}
-\ghspic{skull} \ghspic{exclam} \ghspic{health} \ghspic{aqpol}
-
-The command
-\begin{beschreibung}
- \Befehl{ghspic}[<options>]{<name>}
-\end{beschreibung}
-loads them. Table~\ref{tab:ghs_pictograms} shows all available pictograms and their
-names. To be more precise: it shows the names to use with the \cmd{ghspic} command.
-The file names are \lstinline=ghsystem_<name>.<filetype>= where \code{<filetype>}
-is \code{eps}, \code{pdf}, \code{jpg} or \code{png}, see also section~\ref{ssec:picture_type}.
-\begin{beispiel}
- \ghspic{skull}
-\end{beispiel}
-
-If you don't like the default size you can change it using this option:
-\begin{beschreibung}
- \option{scale}{<factor>} Scales the pictogram. Default = \code{1}
-\end{beschreibung}
-The pictures are actually quite large. The default setting scales them by a factor
-of $\frac{1}{20}$.
-\begin{beispiel}
- \ghspic[scale=2]{skull}
-\end{beispiel}
-
-If you want to use some specific \lstinline=\includegraphics= options, \eg if you
-want to rotate the pictogram for some reason, use this option:
-\begin{beschreibung}
- \Option{includegraphics}{\{<includegraphics keyvals>\}}
-\end{beschreibung}
-\begin{beispiel}
- \ghspic[includegraphics={angle=90}]{skull}
-\end{beispiel}
-
-\begin{longtable}{>{\ttfamily}ll>{\ttfamily}ll}
- \caption{All available \ac{ghs} pictograms.\label{tab:ghs_pictograms}} \\
- \toprule
- \normalfont\bfseries name & \bfseries pictogram & \normalfont\bfseries name & \bfseries pictogram \\
- \midrule\endfirsthead
- \toprule
- \normalfont\bfseries name & \bfseries pictogram & \normalfont\bfseries name & \bfseries pictogram \\
- \midrule\endhead
- \bottomrule\endfoot
- explos & \ghspic{explos} & explos-1 & \ghspic{explos-1} \\
- explos-2 & \ghspic{explos-2} & explos-3 & \ghspic{explos-3} \\
- explos-4 & \ghspic{explos-4} & explos-5 & \ghspic{explos-5} \\
- explos-6 & \ghspic{explos-6} & & \\
- flame & \ghspic{flame} & flame-2-white & \ghspic{flame-2-white} \\
- flame-2-black & \ghspic{flame-2-black} & flame-3-white & \ghspic{flame-3-white} \\
- flame-3-black & \ghspic{flame-3-black} & flame-4-1 & \ghspic{flame-4-1} \\
- flame-4-2 & \ghspic{flame-4-2} & flame-4-3-white & \ghspic{flame-4-3-white} \\
- flame-4-3-black & \ghspic{flame-4-3-black} & flame-5-2-white & \ghspic{flame-5-2-white} \\
- flame-5-2-black & \ghspic{flame-5-2-black} & & \\
- flame-O & \ghspic{flame-O} & flame-O-5-1 & \ghspic{flame-O-5-1} \\
- bottle & \ghspic{bottle} & bottle-2-black & \ghspic{bottle-2-white} \\
- bottle-2-white & \ghspic{bottle-2-black} & & \\
- acid & \ghspic{acid} & acid-8 & \ghspic{acid-8} \\
- skull & \ghspic{skull} & skull-2 & \ghspic{skull-2} \\
- skull-6 & \ghspic{skull-6} & & \\
- exclam & \ghspic{exclam} & & \\
- health & \ghspic{health} & & \\
- aqpol & \ghspic{aqpol} & & \\
-\end{longtable}
-
-\subsection{Picture Type Depending on Engine}\label{ssec:picture_type}
-As you probably know you can't use every picture type with every compiler engine.
-\pdfTeX{} in \acs{dvi} mode \emph{needs} \code{eps} pictures while
-\pdfTeX{} in \acs{pdf} mode, \XeTeX{} and \LuaTeX{} convert
-\code{eps} pictures into \code{pdf} files, given they have the rights to write in
-the directory the pictures are saved in.
-
-However, the latter can include \code{jpg} and \code{png} without any problems,
-while \pdfTeX{} in \acs{dvi} mode can't.
-
-To resolve this \ghsystem tests which engine is used and if \pdfTeX{} which
-mode is used and then chooses either \code{eps} or \code{pdf} for the pictograms.
-You are free to choose the picture type yourself with the option
-\begin{beschreibung}
- \Option{pic-type}{eps|pdf|jpg|png}
-\end{beschreibung}
-\secidx*{Pictograms}
-
-\section{Available Languages}\label{sec:ghsystem_language}
-Right now the H and P statements are only available in English, German or Italian.
-The package adapts the package option \key[option]{german} but does not (yet)
-recognize language settings by \paket{babel} or \paket{polyglossia}.
-
-You can also choose the language explicitly.
-\begin{beschreibung}
- \Option{language}{english|german|italian}
-\end{beschreibung}
-\begin{beispiel}
- \ghs{h}{201}
-
- \chemsetup[ghsystem]{language=german}
- \ghs{h}{201}
-\end{beispiel}
-
-I will add other languages some time in future. This may take a while, though.
-If you would be willing to contribute and write the statements of another language
-please feel free to contact me\footnote{\href{mailto:contact@mychemistry.eu}{contact@mychemistry.eu}}.
-I would provide you with a template file, a \acs{pdf} containing the official
-translations, and help to all your questions.
-
-\section{List of All Statements}\secidx{List of All Statements}
-If for some reason you want to list all sentences you can use
-\begin{beschreibung}
- \Befehl{ghslistall}[<options>]
-\end{beschreibung}
-
-This command has a number of options to customize the table, which is created with
-the \lstinline=longtable= environment of the \paket{longtable} package.
-\begin{beschreibung}
- \option{table-head-number}{<text>} Default = \code{Identifier}
- \option{table-head-text}{<text>} Default = \code{Statement}
- \option{table-next-page}{<text>} Default = \code{continues on next page}
- \option{table-caption}{<text>} As \code{<text>} in \lstinline=\caption{<text>}=.
- Default = \code{All H, EUH, and P Statements.}
- \option{table-caption-short}{<text>} As \code{<short>} in \lstinline=\caption[<short>]{<text>}=.
- \option{table-label}{<text>} The label to refer to the table with \lstinline=\ref=
- and similar commands. Default = \code{tab:ghs-hp-statements}
- \option{table-row-sep}{<dim>} The separation of the table rows. A \TeX\ dimension.
- Default = \code{3pt}
- \option{table-rules}{\default{default}|booktabs|none} The style of the horizontal
- rules in the table. \code{default} uses \lstinline=\hline=, \code{booktabs} uses
- \lstinline=\toprule=, \lstinline=\midrule= or \lstinline=\bottomrule=, resp.
- This option needs the \paket{booktabs} package which you have to load yourself
- then. Default = \code{default}
- \option{table-top-head-rule}{\default{default}|booktabs|none} Change top rule
- explicitly. Default = \code{default}
- \option{table-head-rule}{\default{default}|booktabs|none} Change rule below head
- explicitly. Default = \code{default}
- \option{table-foot-rule}{\default{default}|booktabs|none} Change foot rule
- explicitly. Default = \code{default}
- \option{table-last-foot-rule}{\default{default}|booktabs|none} Change last foot
- rule explicitly. Default = \code{default}
-\end{beschreibung}
-
-The code below shows how table~\ref{tab:ghs-hp-statements} was created:
-\begin{beispiel}[code only]
- \ghslistall[fill-in,table-rules=booktabs]
-\end{beispiel}
-
-\ghslistall[fill-in,table-rules=booktabs]
-\secidx*{List of All Statements}\secidx*{GHSYSTEM}
+This change has been made \sinceversion{4.0}with version~4.0 since with this
+version every of those packages can be used independently from the
+\chemmacros\ package. It made sense to give each of them an own documentation
+file. You should be able to find them in the same folder as this document as
+well as via the \code{texdoc} program. You can also try and click on the
+names in the list above. They are links and \emph{should} open the respective
+file.
\appendix
\part{Appendix}\index{APPENDIX@\textbf{APPENDIX}}
-\addsec{Overview: Options and Customization}\label{sec:overview}\secidx{Option Overview (chemmacros)}
-\minisec{Options}
-In the table below all options provided by \chemmacros for customization are listed.
-All options that belong to a module can be set with
-\begin{beschreibung}
- \Befehl{chemsetup}[<module>]{<keyval>} or
- \Befehl{chemsetup}{<module>/<keyval>}.
-\end{beschreibung}
-Some options can be set without value. Then the \default{underlined} value is used.
-The options belonging to the modules \code{\textcolor{module}{chemformula}} and
-\code{\textcolor{module}{ghsystem}} are not listed here.
-\small
-\begin{longtable}{>{\ttfamily\color{key}\hspace{5mm}}l>{\ttfamily\color{module}}l>{\ttfamily}l>{\ttfamily}ll}
- \toprule
- \normalfont\normalcolor\bfseries option &
- \normalfont\normalcolor\bfseries module &
- \normalfont\bfseries values &
- \normalfont\bfseries default & \\
- \midrule
- \endhead
- \bottomrule
- \endfoot
- \multicolumn{5}{l}{package options:} \\
- bpchem & option & \default{true}|false & false & page~\pageref{key:option_bpchem} \\
- circled & option & formal|\default{all}|none & formal & page~\pageref{key:option_circled} \\
- circletype & option & chem|math & chem & page~\pageref{key:option_circletype} \\
- cmversion & option & 1|2|bundle & bundle & page~\pageref{key:option_cmversion} \\
- ghsystem & option & \default{true}|false & true & page~\pageref{key:option_ghsystem} \\
- iupac & option & auto|restricted|strict & auto & page~\pageref{key:option_iupac} \\
- language & option & <language> & english & page~\pageref{key:option_language} \\
- method & option & chemformula|mhchem & chemformula & page~\pageref{key:option_method} \\
- Nu & option & chemmacros|mathspec & chemmacros & page~\pageref{key:option_Nu} \\
- strict & option & \default{true}|false & false & page~\pageref{key:option_strict} \\
- synchronize & option & \default{true}|false & false & page~\pageref{key:option_synchronize} \\
- greek & option & math|textgreek|\default{upgreek} & upgreek & page~\pageref{key:option_greek} \\
- xspace & option & \default{true}|false & true & page~\pageref{key:option_xspace} \\
- \multicolumn{5}{l}{\cmd{ba}, \cmd{Nu}:} \\
- elpair & particle & \default{dots}|dash|false & false & page~\pageref{key:particle_elpair} \\
- \multicolumn{5}{l}{\ac{iupac} commands:} \\
- break-space & iupac & <dim> & .01em & page~\pageref{key:iupac_break-space} \\
- bridge-number & iupac & sub|super & sub & page~\pageref{key:iupac_bridge-number} \\
- cip-kern & iupac & <dim> & .075em & page~\pageref{key:iupac_cip-kern} \\
- coord-use-hyphen & iupac & \default{true}|false & true & page~\pageref{key:iupac_coord-use-hyphen} \\
- hyphen-pre-space & iupac & <dim> & .01em & page~\pageref{key:iupac_hyphen-pre-space} \\
- hyphen-post-space & iupac & <dim> & -.03em & page~\pageref{key:iupac_hyphen-post-space} \\
- \multicolumn{5}{l}{\cmd{DeclareChemLatin}:} \\
- format & latin & <anything> & \lstinline=\itshape= & page~\pageref{key:latin_format} \\
- \multicolumn{5}{l}{\cmd{pch}, \cmd{mch}, \cmd{fpch}, \cmd{fmch}:} \\
- append & charges & \default{true}|false & false & page~\pageref{key:charges_append} \\
- \multicolumn{5}{l}{acid/base:} \\
- p-style & acid-base & slanted|italics|upright & upright & page~\pageref{key:acid-base_p-style} \\
- \multicolumn{5}{l}{\cmd{ox}:} \\
- align & ox & center|right & center & page~\pageref{key:ox_align} \\
- parse & ox & \default{true}|false & true & page~\pageref{key:ox_parse} \\
- roman & ox & \default{true}|false & true & page~\pageref{key:ox_roman} \\
- pos & ox & top|super|side & top & page~\pageref{key:ox_pos} \\
- explicit-sign & ox & \default{true}|false & false & page~\pageref{key:ox_explicit-sign} \\
- decimal-marker & ox & comma|point & point & page~\pageref{key:ox_decimal-marker} \\
- \multicolumn{5}{l}{\cmd{OX}, \cmd{redox}:} \\
- dist & redox & <dim> & .6em & page~\pageref{key:redox_dist} \\
- sep & redox & <dim> & .2em & page~\pageref{key:redox_sep} \\
- \multicolumn{5}{l}{\cmd{Enthalpy}, \cmd{Entropy}, \cmd{Gibbs}:} \\
- exponent & & <anything> & \cmd{standardstate} & page~\pageref{key:none_exponent} \\
- delta & & <anything>|false & & page~\pageref{key:none_delta} \\
- subscript & & left|right & & page~\pageref{key:none_subscript} \\
- unit & & <unit> & & page~\pageref{key:none_unit} \\
- \multicolumn{5}{l}{\cmd{DeclareChemState}, \cmd{RenewChemState}:} \\
- exponent & & <anything> & \cmd{standardstate} & page~\pageref{key:none_exponent} \\
- delta & & <anything>|false & & page~\pageref{key:none_delta} \\
- subscript & & <anything> & & page~\pageref{key:none_subscript} \\
- subscript-left & & \default{true}|false & & page~\pageref{key:none_subscript-left} \\
- \multicolumn{5}{l}{\cmd{State}:} \\
- exponent & state & <anything> & \cmd{standardstate} & page~\pageref{key:state_exponent} \\
- delta & state & <anything>|false & & page~\pageref{key:state_delta} \\
- subscript-left & state & \default{true}|false & & page~\pageref{key:state_subscript-left} \\
- \multicolumn{5}{l}{\cmd{NMR}:} \\
- unit & nmr & <unit> & \cmd{mega}\cmd{hertz} & page~\pageref{key:nmr_unit} \\
- nucleus & nmr & \{<num>,<atom symbol>\} & \{1,H\} & page~\pageref{key:nmr_nucleus} \\
- format & nmr & <anything> & & page~\pageref{key:nmr_format} \\
- pos-number & nmr & side|sub & side & page~\pageref{key:nmr_pos-number} \\
- coupling-unit & nmr & <unit> & \lstinline+\hertz+ & page~\pageref{key:nmr_coupling-unit} \\
- parse & nmr & \default{true}|false & true & page~\pageref{key:nmr_parse} \\
- delta & nmr & <anything> & & page~\pageref{key:nmr_delta} \\
- list & nmr & \default{true}|false & false & page~\pageref{key:nmr_list} \\
- list-setup & nmr & & see text & page~\pageref{key:nmr_list-setup} \\
- use-equal & nmr & \default{true}|false & true & page~\pageref{key:nmr_use-equal} \\
- \multicolumn{5}{l}{\cmd{DeclareChemReaction}:} \\
- star & & \default{true}|false & false & page~\pageref{key:none_star} \\
- arg & & \default{true}|false & false & page~\pageref{key:none_arg} \\
- list-name & reaction & <anything> & List of reactions & page~\pageref{key:reaction_list-name} \\
- list-entry & reaction & <anything> & Reaction & page~\pageref{key:reaction_list-entry} \\
- \multicolumn{5}{l}{\cmd{mhName}:} \\
- align & mhName & <alignment> & \cmd{centering} & page~\pageref{key:mhName_align} \\
- format & mhName & <commands> & & page~\pageref{key:mhName_format} \\
- fontsize & mhName & <fontsize> & \cmd{tiny} & page~\pageref{key:mhName_fontsize} \\
- width & mhName & <dim> & & page~\pageref{key:mhName_width} \\
- \multicolumn{5}{l}{phases:} \\
- pos & phases & side|sub & side & page~\pageref{key:phases_pos} \\
- space & phases & <dim> & .1333em & page~\pageref{key:phases_space} \\
- \multicolumn{5}{l}{\cmd{newman}:} \\
- angle & newman & <angle> & 0 & page~\pageref{key:newman_angle} \\
- scale & newman & <factor> & 1 & page~\pageref{key:newman_scale} \\
- ring & newman & <tikz> & & page~\pageref{key:newman_ring} \\
- atoms & newman & <tikz> & & page~\pageref{key:newman_atoms} \\
- back-atoms & newman & <tikz> & & page~\pageref{key:newman_back-atoms} \\
- \multicolumn{5}{l}{\cmd{orbital} \ttfamily <type> = s|p|sp|sp2|sp3:} \\
- phase & orbital/<type> & +|- & + & page~\pageref{key:orbital_phase} \\
- scale & orbital/<type> & <factor> & 1 & page~\pageref{key:orbital_scale} \\
- color & orbital/<type> & <color> & black & page~\pageref{key:orbital_color} \\
- angle & orbital/<type> & <angle> & 90 & page~\pageref{key:orbital_angle} \\
- half & orbital/p & \default{true}|false & false & page~\pageref{key:orbital_half} \\
- overlay & orbital & \default{true}|false & false & page~\pageref{key:orbital_overlay} \\
- opacity & ornital & <num> & 1 & page~\pageref{key:orbital_opacity}
-\end{longtable}
-\normalsize
-
-\minisec{Commands}
-Quite a number of commands has been presented with which the possibilities of
-\chemmacros can be expanded. They are listed below for a quick overview.
-\begin{beschreibung}
- \befehl{DeclareChemArrow} Define new arrow, see
- page~\pageref{cmd:DeclareChemArrow}.
- \befehl{RenewChemArrow} Redefine existing arrow.
- \befehl{DeclareChemBond} Define a bond, see
- page~\pageref{cmd:DeclareChemBond}.
- \befehl{RenewChemBond} Redefine a bond.
- \befehl{DeclareChemBondAlias} Declare an alias to an existing bond.
- \befehl{DeclareChemIUPAC} Define new \ac{iupac} command, see
- page~\pageref{cmd:DeclareChemIUPAC}.
- \befehl{RenewChemIUPAC} Redefine \ac{iupac} command.
- \befehl{DeclareChemLatin} Define new latin phrases, see
- page~\pageref{cmd:DeclareChemLatin}.
- \befehl{RenewChemLatin} Redefine latin phrases.
- \befehl{DeclareChemNMR} Define new NMR command, see
- page~\pageref{cmd:DeclareChemNMR}.
- \befehl{RenewChemNMR} Redefine NMR command.
- \befehl{DeclareChemParticle} Define new particle, see
- page~\pageref{cmd:DeclareChemParticle}.
- \befehl{RenewChemParticle} Redefine particle.
- \befehl{DeclareChemPhase} Define new phases command, see
- page~\pageref{cmd:DeclareChemPhase}.
- \befehl{RenewChemPhase} Redefine phases command.
- \befehl{DeclareChemReaction} Define new reaction environment, see
- page~\pageref{cmd:DeclareChemReaction}.
- \befehl{DeclareChemState} Define new state command, see
- page~\pageref{cmd:DeclareChemState}.
- \befehl{RenewChemState} Redefine state command.
-\end{beschreibung}
-\secidx*{Option Overview (chemmacros)}
-
\addsec{Suggestions and Bug Reports}
+
Feedback on \chemmacros, \chemformula and \ghsystem is highly appreciated and
-welcome! Especially \chemformula and \ghsystem are still in beta testing phase
-so even if I repeat myself: feedback is highly welcome.
+welcome!
-If you have suggestions for macros, missing features \etc, please don't hesitate
-to contact me. If you recognize any errors, be it chemical ones, wrong documentation
-and the like, I'd be grateful about a short email%
-\footnote{\href{mailto:contact@mychemistry.eu}{contact@mychemistry.eu}}.
+If you have suggestions for macros, missing features \etc, please don't
+hesitate to contact me. If you recognize any errors, be it chemical ones,
+wrong documentation and the like, I'd be grateful about a short
+email\footnote{\href{mailto:contact@mychemistry.eu}{contact@mychemistry.eu}}.
-If you find any bugs, it would be best, if you'd send me a minimal example, with
-which I can reproduce the bug. You can also submit an issue on
+If you find any bugs, it would be best, if you'd send me a minimal example,
+with which I can reproduce the bug. You can also submit an issue on
\url{https://bitbucket.org/cgnieder/chemmacros/} instead.
-Many thanks to all the people who already provided me with feedback, especially
-(in alphabetical order):
+Many thanks to all the people who already provided me with feedback,
+especially (in alphabetical order):
\begin{itemize}
\item Peter Cao
\item Christina Lüdigk
@@ -3444,5 +2298,4 @@ Many thanks to all the people who already provided me with feedback, especially
{\catcode`\^=11 \catcode`\#=11
\printindex}
-% \listoftodos
-\end{document} \ No newline at end of file
+\end{document}