%META:TOPICINFO{author=“HerbertVoss” date=“1351584458” format=“1.1” version=“1.4”}% %META:TOPICPARENT{name=“WebHome”}%

Chemischer Struktur- und Formelsatz

Wie kann ich chemische Strukturformeln mit LaTeX setzen?

Die folgenden Pakete sind eine unvollständige Auswahl. Ob sie unter LaTeX2e, LaTeX 2.09 oder Plain-TeX verwendbar sind, muss, falls dies nicht vermerkt ist, selbst getestet werden.

PPCHTeX: Typesetting Chemical Formulas in TeX, von Hans Hagen und A.F. Otten <br/>Auf PiCTeX oder PSTricks basierendes Paket, mittlerweile das flexibelste und umfangreichste Paket. PPCHTeX ist für das TeX-Format Trash.DanteFAQConTeXt entwickelt worden, kann aber auch mit Plain-TeX und LaTeX (2e und 2.09) eingesetzt werden. Eine ältere Version ist in den Proceedings of the 9th European TeX Conference EuroTeX'95, Arnhem, S. 197-222 und TUGboat 17(1), März 1996, S. 54-66 beschrieben. Für PPCHTeX gibt es eine mail-basierte Diskussionsliste.XymTeX: A Macro Package for Typsetting Chemical Structural Formulas, von Shinsaku Fujita <br/> Dieses System ist nach PPCHTeX das umfangreichste. Es verwendet vorgefertigte Molekülklassen, in denen die Atompositionen vom Anwender belegt werden können. Durch die ,Kondensation` solcher Klassen lassen sich so ziemlich alle denkbaren Moleküle zaubern. Ohne Handbuch, das 127 Seiten besitzt, und Zeit aber eher unbrauchbar, weil sehr kompliziert. Eine Beschreibung findet sich auch in der TUGboat 16(1), S. 81-88. Der Autor aktualisiert den Eintrag im CTAN nur unregelmäßig, die aktuellste Version kann aber auf seiner Homepage gefunden werden.Chemstruct: Chemische Strukturformeln mit TeX, von Michael Ramek <br/> Hier gibt man im wesentlichen von einem Bezugsatom ausgehend die Art und die Himmelsrichtung der Bindung an und gelangt so recht schnell zu brauchbaren Ergebnissen. So hangelt man sich von Atom zu Atom… (Handbuch mit 18 Seiten).ChemTeX: Typesetting Chemical Equations using LaTeX <br/> Scheint auch mit Molekülklassen zu arbeiten, wenn auch längst nicht so komplex wie XymTeX, damit anwendungsfreundlicher, aber auch nur für einen begrenzten Satz an Strukturen geeignet… (Handbuch mit 42 Seiten).Chemsym: Chemical Symbols, von Mats Dahlgren <br/> Vereinfacht die Eingabe und den Satz von chemischen Summenformeln und Reaktionsgleichungen, indem Anweisungen für den Satz der Elemente inklusive Hoch- und Tiefstellung und eine große Menge von chemischen Symbolen vordefiniert werden. Für LaTeX2e, mit Dokumentation.streeTeX: One more Macro Package for typesetting Structural Formulae with LaTeX <br/> streeTeX, ein Kunstwort aus ,structure` und ,tree`, verwendet emTeX-Specials zum Zeichnen der Moleküle. Molekülbindungen werden dabei von einem Atom ausgehend in 12 verschiedene Richtungen gezeichnet. Außerdem können NMR-Massenspektren gezeichnet werden. (Handbuch mit 20 Seiten, englisch oder russisch)OCHEM <bt/> OCHEM ist ein Paket für den Satz chemischer Strukturformeln und Reaktionsschemata. Es besteht aus einem Perl-Script, das in einer speziellen Sprache formulierte Reaktionen in LaTeX- oder PostScript-Graphiken konvertiert, die automatisch in ein Dokument eingebunden werden können. Elemente eines Schemas sind Formeln, die lineare, verzweigte oder konvergente Reaktionsketten bilden und automatisch angeordnet werden. Elemente einer Formel sind Bindungen (Richtung/Länge), Textsymbole und Ringe bzw. allgemeine Strukturen. Die Beschreibung erfolgt teilweise nach geometrischen Gesichtspunkten, teilweise durch abstrakte Befehle. (Handbuch mit vielen Seiten und Beispielen)Chemfig A TEX package for drawing molecules von Christian Tellechea <br/> Chemfig ist die modernste Implementation eines Systems zum Erstellen von Koordinations- und Strukturformeln. Es stellt dem Benutzer die ppchtex-Syntax zur Verfügung, verwendet intern das Paket TikZ/pgf. Es kann also direkt mit pdflatex betrieben werden, der Umweg über dvi-Dateien ist möglich, aber nicht mehr nötig. Die mitgelieferte Dokumentation ist umfassend und gibt einen guten Einstieg in das Erstellen von chemischen Strukturformeln mit LaTeX. Chemfig bietet zudem Umgebungen zum Erstellen von Reaktionsgleichungen und Schemata an.Daneben gibt es noch Programme wie ChemDraw, ChemWindow o.ä., bei denen man die erstellte Strukturformel als PS-Datei ausgeben und dann in (La)TeX einbinden kann.

