LaTeX und Chemie
Transcript of LaTeX und Chemie
\begin{rxn}
\reactand{ \chemfig{=_[::-30]-[::60](=[::60]O)-[::-60]} }{}
\arrow{ $+ \Hpl$ }{}
\mesomeric{
\reactand{ \chemfig{=_[:-30]-[::60](-[::60]OH)
(-[::-120,.3,,,white]\oplus)-[::-60]} }{}
\marrow[below]
\reactand[below]{ \chemfig{\oplus-[6,.3,,,white]
-[:-30]=_[::60](-[::60]OH)-[::-60]} }{}
}{gf}
\branch[right=of gf,yshift=4em]{
\arrow{}{}
\reactand{ \chemname{\chemfig{=_[:-30]-[::60]
(-[::60]OH)(-[::-120]R)-[::-60]}}{1,2-Addukt} }{}
}{}
\branch[right=of gf,yshift=-5em]{
\arrow{}{}
\reactand{ \chemname{\chemfig{R-[6]-[:-30]=_[::60]
(-[::60]OH)-[::-60]}}{1,4-Addukt} }{}
}{}
\end{rxn}
LATEX und Chemieein Überblick
12. März 2011
Clemens Niederberger
Was der TEXende Chemiker brauchen kann
O +H⊕
OH
⊕
⊕OH
OH
R
1,2-Addukt
R OH
1,4-Addukt
LATEX und Chemie Inhaltsverzeichnis
Inhaltsverzeichnis
Abschnitt 1 Einleitung 3
Abschnitt 2 Überblick über die vorgestellten Pakete 4
2.1 mhchem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 chemexec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 chemcompounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.4 chemstyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.5 biblatex-chem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.6 streeTEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.7 ChemFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.8 myChemistry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.9 Weiteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Abschnitt 3 mhchem 6
3.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.2 Bindungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.3 Reaktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Pfeile, 7 • Fällung, Gasentstehung, 8 • Verwendung in Mathe-Umgebungen, 8
Abschnitt 4 chemexec 10
4.1 Makros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Teilchen und Ladungen, 10 • Stereodeskriptoren, 10 • Anionen, 11
4.2 Kompatibilität mit mhchem . . . . . . . . . . . . . . . . . . . . . . . . . . 114.3 Befehle für mhchem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Abschnitt 5 chemcompounds 12
5.1 Die Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125.2 Anpassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Abschnitt 6 chemstyle 14
Abschnitt 7 streeTEX 15
7.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
- Seite 2 -
LATEX und Chemie 1 Einleitung
7.2 Präfixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157.3 Richtungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177.4 Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197.5 Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217.6 Ausrichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Abschnitt 8 ChemFig 22
8.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238.2 Bindungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248.3 Winkel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268.4 Atome und Atomgruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . 288.5 Verzweigungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298.6 Ringe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308.7 Lewisformeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Einsatz mit mhchem, 34
8.8 Reaktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348.9 Weiteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Elektronenverschiebung, 36 • Submoleküle, 37
Abschnitt 9 myChemistry 38
9.1 Grundidee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389.2 Mesomerie und Übergangszustände . . . . . . . . . . . . . . . . . . . . . . 409.3 Elektronenbewegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419.4 Komplexere Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Abschnitt 10 Tricks mit PS (und ifsym) 43
10.1 Laborgeräte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4410.2 Spektrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4410.3 Elektronenkonfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Abschnitt 11 Nachwort 46
Abschnitt 1Einleitung
Ich habe vor einigen Jahren schon angefangen, Dokumente, die Summenformeln undStrukturformeln enthalten, zu setzen. Dabei habe ich viel im Internet gesucht, und einigePakete gefunden, die im Zusammenhang mit der Chemie nützlich sind. Was ich nicht
- Seite 3 -
LATEX und Chemie 2 Überblick über die vorgestellten Pakete
gefunden habe, ist eine Beschreibung, einen brauchbaren Überblick oder ähnliches. Ichhabe dann begonnen, auf meiner Webseite selbst mehrere Pakete vorzustellen und nunbeschlossen, diese Übersicht etwas ausführlicher zu gestalten.
Abschnitt 2Überblick über die vorgestellten Pakete
2.1 mhchem
Das Paket mhchem1 sollte jeder kennen, der irgendein Chemie-bezogenes Dokument mitLATEX erstellen möchte. Es ermöglicht nämlich mit eine wirklich einfache Darstellungvon Summenformeln, Ionen, Nukliden und Reaktionsgleichungen. Es wird in Abschnitt 3vorgestellt.
2.2 chemexec
Das Paket chemexec2 liefert einige kleinere nützliche Makros, ist aber kein eigentlichesChemie-Paket. Es kann aus Gründen der Eigenwerbung aber nicht fehlen. Vorgestelltwird chemexec in Abschnitt 4.
2.3 chemcompounds
Das Paket chemcompounds3 stellt Befehle zur Referenzierung auf Substanzen dar, wiesie in wissenschaftlichen Artikeln üblich ist. Es wird in Abschnitt 5 vorgestellt.
2.4 chemstyle
Das Paket chemstyle4 stellt neben einigen kleinen nützlichen Makros und eine Schema-Umgebung bereit, deren Stil sich sowohl individuell anpassen lässt, als auch automatischauf den Stil einiger Journals ändern lässt.
2.5 biblatex-chem
biblatex-chem5 stellt bibLATEX-Stile für eine Reihe von Journals zur Verfügung. Es wirdan dieser Stelle erwähnt, weil ich denke, dass es für den einen oder anderen von Interessesein könnte. Ich werde jedoch nicht weiter darauf eingehen, da ich es selbst noch nichtverwendet und getestet habe. Die Dokumentation ist allerdings selbsterklärend.
1von Martin Hensel http://tug.ctan.org/tex-archive/macros/latex/contrib/mhchem/2von mir http://www.ctan.org/tex-archive/macros/latex/contrib/chemexec/3von Stephan Schenk http://www.ctan.org/tex-archive/macros/latex/contrib/chemcompounds/4von Joseph Wright http://www.ctan.org/tex-archive/macros/latex/contrib/chemstyle/5von Joseph Wright
http://www.ctan.org/tex-archive/macros/latex/contrib/biblatex-contrib/biblatex-chem/
- Seite 4 -
LATEX und Chemie 2 Überblick über die vorgestellten Pakete
2.6 streeTEX
streeTEX6 ist ein älteres nicht mehr gepflegtes Paket. Es wird also keine Updates gebenund Konflikte mit anderen Paketen müssen hingenommen werden. Da es inzwischen einneues Paket gibt, um Strukturformeln zu erstellen, muss man streeTEX auch gar nichtverwenden, wird der Vollständigkeit halber aber dennoch beschrieben. Die Beschreibungist im Wesentlichen eine Übersetzung der englischen Paketbeschreibung von Igor Strokovund ist fast 1:1 aus meiner LATEX-Einführung7 entnommen.
Es soll nicht unerwähnt bleiben, dass streeTEX Konflikte mit den Paketen fontenc(Fontausgabe) und tipa (Lautschrift) hat. Bemerkenswerterweise führt auch die Kombi-nation mit dem Sprachpaket babel und der Option french zu Problemen.
Man sollte außerdem vor chemischen Formeln den Befehl \mdqoff setzen, um die Son-derbedeutung von " auszuschalten. Man kann sie anschließend mit \mdqon wieder akti-vieren.
Außerdem hat sich bei der Erstellung dieses Dokuments herausgestellt, dass man, umdie Strukturen korrekt darzustellen, bei der Erzeugung des pdf-Dokuments den Umwegüber die PostScript-Datei wählen muss. Ansonsten fehlten Doppelbindungen, Keilbin-dungen und ähnliches mehr.
streeTEX wird in Abschnitt 7 vorgestellt.
2.7 ChemFig
Natürlich kann das nagelneue tolle Paket ChemFig8 in einer solchen Zusammenstellungnicht fehlen. Es ist wohl die Lösung, um Strukturformeln darzustellen. Im Gegensatz zustreeTEX kommt ChemFig problemlos mit pdflatex zurecht und ist auch kompatibel mite-TEX und ConTEXt. ChemFig wird in Abschnitt 8 vorgestellt. Die Beschreibung istmit kleinen Änderungen meiner LATEX-Einführung7 entnommen
2.8 myChemistry
Das Paket myChemistry9 ist eine Ergänzung zu ChemFig, um Reaktionsschemata zuerstellen, ist aber auch mit streeTEX einsetzbar. Es wird in Abschnitt 9 vorgestellt. DieBeschreibung bleibt hier recht oberflächlich. Für weitere Informationen lesen Sie die Do-kumentation9 zu myChemistry.
2.9 Weiteres
Der letzte Abschnitt wird einen winzigen Ausblick auf PSTricks werfen, das neben TikZeine der fähigsten Lösungen für das Erstellen von Grafiken bietet
6von Igor Strokov, http://www.ctan.org/tex-archive/macros/latex/contrib/streetex/7http://www.niederberger-berlin.net/dateien/skript_2010.pdf8von Christian Tellechea http://www.ctan.org/tex-archive/macros/latex/contrib/chemfig/9von mir http://www.ctan.org/tex-archive/macros/latex/contrib/mychemistry/
- Seite 5 -
LATEX und Chemie 3 mhchem
Noch ein Hinweis: das Paket OCHEM10 bietet im Prinzip die Möglichkeiten vonChemFig und myChemistry, hat sogar noch ein paar mehr Möglichkeiten als Chem-
Fig und geht, was Reaktionsschemata betrifft, noch deutlich über myChemistry hinaus.Es lässt für Strukturformeln und Reaktionsschemata keine Wünsche mehr offen. Da esaber die Strukturen und Schemata nicht mit den Fähigkeiten von LATEX erstellt, sonderndie eigentliche „Zeichenarbeit“ von einem Perlskript übernommen wird, ist es wohl geradefür Einsteiger eher nicht so attraktiv. So lasse ich die Beschreibung von OCHEM aus,obwohl mir das Paket ausgesprochen gut gefällt.
Abschnitt 3mhchem
3.1 Grundlagen
Vermutlich kennen die meisten dieses Paket schon, da es ja auch unglaublich praktischist. unabhängig von Mathematik- oder Textmodus lassen sich mit dem \ce{} BefehlSummenformeln völlig ohne Aufwand darstellen.
Beispiel 1
1 \ce{H2O} \ce{H2SO4} H2O H2SO4
mhchem erkennt in der Regel automatisch, ob ein Subskript oder Superskript oderein stöchiometrischer Faktor gesetzt werden soll. Manchmal muss man zwar ein wenignachhelfen.
Beispiel 21 \ce{2H2O} \ce{1/2 H2O} \ce{HSO4-}
\ce{AgCl 2-} \ce{SO 4^2-}2H2O
12 H2O HSO –
4 AgCl –2 SO 2 –4
Klammern funktionieren genauso einfach . . .
Beispiel 31 \ce{[ Ag(NH3) 4]+}\\
2 \ce{KCr(SO4) 2*12 H2O}\\
3 \ce{KCr(SO4) 2.12 H2O}\\
4 \ce{[ Cd\{SC(NH2) 2\}2].[ Cr(SCN)4(
NH 3) 2]2}
[Ag(NH3)4]+
KCr(SO4)2 · 12H2OKCr(SO4)2 · 12H2O[Cd{SC(NH2)2}2] · [Cr(SCN)4(NH3)2]2
. . . wie Aggregatsangaben und Isotope.
10von Ingo Klöckl http://www.ctan.org/tex-archive/support/ochem/
- Seite 6 -
LATEX und Chemie 3 mhchem
Beispiel 41 \ce{NH 3_{( l)}} \ce{NaOH _{(aq)}}
\ce {^{238}_{92} U}NH3 (l) NaOH(aq)
23892U
3.2 Bindungen
Es ist mit mhchem auch möglich, einfache Halbstrukturformeln zu erstellen. Dafür stelltmhchem einige Bindungen zur Verfügung.
Beispiel 5
1 \ce{C6H5-CHO }\\
2 \ce{X=Y#Z}\\
3 \ce{A\sbond B\dbond C\tbond D}
C6H5−CHOX−−Y−−−ZA−B−−C−−−D
Einfachbindungen werden durch - oder \sbond, Doppelbindungen durch = oder \dbondund Dreifachbindungen durch # pder \tbond erzeugt. Zusätzlich gibt es noch die Mög-lichkeit, mit dem Befehl \bond Bindungen individuell zu gestalten.
Beispiel 61 \ce{A\bond {-}B\bond {=}C\bond {#}D
}\\
2 \ce{A\bond {~}B\bond {~-}C}\\
3 \ce{A\bond {~=} B\bond {~--}C\bond
{-~-}D}\\
4 \ce{A\bond {...}B\bond {....}C}\\
5 \ce{A\bond {->}B\bond {<-}C}
A−B−−C−−−DA−−−B−−−−CA−−−−−B−−−−−C−−−−−DA · · · B · · · · CA→B←C
3.3 Reaktionen
3.3.1 Pfeile
mhchem ermöglicht ganz einfach, Reaktionsgleichungen zu erstellen. mhchem erkennt im\ce-Befehl einige Pfeiltypen.
Beispiel 7
1 \ce{CO2 + C -> 2CO }\\
2 \ce{CO2 + C <- 2CO }\\
3 \ce{CO2 + C <=> 2CO }\\
4 \ce{H+ + OH - <=>> H2O}\\
5 \ce{$A$ <-> $A’$}
CO2 + C −−→ 2 COCO2 + C←−− 2 COCO2 + C −−⇀↽−− 2 COH+
+ OH –↽−−−−⇀ H2O
A←−→ A′
- Seite 7 -
LATEX und Chemie 3 mhchem
Wie sie in Beispiel 7 sehen können, sind die Pfeile sehr intuitiv zu erstellen. Genausoeinfach sind sie auch zu beschriften.
Beispiel 81 \ce{CO2 + C ->[\ alpha] 2CO }\\
2 \ce{CO2 + C ->[\ alpha][\beta] 2
CO }\\
3 \ce{CO2 + C ->[\ text {oben }] 2CO
}\\
4 \ce{CO2 + C ->[\ text {oben }][\
text {unten}] 2CO }\\
CO2 + Cα−→ 2CO
CO2 + Cα−→β
2CO
CO2 + Coben−−−→ 2CO
CO2 + Coben−−−→unten
2CO
Ihnen sollte aufgefallen sein, dass die Beschriftung im Mathematik-Modus erfolgt undman deshalb \text{} einsetzen muss, um die Preile im Text-Modus zu beschriften. Al-lerdings gibt es eine einfache Möglichkeit, das zu umgehen.
Beispiel 9
1 \ce{CO2 + C ->T[oben ][ unten] 2CO
}\\
2 \ce{$A$ ->[\ce{+H2O}] $B$}\\
3 \ce{$A$ ->C[+H2O] $B$}
CO2 + Coben−−−→unten
2CO
A+H
2O
−−−−→ B
A+H
2O
−−−−→ B
In Beispiel 9 sehen Sie außerdem, dass man Pfeile auch mit Summenformeln beschriftenkann, entweder indem man das \ce-Makro einsetzt oder indem man ein C vor die Klammerschreibt.
3.3.2 Fällung, Gasentstehung
Eine weitere Kleinigkeit: man kann mit simplen Mitteln auch eine Fällung v oder Gas-entwicklung ^ anzeigen.
Beispiel 101 \ce{Ba^2+ + SO4^2- -> BaSO 4 v}\\
2 \ce{3 HCl + Al -> AlCl3 + 3/2H2
^}
Ba 2++ SO 2 –
4 −−→ BaSO4 ↓3HCl + Al −−→ AlCl3 + 3
2 H2 ↑
3.3.3 Verwendung in Mathematik-Umgebungen
Das \ce-Makro lässt sich problemlos in Mathematik-Umgebungen einsetzen.
- Seite 8 -
LATEX und Chemie 3 mhchem
Beispiel 111 \begin{equation }
2 \ce{3 HCl + Al -> AlCl 3 + 3/2H2 ^}
3 \end{equation }
3 HCl + Al −−→ AlCl3 + 32 H2 ↑ (1)
Damit lassen sich also nummerierte Reaktionen erstellen. Auch ausgerichtete Gleichun-gen sind möglich, dann muss allerdings ein anderer Befehl eingesetzt werden, nämlich\cee{}.
Beispiel 121 Kettenstart :
2 \begin{align}
3 \cee{Cl2 &-> 2 Cl *} \\
4 \intertext {Kettenfortschritt :}
5 \cee{Cl* + CH4 &-> HCl + {}*CH3} \\
6 \cee {{}* CH3 + Cl2 &-> CH3Cl + Cl*} \\
7 \intertext {Kettenabbruch :}
8 \cee{2 Cl* &-> Cl 2}\\
9 \cee {2{}*CH3 &-> CH3-CH 3}\\
10 \cee{Cl* + {}*CH3 &-> CH3Cl}
11 \end{align}
Kettenstart:
Cl2 −−→ 2Cl · (2)
Kettenfortschritt:
Cl · + CH4 −−→ HCl + · CH3 (3)
· CH3 + Cl2 −−→ CH3Cl + Cl · (4)
Kettenabbruch:
2 Cl · −−→ Cl2 (5)
2 · CH3 −−→ CH3−CH3 (6)
Cl · + · CH3 −−→ CH3Cl (7)
Beachten Sie im letzten Beispiel, dass wir das Additionszeichen · zur Radikaldarstel-lung eingesetzt haben. Das Zeichen * muss im \ce-Befehl nach einer Atomgruppe stehen.Daher wurde vor der Methylradikal eine leere Gruppe eingefügt: {}*CH3. Wenn Sie dasnicht machen, wird der Stern als Stern dargestellt.
- Seite 9 -
LATEX und Chemie 4 chemexec
Beispiel 13
1 \ce{Cl* + CH4 -> HCl + *CH3} Cl · + CH4 −−→ HCl + ∗ CH3
Abschnitt 4chemexec
4.1 Makros
chemexec stellt eine Reihe von Makros zur Verfügung, die man sich zwar auch bequemselbst definieren könnte. Es ist dennoch praktisch, das nicht jedesmal aufs Neue tun zumüssen. Alle Makros sind sowohl im Text- als auch im Mathematik-Modus einsetzbar.
4.1.1 Teilchen und Ladungen
• \el Elektron: e⊖
• \prt Proton: p⊕
• \ntr Neutron: n0
• \Hpl Proton: H⊕
• \Hyd Hydroxid: OH⊖
• \ox{}{} Oxidationszahlen
Ca\ox{-1}{F}$_2$ Ca−1
F2;das erste Argument ist die Oxidationszahl, das zweite das Element.
• \om und \op Ladungen ⊖ und ⊕.Beide Befehle haben ein optionales Argument für die Anzahl der Ladungen:Ca\op[2] Ca2⊕, \phosphat\om[3] PO
4
3⊖.
4.1.2 Stereodeskriptoren
Einige Deskriptoren zur Erleichterung der Nomenklatur.
• \Rcip und \Scip, rectus und sinister: (R) (S)
• \Dfi und \Lfi, dexter und laevus: d l
• \E und \Z, entgegen und zusammen: (E) (Z)
• \rconf und \sconf R/S-Konfiguration: R und S . Beide Befehle haben ein
optionales Argument, mit dem der Buchstabe geändert werden kann: \rconf[]
- Seite 10 -
LATEX und Chemie 4 chemexec
4.1.3 Anionen
Ebenfalls definiert sind folgende Säurereste:
• \nitrat : NO3
• \nitrit : NO2
• \sulfat : SO4
• \sulfit : SO3
• \phosphat : PO4
• \phosphit : PO3
• \carbonat : CO3
Die Säurereste sind durch mhchem zwar im Grunde nutzlos geworden, stammen abernoch aus der Zeit, als ich mhchem noch nicht kannte.
4.2 Kompatibilität mit mhchem
Wenn man auf ein paar Feinheiten achtet, ist chemexec vollständig mit mhchem kompa-tibel.
Beispiel 141 \ce{ 2 \ox{0}{ Ca} + \ox{0}{ O}_2 ->T[{~~~ REDOX ~~~}] 2Ca \op[2] + 2O \om
[2] }
20
Ca +0
O2REDOX
−−−−−−−−→ 2 Ca2⊕ + 2O2⊖
Beachten Sie bitte, dass Sie die Lücke vor \om, \op, \ox{}{} lassen sollten, sonst kanndas zu Fehlermeldungen oder falscher Darstellung führen: \ce{Ca\op[2]} Ca⊕[
2]
4.3 Befehle für mhchem
Was chemexec interessanter machen könnte, sind die Reaktionsbefehle, die auf Basis einesVorschlags in der Dokumentation zu mhchem entstanden sind.
Beispiel 151 nummerierte Reaktion :
2 \reaction {2 H2 + O2 -> 2 H2O}%
3 unnummerierte Reaktion :
4 \reaction *{2 CO + O2 -> 2 CO2}
5 mehrere ausgerichtete Reaktionen :
6 \reactions {Cl2 &-> 2 Cl. \\ Cl. + CH4 &-> HCl + {}. CH3}
- Seite 11 -
LATEX und Chemie 5 chemcompounds
nummerierte Reaktion:2H2 + O2 −−→ 2 H2O (R 1)
unnummerierte Reaktion:2 CO + O2 −−→ 2CO2
mehrere ausgerichtete Reaktionen:
Cl2 −−→ 2Cl · (R 2)
Cl · + CH4 −−→ HCl + · CH3 (R 3)
Der Befehl \reaction{} hat noch einen Bug: er erzeugt einen Whitespace, wenn manmit % am Ende nicht auskommentiert.
Abschnitt 5chemcompounds
5.1 Die Befehle
chemcompounds bietet einfache Befehle um im Text genannte Substanzen ordentlich zunummerieren und zu referenzieren. Die wesentlichen Befehle sind
1 \declarecompound [<optionaler name >]{< label >} % nur in Pr"aambel!
2 % und
3 \compound {<label1>,<label2>,...} % im Text
Mit \declarecompound werden in der Präambel die Komponenten deklariert. Dann kannmit \compound im Text auf sie referenziert werden. Lässt man das optionale Argumentvon \declarecompound leer, dann werden die Komponenten fortlaufend durchnumme-riert. Durch das optionale Argument hat man die Möglichkeit, die Nummer selbst fest-zulegen. Ein einfaches Beispiel:
Beispiel 16in der Präambel werden folgende Komponenten deklariert:
1 \declarecompound {label1}
2 \declarecompound {label2}
3 \declarecompound [5b]{ label3}
Dann bekommen wir zum Beispiel
1 \compound {label1} und \compound{label1,label2,label3}
1 und 1, 2, 5b
- Seite 12 -
LATEX und Chemie 5 chemcompounds
5.2 Anpassung
chemcompounds liefert eine Reihe von Befehlen, um das Aussehen der Referenzen zuändern.
\compoundseparator das Trennzeichen, wenn mit \compound mehrere Label aufgerufenwerden. Default: ,\penalty\@m\
\compoundglobalprefix Beginn der Liste. Default: leer
\compoundglobalsuffix Ende der Liste. Default: leer
\compoundprefix vor dem Label. Default: leer
\compoundsuffix nach dem Label. Default: leer
\compoundstyle Schriftstil des Labels. Default: \textbf
Durch ein Beispiel wird wohl am ehesten klar, wie man die Befehle einsetzen kann.
Beispiel 171 \renewcommand {\ compoundstyle }{\ underbar }
2 \compound {label1} und \compound{label1,label2,label3}
3
4 \renewcommand {\ compoundseparator }{;}
5 \compound {label1} und \compound{label1,label2,label3}
6
7 \renewcommand {\ compoundglobalprefix }{(}
8 \renewcommand {\ compoundglobalsuffix }{)}
9 \compound {label1} und \compound{label1,label2,label3}
10
11 \renewcommand {\ compoundprefix }{(}
12 \renewcommand {\ compoundsuffix }{)}
13 \compound {label1} und \compound{label1,label2,label3}
14
15 \renewcommand {\ compoundglobalprefix }{\ textbf{[}}
16 \renewcommand {\ compoundglobalsuffix }{\ textbf{]}}
17 \renewcommand {\ compoundprefix }{\ ensuremath {\ langle}}
18 \renewcommand {\ compoundsuffix }{\ ensuremath {\ rangle}}
19 \renewcommand {\ compoundstyle }{\emph}
20 \compound {label1} und \compound{label1,label2,label3}
1 und 1, 2, 5b1 und 1;2;5b(1) und (1;2;5b)((1)) und ((1);(2);(5b))[〈1 〉] und [〈1 〉;〈2 〉;〈5b〉]
- Seite 13 -
LATEX und Chemie 6 chemstyle
Abschnitt 6chemstyle
Mit chemstyle muss man ein bißchen vorsichtig sein, da es eine ganze Reihe Paketeautomatisch lädt, wie zum Beispiel varioref, siunitx bzw. SIunits und xspace. Das Paketstellt einige Makros zur Verfügung, deren Stil individuell angepasst werden kann.
Beispiel 181 \etc \eg \ie \etal \invacuo \\
2 \cstsetup {abbremph =false ,
abbrcomma =true }
3 \etc \eg \ie \etal \invacuo
4 \medskip\par
5 \nPr \iPr \nBu \iBu \sBu \tBu \\
6 \cstsetup {radhyphen =false ,
radsuper =true }
7 \nPr \iPr \nBu \iBu \sBu \tBu
etc. e.g. i.e. et al . in vacuo
etc. e.g., i.e., et al. in vacuo
n-Pr i-Pr n-Bu i-Bu s-Bu t -BunPr iPr nBu iBu sBu tBu
Vor allem stellt chemstyle für diese Makros und der von chemscheme11 bereitgestelltenSchema-Umgebung passende Stile für eine Reihe von Journals zur Verfügung, die perPaketoption aktiviert werden können (siehe Tabelle 1).
Option Journals
angew Angew. Chem., Chem. Eur. J.jomc J. Organomet. Chem., Coord. Chem. Rev.ic Inorg. Chem.jacs J. Am. Chem. Soc.jcp J. Phys. Chem. A, J. Phys. Chem. Borglett Org. Lett.rsc Chem. Commun., Org. Biomol. Chem.
Dalton Trans.tetlett Tetrahedron, Tetrahedron Lett.
Tabelle 1: Von chemstyle bereitgestellte Stile
11vom gleichen Autor, wird durch chemstyle automatisch geladen
- Seite 14 -
LATEX und Chemie 7 streeTEX
Abschnitt 7streeTEX
7.1 Grundlagen
Das Paket wird mit \usepackage{stree} eingebunden. Die gesamte Eingabe in streeTEXwird in den Befehl \stree geschrieben. Zur Beschreibung der Struktur muss man dieBindungen von Atom zu Atom entlang gehen und dabei sowohl die Bindungen als auch dieBeschriftung einfügen. Zum Beispiel gibt man die Formel von 1-Hydroxy-4-methylpyridinfolgendermaßen ein:
Beispiel 19
1 \begin{center}
2 \stree{{HO} 2 0 >2 4 [2{ CH
$_3$}] >6 8N >10}
3 \end{center} HO""
""""
bb""CH3
""N
bb
Wir starten den Durchgang an der Atomgruppe OH und müssen ihr Label zuersteingeben: {HO}. Ein Label wird in geschweifte Klammern geschrieben, wenn es mehr alsein Zeichen enthält. Das nächste Zeichen 2 bedeutet: zeichne eine Bindung in Richtung2 Uhr auf einem Ziffernblatt. Ein Durchgang hat immer einen aktuellen Punkt (vertex).Die 0 bezieht sich auf die nächste Bindung Richtung 0 Uhr (oder aufwärts). Dann kommteine Doppelbindung nach 2 Uhr. Daher wird das Zeichen > (ein sogenanntes Präfix ) direktvor die Richtungsangabe gesetzt.
Die nächste Einfachbindung nach 4 Uhr führt zu einer substituierten Stelle am Ring.Der Substituent wird durch [2{CH$_3$}] beschrieben. Die eckigen Klammern umschlie-ßen eine Seitenkette bzw. markieren die aktuelle Stelle am Ring, so dass die Konstruktiondanach an dieser Stelle weitergeht. Innerhalb der eckigen Klammern führt eine Bindungnach 2 Uhr zur Methyl-Gruppe CH3 mit dem Label {CH$_3$}. Eine Methylgruppe istein geläufiger Substituent, weswegen sie auch anstatt durch {CH$_3$} mit \Me gesetztwerden kann. 2\Me ist also gleichwertig mit [2{CH$_3$}].
Danach geht es weiter am Ring. Es fehlen noch drei Bindungen: nach 6, 8, und 10 Uhr.Die 6 und 10 Uhr Bindungen sind Doppelbindungen, bekommen also das Präfix >. Die8 Uhr Bindung führt zu einem Stickstoff-Atom mit Label „N“, also wird N direkt nach8 gesetzt, ohne Leerzeichen. Wir benötigen hier keine geschweiften Klammern, da diesesLabel nur aus einem Zeichen besteht.
7.2 Präfixe
Bislang haben wir das Präfix > verwendet, um Doppelbindungen zu spezifizieren. UmBindungen zu modifizieren, gibt es aber noch weitere Präfixe, die in Tabelle 2 aufgelistetsind, aufgeteilt nach den verschiedenen Arten von Auswirkungen, die sie haben. Präfixeverschiedener Kategorien können kombiniert werden. Zum Beispiel ergibt \stree{_/:=4}
- Seite 15 -
LATEX und Chemie 7 streeTEX
Präfix Ergebnis Ansicht Kategorie
/ schräg ��
// sehr schräg (( Richtungs-, 45◦ �� Präfixe+ - Bindung in beliebige Richtung
= Doppelb., zentriert> Doppelb., rechts< Doppelb., links Bindungs-== Dreifachb. arten"> rechts delokalisiert"< links delokalisiert
_ lang (5/3 der normalen Länge) Bindungs-’ kurz (1/3 der normalen Länge) länge
~ unsichtbar~~ unsichtbare Label: gepunkted visuelle* fett Effekte^ Pfeil -
^* keilförmig
. kurz unsichtbar C* Markierungen
Tabelle 2: Präfixe in streeTEX um Bindungen zu modifizieren.
eine lange schräge gepunktete Doppelbindung in Richtung 4 Uhr: Sehen wir unsnun nützlichere – vielmehr: gebräuchlichere – Einsätze der Präfixe an.
Das Präfix . (Punkt) gibt es speziell, um Nummern oder ähnliche Symbole an Atome
zu setzen. Um z.B. Butan mit nummerierten Kohlenstoffen zu erhalten 1""2bb3""
4, muss
man \stree{.01 2 .02 4 .03 2 .04} eingeben. Eine Konstruktion wie .0x bedeutetalso: nimm eine kurze unsichtbare Bindung auf 0 Uhr und setze das Label „x“. Bei dieserKonstruktion darf auf das Label nicht verzichtet werden. Jedes Zeichen an dieser Stellewird auf jeden Fall als Label interpretiert.
Mit Präfixen kann auch eine räumliche Darstellung erzeugt werden. Dabei hängt dieRichtung der Keilformel, die durch ^* erzeugt wird, von der Dicke der vorherigen Bindungab.
Beispiel 20
1 \stree {/:2:3/:4/^*8**9/*^10}
Die Dicke der unteren Bindung **9 ist mit zwei Asterisken zweifach verdoppelt worden.Eine einzelne sich verengende Bindung kann mit \stree{**17 *ˆ3} erzeugt werden.Dabei bedeutet 17 eine nichtexistente Richtung, sozusagen eine Bindung der Länge null.Mit dem Präfix ’ (Apostroph) kann man kurze Bindungen erzeugen.
- Seite 16 -
LATEX und Chemie 7 streeTEX
Beispiel 21
1 \stree{’8’0 4’6 2N ’0’4} bb""N
Eine kurze Bindung ändert die aktuelle Position nicht. Durch unsichtbare Bindungenmit dem Präfix ~ (Tilde) können u.a. Formeln ausgerichtet werden. Siehe hier . . .
Beispiel 221 \[
2 \stree{{H$_2$ C} =3{ CH $_2$} ~6{
CH $_2$} =9{H$_2$ C}}
3 \quad \longrightarrow \quad \
stree {3690}
4 \]
H2C CH2
CH2H2C−→
. . . oder im nächsten Beispiel: Ausrichten mehrerer Isomere.
Beispiel 231 \[
2 \stree{O =2 [~0] 4 [~6] 2 4{Cl
}}\quad
3 \stree{4 [=6O] 2 [~~0 O] 4{Cl }}\
quad
4 \stree{4 [~~~=6O] 2 [=0O] 4{Cl
}}
5 \]
O""""bb""bb
Clbb
O
""bbCl
bb""
O
bbCl
Folgen nach der Tilde mehrere Zeichen, müssen mehrere Tilden gesetzt werden, damitdie ganze Gruppe unsichtbar ist ([~~0O] und [~~~=6O]). Diese Ausrichtung funktioniert,da die Formeln an ihren geometrischen Zentren ausgerichtet werden. Die unsichtbaren„Dummys“ sorgen für eine gleiche Höhe der Formeln.
7.3 Richtungen
Zusätzlich zu den bereits angesprochenen zwölf Richtungen, die den Uhrzeiten auf einemZiffernblatt entsprechen, kann man in streeTEX noch etwa zweimal soviele durch diePräfixe / und , erhalten. Ein Komma vor den Nummern 2, 5, 8 oder 11 liefert vierRichtungen in 45°-Neigung.
- Seite 17 -
LATEX und Chemie 7 streeTEX
Beispiel 24
1 \stree{0 ,2 3 ,5 6 ,8 9 ,11}
�� @@
��@@
0 1
""2
3bb4
567
""8
9 bb10
11
��
,2
@@,5
��,8
@@
,11/1
�� /2
PP/4
/5/7
��/8
PP/10
/11 //1
(( //2hh
//4
//5//7
((//8
hh//10
//11
Uhrzeiten 45◦ schräg sehr schräg
Abbildung 1: Bindungsrichtungen (gepunktete Linien zeigen in Uhrzeiten zum Vergleichzu den schrägen Richtungen).
Der Schrägstrich kann allen nicht-orthogonalen Richtungen vorangestellt werden undneigt sie um etwa 10°. Diese von mir schräg genannten Richtungen passen gut zu Cyclo-pentanen.
Beispiel 25
1 \stree{/11 2 4 /7 9} \qquad \
stree{0 /2 5 7 /10}
""bb ��
PP
Ein unregelmäßiger 5-Ring mag auch erwünscht sein. Hier gibt es keine schrägenRichtungen, aber eine Bindung ist 2/3 so lang wie die anderen. Die zusätzliche Län-ge erhält man durch das Präfix _ (Unterstrich), die gesamte Formel wird gesetzt durch{\bondlen3.5mm\stree{0 _3 6 8 10}} (der Zusatz \bondlen3.5mm verkleinert die ge-samte Figur, die geschweiften Klammern beschränken die Verkleinerung auf diese Figur.).
Cycloheptane benötigen noch weitere Richtungen, die in Abb. 1 sehr schräg benanntsind.
Beispiel 26
1 \stree{1 //2 4 6 8 //10 11} \
qquad \stree{5 3 1 //11 10 8
//7}
((bb
""hh
bb""
Damit haben wir schon insgesamt 32 verschiedene Richtungen. Dennoch mag der Fallvorkommen, dass sie nicht ausreichen. Dafür gibt es die offset-Richtungen, die mit denPräfixen + bzw. - erhalten werden können, in Kombination mit natürlichen Zahlen, die
- Seite 18 -
LATEX und Chemie 7 streeTEX
je Einheiten von 1/6 der normalen Bindungslänge angeben. Ein Beispiel soll das verdeut-lichen.
Beispiel 27
1 \stree{
2 2 0 2 /4 -5-6 //8 -2+2 0 2
[+1+5 [=0 10 4 2] +1-7] /4 2 8
+2-2
3 }
""
""PP%
%((
""
bbbb""
PP""""
Gehen wir das letzte Beispiel einmal durch. Wir beginnen mit der Methyl-Gruppelinks 2 und gehen dann in den 5-Ring 0 2 /4 -5-6 //8. Die Bindung -5-6 passt zukeiner der vorgefertigten Richtungen, und wird daher konstruiert: 5/6 einer Länge nachlinks und 6/6 einer Bindungslänge nach unten.
Danach folgt der zweite Ring -2+2 0 2 [...] /4 2 8 +2-2. In den eckigen Klam-mern wird der Brückenkopf gesetzt. 2 8 erzeugt die Methyl-Gruppe rechts, dabei geht 8
die eben durch 2 erzeugte Bindung zurück. [2] hätte genauso funktioniert. Die Brückewird ebenfalls mit offset-Bindungen beschrieben +1+5[...]+1-7. Bei offset-Bindungenbedeutet die erste Zahl immer die horizontale änderung nach rechts (+) oder links (-),die zweite die vertikale nach oben (+) oder unten (-).
Die obere Seitenkette schließlich wird durch =0 10 4 2 gezeichnet, wobei 10 4 dieMethyl-Gruppe oben links zeichnet. Die gesamte Struktur hätte auch (fast) ohne Leer-zeichen beschrieben werden können:
1 \stree{202/4 -5 -6//8 -2+2 02[+1+5[=01042]+1 -7]/428+2 -2}
Nur das Leerzeichen zwischen -2+2 und 02[ ist notwendig, da sonst die offset Bindung-2+202 (zwei nach links und 202 nach oben) entstanden wäre.
7.4 Label
Wenn eine Bindung an einem Atom oder einer Atomgruppe enden soll, muss das La-bel unmittelbar nach der Bindungsrichtung geschrieben werden, ohne Leerzeichen dazwi-schen. Wenn ein Label aus mehreren Zeichen besteht, eine Zahl ist oder ein Zeichen einfür Präfixe reserviertes ist, muss das Label in geschweifte Klammern geschrieben werden.Wenn ein Label nur ein einziger Buchstabe ist (wie C, N, O, H . . . ), dann werden dieKlammern nicht benötigt, verursachen aber auch keinen Fehler.
Bei einem Label müssen alle angrenzenden Bindungen kürzer sein um eine Überlage-rung zu vermeiden. Die Hauptaufgabe von streeTEX liegt in der richtigen Berechnungvon Label-Größen, um die Koordinaten für die Bindungen anzupassen. Da TEX keine ar-rays12 kennt, wird nur das aktuelle Label resp. seine Koordinaten gespeichert. Bei einem
12Als einen array bezeichnet man in der Informatik eine Variable, die ähnlich einem Vektor mehrere
Daten enthält.
- Seite 19 -
LATEX und Chemie 7 streeTEX
kompletten Durchgang einer Struktur kann es vorkommen, dass manche Stellen zweimalpassiert werden. Jedes mal muss dann ein eventuelles Label neu spezifiziert werden. Z.B.,wenn die Formel
HO N
von OH nach N und entlang dem Ring zurück zum N durchschritten wird, sollte dasStickstoff-Label zweimal gesetzt werden: \stree{{HO}3N 1 3 5 7 9 11N}. Die Abwe-senheit des letzten N hätte eine Überlagerung des ersten N durch die letzte 11-Uhr-Bindung zur Folge (da die Anwesenheit des Labels hier schon vergessen ist). Allerdingserlaubt die Verwendung eckiger Klammern, die Mehrfachnennung zu umgehen. In unse-rem Beispiel etwa durch die folgende Konstruktion: \stree{{HO}3N [5] 1 3 5 7 9}.
Lange Label sind eventuell schwieriger auszurichten. Offensichtlich erlaubt ein Labelmit mehreren Zeichen verschiedene Stellungen relativ zum Bindungsende. Die Default-Regel besagt: wenn eine Bindung nach links geht (d.h. einen negativen horizontalen offsethat), dann entspricht das Bindungsende dem Zentrum des Zeichens rechts und umgekehrt.Daher muss man „inneren“ Labeln eventuell besondere Beachtung schenken.
Zum Beispiel führt der gewohnte Durchgang von Pyrrol dazu, dass das Label NHam H anstelle des N ausgerichtet wird. Durch das Präfix ‘ (back apostrophe) kann dieDefault-Ausrichtung geändert werden.
Beispiel 28
1 \stree{~ ’8/ >13/ >58 ‘{NH }10}
NHbb
Da ‘ das Verhalten eines Labels beeinflusst (im Gegensatz zu den anderen, die Bin-dungen anpassen), ist dieses Präfix das einzige, das vor einem Label stehen darf (obwohl‘8{NH} auch funktioniert, aber weniger logisch ist als 8‘{NH}).
Kehren wir zurück zum Pyrrol. man kann das zentrierte Label (rechts) passender fin-den. Hier wird das gesamte Label zentriert, was durch Verdopplung des Präfixes erreichtwird.
Beispiel 29
1 \stree{/>13/>58‘‘{NH }10}
NH
Allerdings bekommt man schönere Ergebnisse durch Verwendung von TEX-Boxen u.ä.Beide Pyrrol-Formeln sind nicht perfekt und man mag das NH vielleicht durch die
folgende Konstruktion senkrecht ausrichten.
- Seite 20 -
LATEX und Chemie 7 streeTEX
Beispiel 301 \stree{/>1 3/>5 8‘‘{\vtop {\
baselineskip =0pt \hbox {N}\hbox{H
}}}10} ""NH
bb
Sehen wir uns das genauer an. Zwei “ vor dem Label schützen vor einer automatischenAusrichtung. Der TEX-Befehl \vtop erstellt eine vertikale Box, ausgerichtet durch dieoberste Box im Inhalt. In unserem Fall stimmen die Basislinien von \hbox{N} und dergesamten \vtop überein. Anders ausgedrückt, Die Höhe von \vtop ist gleich der Höhevon \hbox{N}. Da streeTEX eine Box ignoriert, wenn es ein Label setzt, stimmt dasBindungsende mit dem Zentrum das N überein. Ohne \baselineskip=0pt wären N undH so weit voneinander entfernt wie zwei Linien eines Absatzes.
Fast dasselbe Resultat erhält man übrigens durch eine kurze unsichtbare Bindung nachunten:
Beispiel 31
1 \stree{/>1 3/>5 8N [~-0-3 H] 10} ""NH
bb
7.5 Befehle
Es gibt Befehle, die Label ersetzen können. Sie werden – wie in LATEX üblich – durch\ eingeleitet. Die Befehle können innerhalb der Struktur \stree verwendet werden, umdie Eingabe einiger Fragmente zu erleichtern (siehe Tabelle 3). Alle verfügbaren Befehleändern die aktuelle Position innerhalb der Struktur nicht. Das ist so, damit man die„einwertigen“ Stücke (Spalten 2 und 3) einfügen kann. Die cyclischen Fragmente erlau-ben einen flexibleren Einsatz. Endständige Cyclen benötigen eine zusätzliche Bindungin dieselbe Richtung vor dem Befehl (z.B. wird Biphenyl mit \stree{9\ph 3 3\ph} er-zeugt). Das mag unkomfortabel erscheinen, ermöglicht aber eine einfache Eingabe vonPolycyclen und einfacher Heterocyclen:
""bb
""bb
bb
""bb
""
\stree{
10\6 2\6}NH3C
\stree{
N3\6 9\Me}
Ein Fragment wird in die Richtung, die dem Befehl vorangeht, gezeichnet (alle Abbil-dungen in Tabelle 3 entsprechen der 3-Uhr-Richtung).
7.6 Ausrichtung
Die chemischen Strukturen lassen sich mit \stree einfach in einer Mathematikumge-bung mit mathematischen Formeln ausrichten. Man beachte dabei, dass man, obwohl
- Seite 21 -
LATEX und Chemie 8 ChemFig
\ph \tbu "" \O
\COO
\pho ����
\tbx \OH OH
\six
\6\ip \COOH C
OH
O
\Me CH3
Tabelle 3: Verfügbare Befehle
die gesamte Gleichung in einer Mathematik-Umgebung steht, innerhalb einer \stree-Umgebung die Indices zwischen Dollar-Zeichen stellen muss.
Beispiel 321 \[
2 \stree{9\6 3\OH }+\ stree{9\OH 1\O 5\ Me} \xrightarrow {[\ text {H}^\ oplus]}
\stree{9\6 3 O 3 1\O 5\Me} + \stree{{H$_2$ O}}
3 \]
OH + HO
O
CH3
[H⊕]−−−→ O
O
CH3
+ H2O
Abschnitt 8ChemFig
ChemFig geht einen anderen Ansatz als streeTEX. In ChemFig werden alle chemischenFormeln in eine tikzpicture-Umgebung gesetzt. Das bedeutet, dass für ChemFig TikZinstalliert sein muss. TikZ ist eine high-level -Makrosammlung für die low-level-Sprachepgf. Was das genau bedeutet ist relativ irrelevant. Hier sei darauf hingewiesen, dass manmit TikZ ein machtvolles Paket zur Erstellung von Grafiken zur Verfügung hat, das vonChemFig ausgenützt wird.
- Seite 22 -
LATEX und Chemie 8 ChemFig
8.1 Grundlagen
Nachdem Sie das Paket mit \usepackage{chemfig} eingebunden haben, steht Ihnen derBefehl \chemfig{<code>} zur Verfügung. In diesen Befehl werden alle Formeln gesetzt.Dazu gehen Sie nach folgendem Prinzip vor:
1 \chemfig{<atom 1><Bindungstyp >[<Winkel >,<Länge >,<n1>,n2>,<tikz >]<atom
2>}
Anders als streeTEX werden bei ChemFig die Bindungsrichtungen im mathematischenSinn angegeben. ChemFig stellt acht Grundrichtungen zur Verfügung, die mit den Zah-len von 0 bis 7 angegeben werden. Die jeweilige Zahl entspricht einem Faktor, mit dem 45°multipliziert werden. Die Zahl 2 entspricht also einem Winkel von 2 · 45◦ = 90◦. DieserWinkel ist immer relativ zur Horizontalen im Gegenuhrzeigersinn zu deuten. Default-Richtung ist 0.
Eine Einfachbindung wird durch einen Bindestrich -, eine Doppelbindung durch einIstgleich = repräsentiert. Im ersten optionalen Argument der Bindung <Winkel> gebenSie den Winkel an, den die Bindung haben soll. Lassen Sie das weg, hat die Bindung denDefault-Winkel 0◦. Verzweigungen werden in runde Klammern () geschrieben, Atomeeinfach an die entsprechende Stelle des Moleküls.
Beispiel 33
1 \chemfig {( -[1]1) ( -[2]2) ( -[3]3)
( -[4]4) ( -[5]5) ( -[6]6) ( -[7]7) -0}
12
3
4
56
7
0
Damit lassen sich erste einfache Strukturformeln realisieren.
Beispiel 34
1 \chemfig{H-C(-[2]H)(-[6]H)-C
(-[2]H)(-[6]H)-H} H C
H
H
C
H
H
H
Chemiker wollen vermutlich allerdings lieber Skelettformeln realisieren. Dafür könnenwir entweder die vordefinierten Richtungen verwenden, oder – um schönere Ergebnisse zuerhalten – die Winkel absolut angeben. Dazu wird der entsprechenden Gradzahl einfachein Doppelpunkt : vorangestellt.
- Seite 23 -
LATEX und Chemie 8 ChemFig
Beispiel 351 \chemfig { -[1] -[7] -[1] -[7]} oder sch \" oner \chemfig
{ -[:30] -[: -30] -[:30] -[: -30]}
oder schöner
8.2 Bindungen
Neun verschiedene Bindungstypen sind definiert, die in Tabelle 4 aufgeführt sind.
Code Ergebnis Typ\chemfig{A-B} A B Einfach\chemfig{A=B} A B Doppel\chemfig{A~B} A B Dreifach\chemfig{A>B} A B rechter Keil\chemfig{A<B} A B linker Keil\chemfig{A>:B} A B rechter Keil, gestrichelt\chemfig{A<:B} A B linker Keil, gestrichelt\chemfig{A>|B} A B rechter Keil, hohl\chemfig{A<|B} A B linker Keil, hohl
Tabelle 4: Bindungstypen bei ChemFig
Ihnen ist vermutlich aufgefallen, dass die Formeln recht groß und die Keilbindungendoch sehr ausgeprägt sind. Man kann das aber sehr einfach den eigenen Vorstellungenanpassen. Dafür gibt es folgende zwei Befehle:
1 \setatomsep {<länge >}
2 \setcrambond {<basis >}{< dicke >}{< abstand >}
Lassen Sie alle Argumente leer, dann erhalten sie die Default-Einstellungen, die folgendementsprechen:
1 \setatomsep {3em}
2 \setcrambond {1.5 ex }{1 pt }{2pt}
Das Argument von \setatomsep setzt die Bindungslänge oder genauer den Abstandzwischen den Mitten zweier Atome fest. Bindungen zwischen verschiedenen Atomen sindnämlich nicht immer gleich.
Beispiel 361 \chemfig{I-I}\\
2 \chemfig{M-M}I I
M M
- Seite 24 -
LATEX und Chemie 8 ChemFig
Mit \setcrambond werden die Keilbindungen angepasst. Das erste Argument <basis>bestimmt die Basis des Dreiecks, das zweite <dicke> die Dicke der gestrichelten Linienund das dritte <abstand> den Abstand der gestrichelten Linien.
Beispiel 371 \chemfig{A<B} \chemfig{A<:B}\\
2 {\ setcrambond {5pt }{0.4pt }{1pt}\
chemfig{A<B} \chemfig{A<:B}}
A B A B
A B A B
Mir persönlich gefallen bei Skelettformeln diese Einstellungen besser:
1 \setatomsep {1.8 em}
2 \setcrambond {3pt }{0.5pt }{1pt}
Beispiel 381 \chemfig{A-B} \chemfig{A<B} \chemfig{A<:B}\\
2 {\ setatomsep {3em}\ setcrambond {1.5 ex }{1 pt }{2pt}\ chemfig{A-B} \chemfig{A<
B} \chemfig{A<:B}}\\
3 {\ setatomsep {2.5 em }\setcrambond {3pt }{}{}\ chemfig{A-B} \chemfig{A<B} \
chemfig{A<:B}}\\
4 {\ setatomsep {1.8 em }\setcrambond {3pt }{.5 pt }{1pt}\ chemfig{A-B} \chemfig{A
<B} \chemfig{A<:B}}\\
5 {\ setatomsep {2.5 em }\setcrambond {3pt }{}{}\ chemfig { -[:30] -[: -30]( <[: -90])
-[:30] -[: -30]}}\\
6 {\ setatomsep {1.8 em }\setcrambond {3pt }{.5 pt }{1pt}\ chemfig
{ -[:30] -[: -30]( <[: -90]) -[:30] -[: -30]}}
A B A B A B
A B A B A B
A B A B A B
A B A B A B
Sie können die Bindungslänge aber auch für jede Bindung einzeln angeben, indem Sie alszweiten Parameter <Länge> der Bindung einen Faktor angeben, mit dem die Bindungs-länge multipliziert wird. Das kann dann zum Beispiel so aussehen:
- Seite 25 -
LATEX und Chemie 8 ChemFig
Beispiel 39
1 \chemfig{A-[,2]B} \\
2 \chemfig{A-B-[,2]C=[ ,0.5] D} \\
3 \chemfig
{ -=[ ,1.5] -[ ,0.75]=[: -20 ,2]}
A B
A B C D
Zu guter Letzt noch zwei Dinge: die Doppelbindungen können nicht nur zentriert,sondern auch ober- (=^) und unterhalb (=_) der Bindungsebene liegen.
Beispiel 401 \chemfig { -[: -30]=[:30] -[2]=[:150] -[: -150]=[6]} \quad
2 \chemfig { -[: -30]=^[:30] -[2]=^[:150] -[: -150]=^[6]} \quad
3 \chemfig { -[: -30]=_[:30] -[2]=_[:150] -[: -150]=_[6]}
Zum anderen ein Beispiel, wie Sie das Bindungsargument <tikz> verwenden können,um Bindungen zu färben.
Beispiel 411 {\ setatomsep {2em}
2 \chemfig {[:30]--[::-60]--[::-60]-(-[2,,,, red]-[::60,,,, red](-[2,,,, red
]) -[::60,,,, red]-[::-60,,,, red]) -[::-60,,,,]-(-[2,,,,green](-[::60,,,,
green]) -[:30,,,, green]-[:-30,,,,green]-[:30,,,, green])
-[:: -60] - -[:: -60] - -[:: -60]}\\
3 6-({\ color{green}1- Methylbutyl }) -8-({\ color{red}2- methylbutyl })-
tridecan
4 }
6-(1-Methylbutyl)-8-(2-methylbutyl)-tridecan
Zu den Winkel-Argumenten in Beispiel 41 lesen Sie Abschnitt 8.3.
8.3 Winkel
Die acht vordefinierten Winkel wurden schon in Beispiel 33 vorgestellt.
- Seite 26 -
LATEX und Chemie 8 ChemFig
Beispiel 42
1 \chemfig{A-B-[1]C-[3]-D -[7]E-[6]
F} \qquad
2 \chemfig { - -[1] -[3] - -[7] -[6]}A B
C
D
E
F
Die Winkel können, wie ebenfalls schon erwähnt, auch absolut angegeben werden,indem man der Zahl einen Doppelpunkt voranstellt.
Beispiel 43
1 \chemfig{A -[:30]B=[: -75]C -[:10]D
-[:90] >[:60] -[: -20]E -[:0]~[: -75]
F}A
B
CD
E
F
Winkel können aber auch relativ zum vorherigen Winkel angegeben werden. Dazumuss man zwei Doppelpunkte vor die Zahl setzen.
Beispiel 44
1 \chemfig{A -[: -5] -[::+20] -[::20]B
-[::+20] -[::20]C -[::20]}
A
B
C
Gibt man vor der ersten Bindung einen Winkel an, wird der Default-Winkel von NullGrad auf diesen Winkel geändert.
Beispiel 45
1 \chemfig{A-B-C-D} \quad \chemfig
{[: -45]A-B-C-D}
A B C D A
B
C
D
- Seite 27 -
LATEX und Chemie 8 ChemFig
Die relativen Winkel und die Default-Richtung kann man bequem ausnützen:
Beispiel 46
1 Ein Molek\"ul nur mit relativen
Bindungen :\\
2 \chemfig{R-C(=[::60] O) -[::-60]O
-[:: -60] C(=[::60] O) -[::-60]R}\\
3 Das gleiche Molek\" ul rotiert
durch \" Andern der Default -
Richtung :\\
4 \chemfig {[:75]R-C(=[::60] O)
-[::-60]O -[:: -60] C(=[::60] O)
-[::-60]R}
Ein Molekül nur mit relativen Bindungen:
R C
O
O
C
O
R
Das gleiche Molekül rotiert durch Ändern derDefault-Richtung:
R
C
O
O
CO
R
8.4 Atome und Atomgruppen
Bei der Atom-Deklaration können Sie die beiden Operatoren zum Hoch- (^) und Tief-stellen (_) verwenden.
Beispiel 471 \chemfig{CH_3-CH _3} \quad \
chemfig{CH_3-CH _2^\ oplus} CH3 CH3 CH3 CH⊕
2
Wenn Sie längere Atomgruppen haben, wollen Sie unter Umständen die Bindung nichtam letzten Buchstaben beginnen und am ersten enden lassen, sondern am zweiten, drit-ten usw. Dafür gibt es die optionalen Argumente <n1> und <n2> der Bindungen. <n1>bestimmt, an wievielten Buchstaben die Bindung beginnt, <n2> am wievielten sie endet.Zunächst einmal hängt das Anfangs- und Endatom vom Winkel der Bindung ab:
Beispiel 481 \chemfig{ABCD -[:80] EFGH } \quad \chemfig{ABCD -[1] EFGH } \quad \chemfig{
ABCD -[: -80] EFGH } \\
2 \chemfig{ABCD -[:110] EFGH } \quad \chemfig{ABCD -[5] EFGH} \quad \chemfig{
ABCD -[: -110] EFGH }
- Seite 28 -
LATEX und Chemie 8 ChemFig
ABCD
EFGH
ABCD
EFGH
ABCD
EFGH
ABCD
HGFE
ABCD
HGFE
ABCD
EFGH
Durch Angabe der <n1> und/oder <n2> können Sie selbst bestimmen, wo die Bindungbeginnt und endet:
Beispiel 491 \chemfig{ABCD -[:80 , ,2 ,3]EFGH } \
quad \ chemfig{ABCD -[:80 , ,2] EFGH }
\quad \chemfig{ABCD -[:80,,,3]
EFGH } ABCD
GHFE
ABCD
EFGH
ABCD
GHFE
So haben Sie also eine bequeme Möglichkeit, etwa folgendes Molekül zu setzen:
Beispiel 50
1 Falsch: \chemfig{COOH -[:80] COOH }
Richtig : \chemfig{COOH -[:80 , ,1]
COOH } Falsch: COOH
COOH
Richtig: COOH
COOH
8.5 Verzweigungen
In Abschnitt 8.1 wurde schon angedeutet, dass Verzweigungen in runde Klammern ge-schrieben werden. Vielleicht haben Sie auch schon bemerkt, dass man im Prinzip so vieleVerzweigungen anlegen kann, wie man möchte. Sehen wir uns ein paar Beispiele aus demChemFig-Manual an.
Beispiel 511 \chemfig{A-B(-[1]W-X)-C} \\
2 \chemfig{A-B(-[1]W-X)(-[6]Y -[7] Z)-C} \quad
3 \chemfig{A-B([:60] -D-E)([:: -30 ,1.5] -X-Y)-C}
- Seite 29 -
LATEX und Chemie 8 ChemFig
A B
W X
C
A B
W X
Y
Z
C A B
D
E
X
Y
C
Hier können Sie auch noch einmal schön erkennen, was passiert, wenn man mit denRichtungen ein wenig herumspielt.
ChemFig bietet auch die Möglichkeit, entfernte Atome zu verbinden. Dafür gibt esden Anker ?[<name>,<bindung>,<tikz>].
Beispiel 521 \chemfig{A-B(-[1]W-X)(-[7]Y-Z)-C} \quad
2 \chemfig{A-B(-[1]W-X?)(-[7]Y-Z)-C?} \quad
3 \chemfig{A-B(-[1]W-X?)(-[7]Y-Z?)-C?} \par\medskip
4 \chemfig{A?[a]-B(-[1]W?[a]-X?[b]) (-[7]Y-Z?[b])-C?[b]} \quad
5 \chemfig{A?[a]-B(-[1]W?[a,{=}, red]-X?[b])(-[7]Y-Z?[b,{-},{ line width=2
pt }]) -C?[b,{>},blue ]}
A B
W X
Y Z
C A B
W X
Y Z
C A B
W X
Y Z
C
A B
W X
Y Z
C A B
W X
Y Z
C
8.6 Ringe
Ab diesem Abschnitt verwende ich folgende Einstellungen für die Bindungen:
1 \setatomsep {2em}
2 \setcrambond {2pt }{}{}
Natürlich lassen sich auch Ringe realisieren. Man kann sie entweder „zusammenbasteln“,oder eine spezielle Syntax verwenden.
1 \chemfig{<atom >*<n>(<code >)}
- Seite 30 -
LATEX und Chemie 8 ChemFig
Mit <n> wird die Ringröße angegeben, in den runden Klammern folgt dann die Spezifi-zierung des Rings.
Beispiel 531 \chemfig{a*6(-b-c-d-e-f-) }\\
2 \chemfig{a*6(=-=-=-)} \chemfig{a*5(-=---) } \chemfig{a*4(----)} \chemfig
{a*7(-=N-----)} \chemfig{a*8(--------) } \chemfig{a*9(---------)}
a
b
c
d
e
f
a a a aN
a a
Am letzten Beispiel können Sie gut erkennen, dass alle ChemFig-Formeln an derBasislinie ausgerichtet sind. Achten Sie einfach auf das a, dass die Startecke jedes Ringsmarkiert.
Geben Sie in den runden Klammern des Ringbefehls nicht alle zum Ring gehörendenBindungen an, werden auch nicht alle dargestellt.
Beispiel 54
1 \chemfig {[4]*6(-----) } \quad \
chemfig {[4]*6( -= - -)} \quad \
chemfig {[3]*6(= -=)}
Mit der Syntax
1 \chemfig{<atom >**[< winkel 1>,<winkel 2>,<tikz >]<n>(<code >)}
erhalten Sie einen Aromaten. Dabei haben Sie die Möglichkeit, den Kreis, der in denRing gezeichnet wird, zu modifizieren.
Beispiel 551 \chemfig {**6(------) }\quad
2 \chemfig {**[30,330]5(-----) }\
quad
3 \chemfig {**[0 ,270 , dash pattern=
on 2pt off 2pt]4(----)}
- Seite 31 -
LATEX und Chemie 8 ChemFig
Als erste zwei durch Kommata getrennte Argumente geben sie Start- und Endwinkelan, im dritten Argument können Sie mit TikZ-Code die Linie modifizieren.
Wenn Sie vor den Ring einen Winkel angeben, können Sie den Ring auch drehen.
Beispiel 561 \chemfig{a*6(------) }\ qquad
2 \chemfig {[:30]a*6(------) }\ qquad
3 \chemfig {[: -30] a*6(------) }\ qquad
4 \chemfig {[:60]a*6(------)}
a a a a
Um Ringe zu verbinden, geben Sie beim ersten Ring an der Stelle, an der der zweiteRing beginnen soll, wieder einen Ring an. Die darauffolgende Bindung des ersten Ringswird mit dem zweiten „verschmelzen“. Beachten Sie, dass von dem zweiten Ring – imBeispiel ein Cyclopentan-Ring – nur die sichtbaren, also nicht verschmolzenen angegebensind.
Beispiel 571 \chemfig{A*6(-B*5(----)=-=-=) } \quad
2 \chemfig{A*6(-B([:-96]*5(----))=-=-=) } \quad
3 \chemfig{A*6(-B(-*5(-----))=-=-=) } \quad
4 \chemfig {*5(--*6(-*4(-*5(-- ---) --) ----) ---)}
A
B
A
B
A
B
8.7 Lewisformeln
Eine Sache, die alle anderen Chemie-Packages vermissen lassen, wird durch ChemFig
erfüllt: Lewis-Formeln. Dafür stellt ChemFig den Befehl
1 \lewis{<position ><elektronenzustand >,<atom >}
zur Verfügung. <position> kann die Werte 0 − 7 der vordefinierten Winkel annehmenund entspricht diesen auch. So entspricht 2 also 90◦ zur Horizontalen gegen den Uhrzei-gersinn. <elektronenzustand> kann leer (Elektronenpaar als Strich), ein Doppelpunkt :
- Seite 32 -
LATEX und Chemie 8 ChemFig
(Elektronenpaar als Punkte), ein Punkt . (Radikal) oder ein senkrechter Strich | (leeresKästchen) sein.
Beispiel 581 \lewis {0.2.4.6.,C}\ hspace{1cm}
2 \lewis{02.46. ,C}\ hspace{1cm}
3 \lewis{1357 ,Ar}C C Ar
So sind dann auch Moleküle mit den entsprechenden freien Elektronenpaaren möglich:
Beispiel 591 \chemfig{C(-[2]H)(-[4]H)(-[6]H) -\lewis{260,Cl }}\ qquad
2 \chemfig {[:40]H-\ lewis{13,O} -[:: -80]H}\ qquad
3 \chemfig{H-\ lewis{2:6: ,O}-S(=[2]\ lewis{1:3: ,O}) (=[6]\ lewis{5:7: ,O}) -\
lewis{2:6: ,O}-H}
C
H
H
H
Cl H
O
H H O S
O
O
O H
Mit dem Befehl
1 \setlewis {<dim1>}{<dim2>}{<tikz >}
kann man den \lewis-Befehl noch anpassen. <dim1> ist der Abstand zwischen der Boun-ding Box des Atoms und den Elektronen und in der Voreinstellung 1.5pt. Dieser Punktwird in den folgenden Beispielen hoffentlich klarer werden. <dim2> ist die Länge einesElektronenpaars und 1.5ex in der Voreinstellung. <tikz> kann ein TikZ-Code sein.
Beispiel 601 {\ fboxsep0pt
2 % Bounding Box mit \fbox veranschaulichen :
3 \fbox {Ar} \qquad \fbox {\ lewis{0.2.4.6., Ar}} \qquad \fbox {\ lewis
{1.3.5.7., Ar}} \qquad
4 % Abstand aendern:
5 \setlewis {3pt }{}{}
6 \fbox {\ lewis{0.2.4.6., Ar}} \qquad \fbox {\ lewis{1.3.5.7., Ar}} \qquad
7 % Elektronenpaare faerben :
8 \setlewis {}{}{ red}
9 \fbox {\ lewis{0246 , Ar}} \qquad \fbox {\ lewis{1357 ,Ar }}
10 }
Ar Ar Ar Ar Ar Ar Ar
- Seite 33 -
LATEX und Chemie 8 ChemFig
8.7.1 Einsatz mit mhchem
Darstellung von Beispiel 12 mit dem \lewis-Befehl:
Beispiel 611 Kettenstart :
2 \begin{align*}
3 \cee{Cl2 &-> 2 \lewis{0., Cl}} \\
4 \intertext {Kettenfortschritt :}
5 \cee{\ lewis{0., Cl }~ + CH4 &-> HCl + ~\ lewis{4., CH _3}} \\
6 \cee{\ lewis{4., CH _3} + Cl2 &-> CH3Cl + \lewis{0., Cl}} \\
7 \intertext {Kettenabbruch :}
8 \cee{2 \lewis{0., Cl}~ &-> Cl 2}\\
9 \cee{2 ~\ lewis{4., CH_3} &-> CH3-CH 3}\\
10 \cee{\ lewis{0., Cl }~ + ~\ lewis{4., CH_3} &-> CH3Cl}
11 \end{align*}
Kettenstart:
Cl2 −−→ 2Cl
Kettenfortschritt:
Cl + CH4 −−→ HCl + CH3
CH3 + Cl2 −−→ CH3Cl + Cl
Kettenabbruch:
2 Cl −−→ Cl2
2 CH3 −−→ CH3−CH3
Cl + CH3 −−→ CH3Cl
Beachten Sie, dass Sie an manchen Stellen mit ~ einen zusätzlichen Whitespace ein-fügen müssen, damit die Zeichen nich zu nahe aneinander rutschen. Sonst kann es zuunschönen Ergebnissen führen.
Beispiel 621 \ce{\ lewis{0., Cl} + CH4 -> HCl +
\lewis{4., CH _3}}Cl + CH4 −−→ HCl + CH3
8.8 Reaktionen
Um Reaktionen zu realisieren, bietet ChemFig drei Befehle:
1 \chemsign [<dim >]<zeichen >
2 \chemrel[<arg1>][<arg2>]{<pfeil >}
3 \setchemrel {<dim1>}{<dim 2>}{<dim3>}
- Seite 34 -
LATEX und Chemie 8 ChemFig
Mit \chemsign können Sie ein + zwischen zwei Moleküle setzen. Mit dem optionalenArgument <dim> können Sie den Abstand vor und hinter dem Zeichen verändern. DieVoreinstellung ist 0.5em.
Beispiel 631 \chemfig{A-B}\ chemsign +\ chemfig{
C-D}\\
2 \chemfig{A-B}\ chemsign [1em ]+\
chemfig{C-D}
A B + C D
A B + C D
Mit \chemrel können Sie Reaktionspfeile realisieren. Mit den beiden Argumenten<arg1> und <arg2> können Sie den Pfeil ober- und unterhalb beschriften.
Beispiel 641 A\chemrel{->}B\\
2 A\chemrel{<-}B\\
3 A\chemrel{<->}B\\
4 A\chemrel{<>}B\par
5 A\chemrel[oben ][ unten]{->}B\par
6 A\chemrel{->,red ,thick}B
A BA BA BA BA
unten
obenB
A B
Mit \setchemrel können Sie das Erscheinungsbild der Pfeile beeinflussen. <dim1> istder Abstand zwischen Pfeil und dem Text darüber bzw. darunter. Die Voreinstellungist 2pt. <dim2> ist der freie Raum vor und hinter dem Pfeil. Die Voreinstellung beträgt0.7em. <dim3> ist die Länge des Pfeils und in der Voreinstellung 4em.
Beispiel 651 \setchemrel {0pt }{1.2em}{6 em}
2 \chemfig {**6(------) }\ chemsign +\ chemfig{Me -Cl}
3 \chemrel [\ footnotesize AlCl $_3$]{ - >}
4 \chemfig {**6(---(-) ---)}\ chemsign +\ chemfig{H-Cl}
+ Me ClAlCl3
+ H Cl
- Seite 35 -
LATEX und Chemie 8 ChemFig
8.9 Weiteres
Es gibt ein wirklich umfangreiches Manual zu ChemFig. Es liegt zwar nur auf Englischund Französisch vor, ist aber auf jeden Fall einen Blick Wert, wenn man mehr wissenmöchte und vielleicht an den Beispielen den einen oder anderen Trick abgucken möchte.
8.9.1 Elektronenverschiebung
ChemFig stellt seit Version 0.3 einen Befehl für Elektronenverschiebungspfeile zur Ver-fügung.
1 \chemmove [<opt >]{\ draw [<tikz opt >](< name 1>)<tikz link >(< name 2>);}
Letztlich erstellt \chemmove ein TikZ-Bild, das man von Hand eingeben muss. Sehen wiruns ein Beispiel aus dem Manual an.
Beispiel 661 \chemfig{@{a1}=_[@{db
}::30] -[:: -60]\ lewis{2,X}}
2 \chemrel{<->}
3 \chemfig {\ chemabove {\ vphantom{X
}}{\ ominus } -[::30]=_[:: -60]
4 \chemabove {X}{\ scriptstyle \oplus
}}
5 \chemmove {\draw [->](db)..
controls +(80:8 mm) and +(145:8 mm
).. (a1);}
X
⊖X⊕
Im ersten \chemfig-Befehl wurden mit @{<name>} Anker gesetzt, @{a1} und @{db},auf die \chemmove später zurückgreift. Der erste Anker ist als Atom gesetzt, der zweitesteht zu Beginn der optionalen Argumente einer Bindung, wodurch auf die Bindungreferenziert wird. Beachten Sie, dass der Anker kein zusätzliches Argument der Bindungist. Nach @{db} folgt kein Komma.
In \chemmove wird nun mit dem TikZ-Befehl \draw eine gebogene Linie gezeichnet.Durch [->] hat die Linie einen Pfeilkopf. Die Linie zeigt von (db) nach (a1). Um dieRichtung und Krümmung der Linie festzulegen werden nun Stellen vorgegeben, durchdie die Linie hindurchgehen soll. Dabei werden Polarkoordinaten verwendet. Der ersteKontrollpunkt befindet sich im Winkel 80° 8 mm vom ersten Anker entfernt. Der zweiteim Winkel 145°, ebenfalls in 8 mm entfernt.
Es wären noch unzählige andere Varianten denkbar, wie die beiden Anker13 verbundenwerden können. Wenn SIe mit TikZ vertraut sind, haben Sie völlig freie Hand.
Das Paket myChemistry (siehe Abschnitt 8) stellt auf Basis des \chemmove-Befehls denBefehl
1 \elmove[<tikz >]{< name 1>}{< startrichtung >}{< name 2>}{< endrichtung >}
13eigentlich sogenannte „nodes“
- Seite 36 -
LATEX und Chemie 8 ChemFig
bereit. Dabei wurde der Pfeil nach meinem Geschmack schon personalisiert. Damit könnteman Beispiel 66 auch folgendermaßen umsetzen:
Beispiel 671 \chemfig{@{a1}=_[@{db
}::30] -[:: -60]\ lewis{2,X}}
2 \chemrel{<->}
3 \chemfig {\ chemabove {\ vphantom{X
}}{\ ominus } -[::30]=_[:: -60]
4 \chemabove {X}{\ scriptstyle \oplus
}}
5 \elmove{db }{80:8mm }{a1}{145:8 mm}
X
⊖X⊕
Sie können den Pfeil mit TikZ-Code aber gestalten, wie Sie wollen, siehe Abschnitt 9.3.
8.9.2 Submoleküle
Es ist mit ChemFig auch möglich, Strukturteile vorzudefinieren, die dann immer wiedereingesetzt werden können.
1 \definesubmol {<name >}{< code >}
2 \redefinesubmol {<name >}{< code >}
Beispielsweise könnte man eine CH2-Einheit vordefinieren, die dann wiederholt eingesetzt
werden kann. Das spart nicht nur Schreibarbeit sondern erhöht auch die Lesbarkeit derFormeln.
Beispiel 68
1 \definesubmol \xx{C( -[::+90] H)
( -[:: -90]H)}
2 \chemfig {[:15]H-!\xx -!\xx -!\xx
-!\xx -H}\par\medskip
3 \chemfig {[: -20]H-!\xx -!\xx -!\xx -
H}
HC
H
H
C
H
H
C
H
H
C
H
H
H
HC
H
H
C
H
H
C
H
H
H
- Seite 37 -
LATEX und Chemie 9 myChemistry
Abschnitt 9myChemistry
Das Paket myChemistry ist entstanden, da ich von der einfachen Bedienung von ChemFig
und der Tatsache, dass es mit pdflatex einsetzbar ist, begeistert war, mir aber OCHEMsMöglichkeit, Reaktionsschemata darzustellen fehlte. myChemistry soll diese Lücke eini-germaßen füllen.14
Außerdem bindet myChemistry die Pakete ChemFig, mhchem, chemexec und chem-compounds ein, so dass man mit nur einem Paket alle wesentlichen Befehle bereitstehenhat.
9.1 Grundidee
myChemistry stellt zwei Umgebungen zur Verfügung, innerhalb derer die Reaktionsmecha-nismen erstellt werden. Beide Umgebungen sind letztlich eine ‘tikzpicture’-Umgebung.
In dem ‘tikzpicture’, das in den myChemistry-Umgebungen erstellt wird, werden Reak-tanden und Reaktionspfeile auf einer ‘chain’15 angeordnet.
Beispiel 691 \begin{rxn}
2 \reactand { \chemfig
{ -[::30] -[:: -60] OH} }{}
3 \arrow{Ox .}{}
4 \reactand { \chemfig
{ -[::30]=_[:: -60]O} }{}
5 \end{rxn}
OH
Ox.O
Als Grundidee werden Reaktionsschemata in eine der Umgebungen, hier die rxn-Umgebung, geschrieben, innerhalb derer die Formeln in den Befehl
1 \reactand [<ausrichtung >]{< formel(n) >}{< anker >}
geschrieben werden und mit
1 \arrow[<keys >]{< oben >}{< unten >}
Reaktionspfeile erzeugt werden. Durch Angabe von bestimmten Keys kann z. B. Beispiel 69auch vertikal ausgerichtet werden:
14Das Titelbild dieses Dokuments wurde mit myChemistry erstellt.15myChemistry verwendet dafür die tikzlibrary ‘chains’.
- Seite 38 -
LATEX und Chemie 9 myChemistry
Beispiel 70
1 \begin{rxn}
2 \reactand { \chemfig
{ -[::30] -[:: -60] OH} }{}
3 \arrow[direction =below]{Ox .}{}
4 \reactand [below]{ \chemfig
{ -[::30]=_[:: -60]O} }{}
5 \end{rxn}
OH
Ox.
O
Wesentlich ist die Fähigkeit von myChemistry, Verzweigungen zu ermöglichen.
1 \branch[<ausrichtung >]{< formel(n) >}{< anker >}
Mit dem \branch-Befehl wird eine Seitenkette zur Grundkette erzeugt. Damit myChe-
mistry weiß, wo die Seitenkette erstellt werden soll, gibt man vorherigen Reaktanden,Pfeilen oder Branches einen Anker, auf den sich der Branch dann beziehen kann.
Beispiel 711 \begin{rxn}
2 \reactand { \chemfig { -[::30] -[:: -60] OH} }{}
3 \arrow{}{}
4 \reactand { \chemfig { -[::30]=_[:: -60]O} }{ carbonyl }
5 \arrow[direction =below ]{}{}
6 \reactand [below]{ \chemfig { -[::30]( -[::60]OH)=_[:: -60] O} }{}
7 \branch[right=of carbonyl ]{
8 \arrow[type ={ <= >}]{\ce{NH2R}}{}
9 \reactand { \chemfig { -[::30]=_[:: -60]N(-[6]H) -[::60] R} }{}
10 }{}
11 \end{rxn}
OH O
OH
O
NH2RN
H
R
- Seite 39 -
LATEX und Chemie 9 myChemistry
9.2 Mesomerie und Übergangszustände
myChemistry stellt weitere Befehle zur Verfügung, so dass auch Mesomerie und Über-gangszustände erzeugt werden können.
1 \mesomeric [<ausrichtung >]{< formel(n) >}{< anker >}
2 \transition [<ausrichtung >]{< formel >}{< anker >}
3 \marrow
Die ersten beiden Befehle funktionieren analog zu \reactand, setzen aber entsprechendeKlammern um die Formeln, \marrow erzeugt einen Mesomerie-Pfeil.
So lässt sich z. B. die Mesomerie eines Wheland-Komplexes schnell darstellen:
Beispiel 721 \begin{rxn}
2 \dummy
3 \mesomeric {
4 \reactand {
5 \ chemfig {*6(=[@{e1}] -= -( -[:120] X)( -[:60] H) -(-[:-30,.4,,, draw=none
]\ oplus) -[@{e2}]) }
6 \ elmove{e1}{60:4 mm}{e2}{0:4mm}
7 }{}
8 \marrow
9 \reactand {
10 \ chemfig {*6(-(-[:90,.4,,,draw=none ]\ oplus) -[@{e4}]=[@{e
3}] -( -[:120] X)( -[:60] H) -=)}
11 \ elmove{e3}{180:4 mm}{e4}{150:4 mm}
12 }{}
13 \marrow
14 \reactand {
15 \ chemfig{*6(-=-(-[:-150 ,.4,, , draw =none ]\ oplus) -( -[:120]X)( -[:60] H)
-=)}
16 }{}
17 }{}
18 \end{rxn}
X H
⊕
⊕
X H
⊕
X H
Zum Einsatz von \elmove siehe Abschnitt 9.3.Analog kann eine Reaktion mit Übergangszustand verwirklicht werden:
- Seite 40 -
LATEX und Chemie 9 myChemistry
Beispiel 73
1 \begin{rxn}
2 \reactand { \ce{H2 + I2} }{}
3 \arrow[type ={<=>}, length =.5,
direction =below ]{}{}
4 \transition [below]{
5 \reactand { \chemfig[dotted
][]{ H?-I -[2]I-[4] H?} }{}
6 }{}
7 \arrow[type ={<=>}, length =.5,
direction =below ]{}{}
8 \reactand [below]{ \ce{2 HI} }{}
9 \end{rxn}
H2 + I2
H I
IH
‡
2 HI
9.3 Elektronenbewegung
In Beispiel 67 und Beispiel 72 wurde der Befehl \elmove, der lediglich ein Abkürzungs-makro für den ChemFig-Befehl \chemmove ist, bereits eingesetzt.
1 \elmove[<tikz >]{< start >}{< startrichtung >}{< ende >}{< endrichtung >}
Damit wird eigentlich
1 \chemmove {\draw[<tikz >](< start >).. controls +(< startrichtung >) and
+(< endrichtung >)..(< ende >);}
mit [->,red,shorten <=3pt,shorten >=1pt] als Voreinstellung für <tikz> geschrie-ben. Für die Funktion von \chemmove siehe Abschnitt 8.9.1.
9.4 Komplexere Beispiele
Zum Abschluss noch zwei Beispiele für etwas komplexere Reaktionsschemata. In bei-den Beispielen wird die zweite Umgebung von myChemistry verwendet, die nummerierteSchemata in einer Fließ-Umgebung erstellt.
Die Additionsreaktion vom Titelbild:
- Seite 41 -
LATEX und Chemie 9 myChemistry
Beispiel 741 \begin{rxnscheme }{ Additionsreaktion }
2 \reactand { \chemfig {=_[:: -30] -[::60](=[::60] O) -[:: -60]} }{}
3 \arrow{ $+ \Hpl$ }{}
4 \mesomeric {
5 \reactand { \chemfig {=_[: -30] -[::60]( -[::60] OH)(-[::-120,.3,,, draw=
none ]\ oplus) -[:: -60]} }{}
6 \marrow[below]
7 \reactand [below]{ \chemfig{\oplus -[6,.3,,, white
] -[: -30]=_[::60]( -[::60] OH) -[:: -60]} }{}
8 }{ gf}
9 \branch[right=of gf ,yshift =4em]{
10 \arrow{}{}
11 \reactand { \chemname {\ chemfig {=_[: -30] -[::60]( -[::60] OH)( -[:: -120] R)
-[:: -60]}}{1 ,2 - Addukt} }{}
12 }{}
13 \branch[right=of gf ,yshift =-5em]{
14 \arrow{}{}
15 \reactand { \chemname {\ chemfig{R -[6] -[: -30]=_[::60]( -[::60] OH)
-[:: -60]}}{1 ,4 - Addukt} }{}
16 }{}
17 \end{ rxnscheme }
Reaktionsschema 1 Additionsreaktion
O +H⊕
OH
⊕
⊕OH
OH
R
1,2-Addukt
R OH
1,4-Addukt
Als zweites Beispiel ein mehrfach verkettetes Schema, dass den noch nicht vorgestelltenBefehl \merge verwendet.
- Seite 42 -
LATEX und Chemie 10 Tricks mit PS (und ifsym)
Beispiel 751 \begin{rxnscheme }{ Synthese von p- Aminodiazobenzol }
2 \setatomsep {1.5 em}
3 \reactand { \chemname {\ chemfig{**6(---(- NH _2) ---)}}{ Anilin} }{ start_aa}
4 \reactand [below ,yshift=-3em]{ \chemname {\ce{HNO 2}}{ salpetrige S\" aure}
}{ start_ab}
5 \branch[right=of start_aa ,xshift=6em ,yshift =-5em]{
6 \reactand { \chemname {\ chemfig{**6(---(- N|_2\ op) ---)}}{ Diazoniumion }
}{}
7 }{ ziel _a}% = start_ba
8 \branch[below=of ziel _a,yshift =-3em]{
9 \reactand { \chemname {\ chemfig{**6(---(- NH _2) ---)}}{ Anilin} }{}
10 }{ start_bb}
11 \branch[right=of ziel _a,xshift =6em ,yshift =-5em]{
12 \reactand { \chemname {\ chemfig{N(-[:-150]**6(----- -) )=N
-[:-30]**6(---(- NH _2) ---)}}{p-Aminodiazobenzol } }{}
13 }{ ziel _b}
14 \merge[direction =right]{ ziel _a}{ start_aa}{ start_ab}
15 \merge[direction =right]{ ziel _b}{ ziel_a}{ start_bb}
16 \end{ rxnscheme }
Reaktionsschema 2 Synthese von p-Aminodiazobenzol
NH2
Anilin
HNO2
salpetrige Säure
N2⊕
Diazoniumion
NH2
Anilin
N N
NH2
p-Aminodiazobenzol
Abschnitt 10Tricks mit PS (und ifsym)
Wer schöne Grafiken mit LATEX erstellen will, hat die Wahl: PSTricks oder TikZ. Beidehabe ihre Vorteile und ich wähle eigentlich nach gusto, verwende durch ChemFig und
- Seite 43 -
LATEX und Chemie 10 Tricks mit PS (und ifsym)
myChemistry inzwischen allerdings vermehrt TikZ. Ich möchte hier jetzt aber keine Lanzefür die eine oder andere Variante brechen, sondern lediglich ein paar Beispiele zeigen, dieich – ich muss gestehen – auch nur von den offiziellen Beispiel-Webseiten16 habe. Da dashier auch keine Vorstellung der entsprechenden Pakete werden soll, werden lediglich dieBeispiele ohne Code gezeigt sowie die dafür benötigten Pakete genannt.
10.1 Laborgeräte mit pst-labo
Beispiel 761 % in der Pr"aambel:
2 \usepackage {pst -labo }
PH◦C
10.2 Spektrum mit pstricks und pstricks-add
Beispiel 771 % in der Pr"aambel:
2 \usepackage {pstricks ,pstricks -add}
16http://www.tug.org/PSTricks/main.cgi?file=Examples/Chem/chem und
http://www.texample.net/tikz/examples/area/chemistry/
- Seite 44 -
LATEX und Chemie 10 Tricks mit PS (und ifsym)
70
80
90
100
4000 3500 3000 2500 2000 1500 1000 500
10.3 Elektronenkonfiguration mit ifsym
Beispiel 781 % in der Pr"aambel:
2 \usepackage [geometry ]{ ifsym}
Fe: 1s22s22p63s23p64s23d6
6
E
)* 1s
)* 2s)* )* )* 2p
)* 3s)* )* )* 3p
)* 4s)* ) ) ) ) 3d
- Seite 45 -
LATEX und Chemie 11 Nachwort
Abschnitt 11Nachwort
Auch wenn ich bemüht habe, nur korrekte chemische Reaktionen und Strukturformelnzu verwenden, ist es leicht möglich, dass mir Fehler unterlaufen sind. Nehmen Sie dieChemie also nicht für bare Münze.
Es ist durchaus wahrscheinlich, dass sich Schreibfehler und inhaltliche Fehler, sei esdurch Unachtsamkeit, sei es durch Unwissen, in das Dokument geschlichen haben. Dafürmöchte ich mich entschuldigen und freue mich über jeden Hinweis!
Wenn Sie Anmerkungen oder Fragen haben, zögern Sie nicht, mir eine E-Mail zuzu-senden. Ich werde versuchen, jede Frage so gut es geht zu beantworten.
Viel Spaß mit der Chemie und mit LATEX.
- Seite 46 -