LaTeX: Automatische Molekülnummerierung

Aus Hergipedia
Zur Navigation springen Zur Suche springen

Wozu ist das gut?

LaTeX lässt sich mit einigen zusätzlichen Paketen dazu überreden, Moleküle automatisch durchzunummerieren. Dies spart einem bei umfangreichen Projekten sehr viel Arbeit, weiterhin sind die Nummern in pdf-Docs clickable und führen als Links zum ersten Erscheinen der Verbindung.

Was wird benötigt?

Eine lauffähige LaTeX-Umgebung. Weiterhin müssen die verwendeten Abbildungen im eps-Format vorliegen. Dies kann zum Beispiel ChemDraw direkt exportieren, und hat darüber hinaus den Vorteil, dass es sich um Vektorgrafiken handelt, also keine Skalierungsartefakte auftreten. Weiterhin muss zwingend der Weg LaTeX => DVI => ps => pdf benutzt werden, da Zeichenketten lediglich in Postscript-Dokumenten ersetzt werden können. Siehe dazu auch MikTeX und TeXnicCenter.

Benötigte Pakete

Über \usepackage{} müssen folgende Pakete eingebunden werden:

  • bpchem: Bietet neben einigen anderen sinnvollen Befehlen die Nummerierungsumgebung \CNlabel{}, durch die eine fette Zahl in der gewählten Schrift erzeugt wird. Der Counter beginnt bei 1 und zählt automatisch hoch.
  • graphicx: Wird generell benötigt, wenn Bilder eingefügt werden sollen. Bietet die Umgebung \begin{figure}...\end{figure} sowie den \includegraphics{}-Befehl
  • psfrag: Hier sitzt der Knackpunkt. Dieses Paket stellt den Befehl \psfrag{}{} zur Verfügung. Dieser ermöglicht die Ersetzung beliebiger Zeichenketten (Strings) in Floating-Umgebungen (in diesem Fall \begin{figure}).

Benutzung

Wenn die Pakete eingebunden sind, läßt sich die automatische Molekülnummerierung folgendermaßen benutzen:

  • Mit \CNlabel{Test1} wird eine Molekülnummerierung für den internen Bezeichner Test1 erzeugt. Wenn Test1 der erste CNlabel-Befehl ist also 1.
\section{Einleitung}
Das Valinomycin (\CNlabel{Test1}) ist ein Beispiel für einen natürlich vorkommenden Ionencarrier.
Der Carrier \CNlabel{Test2} ist  weniger geeignet, da \CNlabel{Test1} eine höhere Assoziationskonstante hat.
  • Hier erhält also Valinomycin den internen Bezeichner Test1 und die Nummer 1 da es der erste \CNlabel-Befehl ist. Der fiktive Carrier 2 hat den internen Bezeichner Test2 und erhält die Nummer 2.