LaTeX und Chemie (1) – Die Grundlagen mit „chemmacros“
Einleitung
In den letzten Jahren scheint sich auch unter Chemikern (oder vermutlich eher unter Chemie-Studenten) LaTeX immer größerer Beliebtheit zu erfreuen. Das mag damit zusammenhängen, dass es inzwischen eine ganze Reihe von Paketen gibt, die einem für die Chemie benötigte Anforderungen erleichtern. Dieser Beitrag ist ein erster in einer Reihe, die die bekanntesten Pakete vorstellen soll. Den Anfang machen soll hier eines meiner eigenen Pakete: [cci]chemmacros[/cci]. Der Grund dafür ist nicht etwa, weil es von mir ist, sondern weil es viele der ganz grundlegenden Funktionen bereitstellt, etwa für Substanz-Namen nach IUPAC, pH und pKs oder Oxidationszahlen.
In weiteren Beiträgen werde ich die folgenden Themen behandeln:
- Summen- und Verhältnisformeln und Reaktionsgleichungen: die Pakete [cci]mhchem[/cci] und [cci]chemformula[/cci]
- Strukturformeln: das [cci]chemfig[/cci] Paket
- Sicherheitsdaten: die Pakete [cci]rsphrase[/cci], [cci]hpstatement[/cci] und [cci]ghsystem[/cci]
- Nummerieren von Verbindungen: das [cci]chemnum[/cci] Paket
- Spezielle Diagramme: die Pakete [cci]modiagram[/cci], [cci]endiagram[/cci] und [cci]bohr[/cci]
Das chemmacros Paket
Das [cci]chemmacros[/cci] Paket entstand vor einigen Jahren als lose Liste privater Makros, ist heute aber ein vollwertiges Paket, das gebündelt ist mit weiteren Paketen wie den noch zu besprechenden [cci]chemformula[/cci] und [cci]ghsystem[/cci]. Es stellt einige verschiedene Helfer bereit:
- Hilfe zur Eingabe von IUPAC-Namen
- Einfache Eingabe häufig benötiger Partikel-Symbole
- Phasendeskriptoren
- Hilfe bei der Eingabe von Oxidationszahlen und Ladung, u.A. auch formaler Ladungen
- Einfache Angabe thermodynamischer Eigenschaften
- Spektroskopische Daten
- Umgebungen für Reaktionsgleichungen, eng verbunden mit dem [cci]chemformula[/cci] Paket
- Newman-Projektionen
Nicht alle dieser Funktionen werde ich hier besprechen, sondern mich auf die IUPAC-Namen, Partikel, Phasen und Ladungen beschränken.
IUPAC-Namen
IUPAC-Namen von Substanzen können ziemlich lang und ziemlich unleserlich werden: so heißt Kristallviolett etwa mit systematischem Namen
(4-(4,4′-Bis(dimethylaminophenyl)benzhydryliden)cyclohexa-2,5-dien-1-yliden)dimethylammoniumchlorid
Solche und noch längere Namen können ein Problem darstellen, da sie grundsätzlich erst einmal nur an den Bindestrichen umgebrochen werden können. Das folgende Beispiel
[cce lang=”latex”]\documentclass{article}
\usepackage{chemmacros}
\usepackage{showframe}
\begin{document}
(4-(4,4′-Bis(dimethylaminophenyl)benzhydryliden)cyclohexa-2,5-dien-1-yliden)dimethylammoniumchlorid
\end{document}[/cce]
liefert die Fehlermeldung
[cce]Overfull \hbox (129.97336pt too wide) in paragraph at lines 6–7[/cce]
und sieht folgendermaßen aus:
Natürlich kann man mit [cci]babel[/cci]s shortcuts und notfalls mit manuellem Eingreifen bessere Ergebnisse erreichen. Durch den Befehl [cce inline=”true” lang=”latex”]\iupac[/cce] und mit Hilfe seiner Hilfsmakros [cce inline=”true” lang=”latex”]\-[/cce] und [cce inline=”true” lang=”latex”]\|[/cce] (sie haben ihre Bedeutung nur innerhalb von [cce inline=”true” lang=”latex”]\iupac[/cce]) lässt sich ebenfalls ein besseres Ergebnis erreichen:
[cce lang=”latex”]\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{chemmacros}
\chemsetup[iupac]{ hyphen-post-space = 0pt }
\usepackage{showframe}
\begin{document}
(4″=(4,4′”=Bis”-(di”-methyl”-amino”-phenyl)”-benz”-hydr”-y”-l”-iden)%
“-cyclo”-hexa”=2,5″=dien”=1″=y”-li”-den)”-di”-methyl”-ammonium”-chlorid
\iupac{(4\-(4,4’\-Bis\|(di\|methyl\|amino\|phenyl)\|benz\|hydr\|y\|li\|den)%
\|cyclo\|hexa\-2,5\-dien\-1\-y\|li\|den)\|di\|methyl\|ammonium\|chlorid}
\end{document}[/cce]
Wäre das der einzige Vorteil von [cce inline=”true” lang=”latex”]\iupac[/cce], bräuchte man den Befehl wohl nicht. Allerdings hat [cci]chemmacros[/cci] eine ganze Reihe semantischer Befehle, die ihre Bedeutung im Zweifellsfall nur innerhalb von [cce inline=”true” lang=”latex”]\iupac[/cce] haben, wie zum Beispiel [cce inline=”true” lang=”latex”]\cis[/cce] und [cce inline=”true” lang=”latex”]\trans[/cce]. Zudem hat [cci]chemmacros[/cci] eine Schnittstelle, um eigene solcher Befehle zu erstellen.
[cce lang=”latex”]\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{chemmacros}
\usepackage{newtxmath,newtxtext}
\chemsetup[iupac]{ hyphen-post-space = 0pt }
\usepackage{showframe}
\begin{document}
\iupac{Bis(\hapto{5}cyclo\|penta\|dienyl)\|eisen}
\iupac{\cip{2S,3S}\-Weins\”aure}
\iupac{\a\-(Tri\|chloro\|methyl)\-\w\-chloro\|poly(1,4\-phenylene\|methylen)}
\end{document}[/cce]
Phasen
Nach IUPAC-Vorgaben werden Aggregatszustände in Klammern an die betreffende Formel angehängt [Coh+08, S. 54]:
The […] symbols are used to represent the states of aggregation of chemical species. The letters are appended to the formula in parentheses and should be printed in Roman (upright) type without a full stop (period).
Auf der anderen Seite ist es auch weit verbreitet, Phasen-Indikatoren als Tiefstellung zu setzen [cci]chemmacros[/cci] erlaubt beides mit einem gemeinsamen Befehl:
[cce lang=”latex”]\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{chemmacros}
\DeclareChemPhase{\aqi}{aq,$\infty$}% aqueous solution at infinite dilution
\DeclareChemPhase{\cd}{cd}% condensed phase
\begin{document}
\ch{C\sld{} + 2 H2O\lqd{} -> CO2\gas{} + 2 H2\gas}\par
NaOH\aqi\ \ch{H2O\cd} U\phase{cr}
\chemsetup[phases]{pos=sub}
\ch{C\sld{} + 2 H2O\lqd{} -> CO2\gas{} + 2 H2\gas}\par
NaOH\aqi\ \ch{H2O\cd} U\phase{cr}
\end{document}[/cce]
Ladungen
Ladungen sind doch einfach, nicht? Das sind doch nur hochgestelltes Plus oder Minus. Ja schon, aber… es gibt eben auch partielle Ladungen, die Unterscheidung zwischen tatsächlichen und formalen Ladungen, Oxidationszahlen (als hypothetische Ladungen). Alle diese verschiedenen Varianten sind einfach möglich mit [cci]chemmacros[/cci].
[cce lang=”latex”]\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{chemmacros}
% \chemsetup[option]{circled=all}
\begin{document}
\ox{1,Na}\ox{-1,Cl}
Ph\pch \quad Ph\fpch \quad \ch{ Ph+ }
\end{document}[/cce]
Quellennachweise
- Coh+08 E. Richard Cohan, Tomislav Cvitaš, Jeremy G. Frey, Bertil Holmström, Kozo Kuchitsu, Roberto Marquardt, Ian Mills, Franco Pavese, Martin Quack, Jürgen Stohner, Herbert L. Strauss, Michio Takami und Anders J Thor. “Quantities, Symbols and Units in Physical Chemistry”, IUPAC Green Book. 3. Ausgabe, 2. Druck. IUPAC & RSC Publishing, Cambridge, 2008.
Weiter geht’s mit Summen- und Verhältnisformeln und Reaktionsgleichungen: die Pakete [cci]mhchem[/cci] und [cci]chemformula[/cci].
Kommentare (7)