|
Anleitung für verschiedene Softwarepakete
Dieses Tutorial fasst zusammen, wie mit Hilfe verschiedener Softwarepakete zur Erstellung chemischer Strukturformeln Ergebnisse erreicht werden können, die den Regelungen entsprechen, die von der Redaktion Chemie festgelegt wurden wie sie unter Wie erstelle ich eine Strukturformel? festgehalten sind. Das Einbringen eigener Erfahrungen in dieses Tutorial ist erwünscht, Fragen bitte auf der Diskussionsseite stellen. |
Um innerhalb der Wikipedia ein einheitliches Aussehen der Strukturformeln zu erreichen, sollen folgende Werte als Leitlinie dienen, sie sind jedoch nicht zwingend. Die Parameter lassen sich in den Zeichenprogrammen an angegebener Stelle festlegen. Das nebenstehende Bild wurde mit diesen Einstellungen in ChemDraw erstellt.

| Parameter | Wert | ChemDraw | ISIS | BKChem | ChemDoodle |
|---|---|---|---|---|---|
| Bindungslänge | 1,4 cm / 39,7 pt / 52,93 px | „Fixed Length“ | „Standard bond/grid length“ | „Bond length“ | „Bond length“ |
| Liniendicke | 0,06 cm / 1,7 pt / 2,26 px | „Line Width“ | „Line Style“ → „Thickness“ | „Line width“ | „Bond Line Thickness“ |
| Liniendicke, breit | 0,18 cm / 5,1 pt / 6,8 px | „Bold Width“ | „Stereo bond width“ | „Wedge/Hatch width“ | „Wedge Thickness“ |
| Abstand Mehrfachbdg | 15 % d. Bdg-Länge / 0,21 cm / 5,96 pt / 7,95 px | „Bond Spacing“ | „Double/triple bond“ | „Bond width“ | „Unsaturated Spacing“ |
| Rand um Atome | 0,08 cm / 2,3 pt / 3,1 px | „Margin width“ | „Atom label margin“ | – | – |
| Strichabstand gestr. Linien/Keile |
0,15 cm / 4,3 pt / 5,7 px | „Hash Spacing“ | „Down bond hashes“ | – | „Hash Spacing“ |
| Schriftgröße Atome | Arial: 24 pt | „Atom labels“ → „Size“ | „Font“ → „Size“ | „Font Size“ | „Main Font“ |
| „Double-bond length ratio“ | 0,8–0,85 | nur BKChem | |||
Als Schriftart sollte Arial oder eine vergleichbare serifenlose Schriftart gewählt werden. Es empfiehlt sich ein Rand von etwa 5 px oder etwa 2,5 % der Breite/Höhe.
Mit dem Stand 2021 ist BKChem aus den Repositorien beispielsweise von Debian entfernt worden, da es auf Python 2 basiert. BKChem wird also beim Upgrade auf Debian stable entfernt. Man kann dieses Programm jedoch aus den Paketen von Debian 10 (Buster) zum Laufen bringen. Dazu werden die Pakete bkchem, python-pil und python-pmw von Buster manuell heruntergeladen und mit dpkg -i <paketname> installiert. Die fehlenden Abhängigkeiten werden dann mit apt-get -f install aufgelöst. Der Export als SVG Cairo funktioniert nicht mehr und es muss mit den anderen unten aufgeführten Lösungen die SVG-Datei Wikipedia-konform gemacht werden.
Bei Windows XP und Windows 7 wird eventuell eine MSVCR71.DLL vermisst. Diese kann man hier herunterladen und mit Administratorrechten in folgenden Ordner kopieren:
C:\Windows\System32\C:\Windows\SysWOW64\Man kann die Werte nach Wikipedia:WEIS einstellen, indem man zwei Konfigurationsdateien mit den hier angegebenen Werten/XML füllt (beispielsweise mittels Editor, Copy & Paste).
Linux: die Dateien kommen in das Verzeichnis .bkchem im Home-Verzeichnis des Benutzers (zugänglich auch über ~/.bkchem/)
Windows XP: abspeichern der Dateien im im Pfad C:\Dokumente und Einstellungen\<username>\Anwendungsdaten\bkchem und unter Windows 7 unter C:\Benutzer\<username>\AppData\Roaming\bkchem\
standard.cdml:
<?xml version="1.0" ?>
<cdml version="0.15" xmlns="http://www.freesoftware.fsf.org/bkchem/cdml">
<info>
<author_program version="0.12.2">BKchem</author_program>
</info>
<standard area_color="" font_family="helvetica" font_size="24" line_color="#000" line_width="0.06cm" paper_crop_margin="5" paper_crop_svg="1" paper_orientation="portrait" paper_type="Legal">
<bond double-ratio="0.85" length="1.4cm" wedge-width="0.18cm" width="0.21cm"/>
<arrow length="1.6cm"/>
</standard>
</cdml>
prefs.xml:
<?xml version="1.0" ?>
<bkchem-prefs>
<lang type="StringType">de</lang>
<geometry type="StringType">1016x522+4+27</geometry>
<recent-file1 type="StringType"></recent-file1>
<recent-file2 type="StringType"></recent-file2>
<use_real_minus type="IntType">0</use_real_minus>
<default-dir type="StringType">~</default-dir>
</bkchem-prefs>
Ein simples Script macht die SVG-Dateien nachträglich mit librsvg kompatibel, ohne dass Texte in Pfade umgewandelt werden müssen. Die nötigen Anpassungen sind ein Schriftwechsel und Konvertierung der Tieferstellungen (z.B. in CH2), so dass sie vom Wikimedia-Renderer verstanden werden.
Das Skript ist unter en:Wikipedia:WikiProject Chemistry/Structure drawing workgroup/Mysid's script zu finden. Zum Ausführen benötigt man Perl, das auf dem Rechner installiert sein muss. Auf allen Linux-Rechnern sollte Perl bereits vorhanden sein. Für Windows-Nutzer würde ich gerne ein Webformular anbieten, das es erlaubt das Skript auf einem anderen Rechner zu nutzen).
Bei dieser Methode bleibt das SVG für BKChem erkennbar und kann weiterbearbeitet werden. (Vor dem Hochladen der editierten Formel muss das Skript natürlich erneut über die Datei geschickt werden)
Seit Version 0.10 bietet bkchem den Export nach SVG via Cairo an (Datei→Export→SVG via Cairo). Cairo wandelt dabei den Text in Pfade um und damit werden die Renderer-Probleme umgangen.
BKChem kann die so gespeicherten SVGs nicht mehr lesen! Also lokal immer auch die Originalversion für spätere Änderungen speichern.