PPCHTeX:	http://www.pragma-ade.nl/ppchtex.htm
macros/context/cont-ppc.zip
PPCHTeX-Datenbank:	http://www.walram.de/ppchtex/
XymTeX:	macros/latex/contrib/xymtex/
chemstruct:	macros/latex209/contrib/chemstruct/
chemtex:	macros/latex209/contrib/chemtex/
chemsym:	macros/latex/contrib/chemsym/
streeTeX:	macros/latex/contrib/streetex/
OCHEM:	support/ochem/
chemfig:	contrib/chemfig/

Bei der Verwendung des Paketes ,chemtex` mit LaTeX2e erhalte ich bei der Zuweisung \textfont1=\tenrm einen Fehler.

\tenrm ist ein alter, nur intern in LaTeX 2.09 zu verwendender Name eines Font (siehe auch Frage 5.2 ,,LaTeX2e - Probleme beim Umstieg``). Mit dem Paket , rawfonts ` kann man diese Namen (nach-)definieren:

\usepackage[only,tenrm]{rawfonts}

rawfonts:	macros/latex/required/

Das Makro \chemical, das u.a. auch in Helmut Kopka, ,,LaTeX - eine Einführung`` beschrieben wird, funktioniert nicht. Was muss man ändern?

Der im Makro (das aus dem TeXbook stammt) verwendete Name \tensy des Math-Symbol-Font ist nur in Plain-TeX und LaTeX 2.09 definiert. LaTeX2e lädt darüber hinaus die für den mathematischen Formelsatz notwendigen Fonts erst zu Beginn der ersten zu setzenden Formel, so daß man auch durch Nachdefinition mit Hilfe des Paketes , rawfonts ` in bestimmten Situationen einen Fehler bekommen kann.

Hier ist eine für LaTeX2e verwendbare Definition von \chemical (die man in eine .sty-Datei schreiben oder mit \makeatletter … \makeatother klammern muss):

%% Anpassung an LaTeX(2e) von Bernd Raichle
\DeclareRobustCommand{\chemical}[1]{%
{\(\m@th
\edef\resetfontdimens{\noexpand\)%
\fontdimen16\textfont2=\the\fontdimen16\textfont2
\fontdimen17\textfont2=\the\fontdimen17\textfont2\relax}%
\fontdimen16\textfont2=2.7pt \fontdimen17\textfont2=2.7pt
\mathrm{#1}%
\resetfontdimens}}

Wie kann ich einfach Summenformeln erstellen?

Es gibt mehrere mögliche Antworten auf diese Frage. Unter anderem existieren folgende Paket(e):

mhchem von Martin Hensel <br/> mhchem bietet eine Umfangreiche Palette von Möglichkeiten zum Setzten von Summenformeln. Das Macro \ce{} lässt eine einfache Notation von Bindungen, Ionen etc. zu. Als kleines Beispiel soll die Eigendissoziation von Wasser dienen. In mhchem Notation würde diese folgendermaßen dargestellt werden: \ce{H+ + OH- <=>> !H2O}.– Main.HerbertVoss - 05 Mar 2009 – Main.TobiasG - 29 Oct 2012