LaTeX und Chemie (6) – Spezielle Diagramme: die Pakete modiagram, endiagram und bohr
Dieser Beitrag beschäftigt sich mit drei Paketen, die eher in der Lehre von Interesse sein dürften. Sie sind nicht die einzigen (wie auch die gesamte Artikelserie bei weiten nicht alle Chemie-relevanten Pakete nennt. In meinem englischsprachigen Blog gibt es eine umfassende Liste. Für diesen Beitrag habe ich die Pakete
herausgesucht. Der Grund ist einfach: ich kenne sie einigermaßen gut (ich habe sie geschrieben). Alle drei Pakete werden nur kurz angerissen, um ein bisschen einen Einblick zu geben, was man mit Ihnen machen kann. Da es noch eine ganze Reihe weiterer interessanter Pakete gibt, empfehle ich auf jene Fall, einen Blick auf die oben verlinkte Seite zu werfen.
Dieser Artikel ist der letzte Teil einer Reihe, die außerdem noch folgende Themen behandelt:
- Die Grundlagen mit [cci]chemmacros[/cci]
- 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
Das [cci]modiagram[/cci] Paket
Dieses Paket entstand in einer Mischung von Eigenbedarf und Herausforderung. Es führte zu meiner ersten Antwort auf TeX.sx. Sein Ziel ist es, mit einigermaßen einfacher Syntax Molekül-Orbital-Diagramme zu erstellen. Dem Anspruch kann es nicht völlig gerecht werden: die Syntax ist weniger flexibel als nötig und die Möglichkeiten sind zu eingeschränkt. Ehrlicherweise bräuchte das Paket meiner Meinung nach eine Generalüberholung. Vielleicht kommt das noch eines Tages…
Nun aber endlich ein Beispiel:
[cce lang=”latex”]\documentclass{article}
\usepackage{modiagram,chemformula}
\begin{document}
\begin{MOdiagram}[labels,names,style=square]
\atom[\ch{N}]{left}{
2p = {0;up,up,up}
}
\atom[\ch{O}]{right}{
2p = {2;pair,up,up}
}
\molecule[\ch{NO}]{
2pMO = {1.8,.4;pair,pair,pair,up} ,
color = {2piy* = red}
}
\end{MOdiagram}
\end{document}[/cce]
Dieses Beispiel demonstriert die grundlegenden Funktionen schon ganz gut, und da dieser Artikel keine Lehrstunde sein soll, werde ich nun lediglich noch ein zweites Beispiel zeigen:
[cce lang=”latex”]\documentclass{article}
\usepackage{modiagram,chemformula}
\begin{document}
\begin{MOdiagram}[names]
\atom[\chlewis{0.}{F}\hspace*{5mm}\chlewis{180.}{F}]{left}{
1s = .2;up,
up-el-pos = {1sleft=.5}
}
\atom[\ch{Xe}]{right}{
1s = 1.25;pair
}
\molecule[\ch{XeF2}]{
1sMO = {1/.25;pair}
}
\AO(1cm){s}{0;up}
\AO(3cm){s}{0;pair}
\connect{ AO1 & AO2 }
\node[right,xshift=4mm] at (1sigma) {\footnotesize bindend};
\node[above] at (AO2.90) {\footnotesize nicht bindend};
\node[above] at (1sigma*.90) {\footnotesize anti-bindend};
\end{MOdiagram}
\end{document}[/cce]
Das [cci]endiagram[/cci] Paket
Dieses Paket entstand ebenfalls aus Eigenbedarf. Es soll ermöglichen, mit wenig Aufwand den qualitativen Energieverlauf einer Reaktion anzuzeigen. Ein erstes Beispiel soll das demonstrieren:
[cce lang=”latex”]\documentclass{article}
\usepackage{endiagram}
\begin{document}
\begin{endiagram}
\ENcurve{1,4,0}
\end{endiagram}
\end{document}[/cce]
Das Paket stellt eine ganze Reihe von Einstellungsmöglichkeiten bereit, um dieses Diagramm zu bearbeiten oder komplexere Diagramme zu erstellen. Das Manual zum Paket ist recht umfangreich und kann hier keinesfalls in seiner Gänze wiedergegeben werden. Daher will ich wieder nur ein weiteres, diesmal komplexeres Beispiel zeigen (bedauerlicherweise hat mir das Beispiel einen Bug gezeigt… wird so schnell wie möglich gerichtet):
[cce lang=”latex”]\documentclass{article}
\usepackage{endiagram}
\DeclareSIUnit{\calory}{cal}
\begin{document}
\sisetup{per-mode = fraction}
\ENsetup{
y-label = above ,
energy-step = 100 ,
energy-unit = \kilo\calory\per\mole ,
energy-unit-separator = { in } ,
calculate = false ,
AddAxisLabel/font = \footnotesize
}
\begin{endiagram}[scale=1.5]
\ENcurve{2.232,4.174,.308}
\AddAxisLabel*{0;1;2;3;4}
\ShowEa[label,connect={draw=none}]
\ShowGain[label]
\end{endiagram}
\end{document}[/cce]
Das [cci]bohr[/cci] Paket
Dieses Paket entstand bei der Beantwortung einer Frage auf TeX.sx. Ziel ist es, einfache Atommodelle nach dem bohrschen Atommodell darzustellen:
[cce lang=”latex”]\documentclass{article}
\usepackage{bohr}
\begin{document}
\bohr{3}{Li}
\end{document}[/cce]
Was als einfache TikZ-Bilder begann, hat die Funktionalität des Pakets schnell erweitert. Zum Beispiel kann man das Paket die Atomnamen selbst einfüllen lassen:
[cce lang=”latex”]\documentclass{article}
\usepackage{bohr}
\begin{document}
\setbohr{insert-missing}
\bohr{6}{}
\bohr{}{Ne}
\end{document}[/cce]
Damit das möglich ist, muss das Paket Atomsymbole den Elektronenzahlen zuordnen können. Tatsächlich kann es das und noch ein bisschen mehr:
[cce lang=”latex”]\documentclass{article}
\usepackage[ngerman]{babel}
% \setbohr{language=german}
\usepackage{bohr}
\begin{document}
\elementsymbol{80}\par
\elementsymbol{rhenium}
\medskip
\atomicnumber{Hg}\par
\atomicnumber{Rhenium}
\medskip
\elementname{80}\par
\elementname{Rh}
\medskip
\elconf{Cu}\par
\elconf{Kupfer}\par
\elconf{29}
\end{document}[/cce]