Zur SVG-Konvertierung benötigt:


Die Vektorgrafik (.svg-Datei) kann nun auf Wikimedia Commons hochgeladen werden. Dabei ist darauf zu achten, dass keine Quelltextfehler vorhanden sind. Die SVG-Datei kann mit diversen Online-Tools auf Fehler überprüft werden (→ W3C Markup Validation Service) und mit Hilfe des Commons SVG Checker als Vorschau angezeigt werden, um etwaige Darstellungsfehler noch vor dem Upload zu erkennen.
GChemPaint ist ein Teil der GNOME Chemistry Utils jedoch selbst kein offizieller Bestandteil des GNOME-Desktops. Es verwendet als Maßeinheit generell Pixel und rechnet individuell Bindungslängen von Pikometer in Pixel um. Der Skalierungsfaktor ist so geeicht, dass er bei 154 pm Bindungslänge den oben in der Tabelle angegeben Werten in Pixel entspricht. Auch hier kann wieder folgende fertige Konfiguration als Text im Home-Ordner abgespeichert werden:
~/.gchempaint/themes/WP-WEIS.xml:
<?xml version="1.0"?>
<chemistry>
<theme name="WP:WEIS" bond-length="154" bond-angle="120" bond-dist="7.94" bond-width="2.27" arrow-length="200" arrow-head-a="6" arrow-head-b="8" arrow-head-c="4" arrow-dist="5" arrow-width="1" arrow-padding="16" hash-width="1.2" hash-dist="5.73" stereo-bond-width="6.8" zoom-factor="2.96" padding="0" stoichiometry-padding="1" object-padding="16" sign-padding="8" charge-sign-size="24" font-family="Arial" font-style="normal" font-weight="normal" font-variant="normal" font-stretch="normal" font-size="24576" text-font-family="Arial" text-font-style="normal" text-font-weight="normal" text-font-variant="normal" text-font-stretch="normal" text-font-size="24576" />
</chemistry>

Ab Version 0.12 ist dies nicht mehr nötig, da die Formatierungshilfe Bestandteil der offiziellen Distribution ist. Unter Datei - Eigenschaften - Thema kann Wikipedia ausgewählt werden.
Das Programm bietet ab Version 0.10 einen Knopf
mit dem markierte Moleküle als PNG abgespeichert werden und zusätzlich noch Metadaten in Form des InChI angehängt werden. Zu deren Verwendung besteht zumindest in der deutschen Wikipedia kein Konsens. Ab Version 0.12 werden durch Cairo gerenderte SVG-Dateien unterstützt. Diese sind ohne Umwege mit librsvg kompatibel. GChemPaint speichert seine Daten intern im XML-Format ab. Damit die Dateien von anderen Benutzern mit GChemPaint weiterbearbeitet werden können, bietet es sich diese auf die Bildschreibungsseite zu kopieren (siehe Datei:Bakelit Struktur.svg). Mit {{Created with GChemPaint}} lässt sich bei Wikimedia Commons ein Hinweis setzen, dass die Datei mit GChemPaint gezeichnet wurde.

Eine nichtzeichnerische Erstellung von Formelzeichnungen basierend auf einem zu erstellenden, die Struktur beschreibenden, speziellen Quelltext bietet das groff-System, das auf Linux &Co verfügbar ist.
Beispiel: Mit
chem /usr/share/doc/groff-base/examples/chem/reserpine.chem | groff -p > reserpine.ps
wird eine Postscriptdatei aus einer mitgelieferter Beispieldatei generiert. Umwandlung in SVG kann z.B. so
ps2pdf reserpine.ps ; pdf2svg reserpine.pdf reserpine.svg
erfolgen. Das resultierende SVG muss dann idR noch beschnitten werden und bietet stylistisch zwar kein gutes aber oft passables Ergebnis.
GlycanBuilder2 wird wie im Github-Link beschrieben installiert. Dies ist unter allen gängigen Betriebssystemen möglich. Der Quelltext ist frei verfügbar. Für das Erstellen der Grafiken können die Voreinstellungen benutzt werden. Eine spezielle Konfiguration ist nicht nötig. Die Zeichnung wird einfach als .svg exportiert durch Klicken auf File → Export to graphical formats. Die so erzeugten .svgs müssen nachbearbeitet werden, weil sie einen weißen Hintergrund haben. Dazu kann man so ähnlich wie im nächsten Abschnitt mit Inkscape beschrieben die Elemente degruppieren und den Hintergrund entfernen, denn es handelt sich um ein weiß ausgefülltes Rechteck. Danach kann man wieder alle restlichen Elemente gruppieren und erneut als svg speichern.
Hat man einen unstrukturierten SVG-Quelltext vorliegen ohne Einrückungen, etc, bzw. der Quelltext hat keine Zeilenumbrüche, ist also in einer Zeile geschrieben und damit nur noch schwer manuell editierbar, dann kann mit svgpp (SVG Pretty Printer, oft schon vorhanden direkt unter Linux), der Quelltext wieder formatiert werden.
Vor dem Upload kann das SVG hier getestet werden.
Idealerweise ist der Quelltext des SVG W3C-konform, das lässt sich mit dem W3C-Validator testen. Hat man validen SVG-Code generiert, kann man diesen optional noch mit dem Tool SVG-Cleaner bereinigen, die Dateigröße schmilzt dabei meist auf einen Bruchteil zusammen und wird gut menschenlesbar. Stellt sich der Code dann als valide heraus, empfiehlt es sich noch
|Other fields={{Igen|O|v|+}}in die Dateibeschreibung mit aufzunehmen. Die hochgeladene Datei wird dann automatisch in die Kategorie Valide SVG-Datei, erstellt mit BKChem/ChemDraw/anderen einsortiert, was die Wartung später sehr erleichtert. Der erste Parameter steht für das Strukturformelzeichenprogramm (O=other, B=BKChem, C=ChemDraw) und der zweite Parameter für Validität. Der dritte Parameter, +, ist nur für die Positionierung innerhalb von |Other fields= von Bedeutung. Ein Beispiel wie man es machen kann ist Datei:Ir(mppy)3.svg. Die vollständige Dokumentation der Vorlage findet sich unter Template:Igen auf Wikimedia Commons.
Der Upload des SVG-Files kann manuell erfolgen oder unter Zuhilfenahme eines der folgenden Tools: