Hi, in der Doku für Chemfig ist auf Seite 13 beschrieben, wie man sogenannte „Distant Bonds“ malt. Als drittes Argument kann man da auch tikz-Befehle übergeben. Allerdings habe ich es bisher nur geschafft, einen einzigen Befehl zu übergeben, bspw: Open in writeLaTeX
\documentclass[a4paper]{scrartcl} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage[T1]{fontenc} \KOMAoptions{fontsize=11pt} \usepackage{amsmath,amssymb,amstext} \usepackage{chemmacros} \usepackage{chemfig} \renewcommand*\printatom[1]{\small\ensuremath{\mathsf{#1}}} \setatomsep{16.5pt} \setbondstyle{line width=0.6pt} \setcrambond{3pt}{0.6pt}{1.5pt} \setdoublesep{2.6pt} \setbondoffset{1.6pt} \setarrowdefault{,1.0,} \begin{document} \chemfig{[,1.9]O?[ring]-[:-150](-[::60,1.0]N*5([:-108,1.0]-(<:)-(<:Ph)-O-(=O?[metall])-))=_[::-60](-[::-60]H)(-[::60]H)-[::30,,,,dash pattern=on 2pt off 2pt](-[::-90]H)(-[::30]R)=[::150,,,,preaction={draw=white, line width=3pt}]O-[::60,,,,dash pattern=on 2pt off 2pt, preaction={draw=white, line width=3pt}]Zn?[ring]?[metall,,{dash pattern=on 2pt off 2pt}]} \end{document} Füge ich ganz hinten noch zum tikz-Teil „preaction={draw=white, line width=3pt}“ hinzu, kommt die Fehlermeldung:
Open in writeLaTeX
\documentclass[a4paper]{scrartcl} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage[T1]{fontenc} \KOMAoptions{fontsize=11pt} \usepackage{amsmath,amssymb,amstext} \usepackage{chemmacros} \usepackage{chemfig} \renewcommand*\printatom[1]{\small\ensuremath{\mathsf{#1}}} \setatomsep{16.5pt} \setbondstyle{line width=0.6pt} \setcrambond{3pt}{0.6pt}{1.5pt} \setdoublesep{2.6pt} \setbondoffset{1.6pt} \setarrowdefault{,1.0,} \begin{document} \chemfig{[,1.9]O?[ring]-[:-150](-[::60,1.0]N*5([:-108,1.0]-(<:)-(<:Ph)-O-(=O?[metall])-))=_[::-60](-[::-60]H)(-[::60]H)-[::30,,,,dash pattern=on 2pt off 2pt](-[::-90]H)(-[::30]R)=[::150,,,,preaction={draw=white, line width=3pt}]O-[::60,,,,dash pattern=on 2pt off 2pt, preaction={draw=white, line width=3pt}]Zn?[ring]?[metall,,{dash pattern=on 2pt off 2pt, preaction={draw=white, line width=3pt}}]} \end{document} Ich bin einfach irgendwie zu blöd, da bspw. ein dash pattern und gleichzeitig die Farbe blau oder so einzubauen. Egal was, es geht irgendwie nicht. Die geschweiften Klammern um den tikz-Befehl ist an der Stelle eigentlich unüblich für Chemfig. Vielleicht habe ich da irgendwas nicht verstanden und ich darf vielleicht nicht einfach die Befehle innerhalb der Klammern aneinanderreihen? Ich würde mich über eure Hilfe freuen. Viele Grüße, dieg0 PS: Den Thread habe ich ursprünglich bei GoLaTeX gepostet. Bin einer Empfehlung hierher gefolgt. Hatte ich schon ganz vergessen, dass es ja TeXwelt auch gibt. :D gefragt 22 Jun '14, 16:02 dieg0 |
Ich würde vorschlagen, einen TikZ-Stil zu definieren Open in writeLaTeX
\tikzset{ metall/.style={ dash pattern={on 2pt off 2pt}, preaction={draw=white, line width=3pt} } } und den zu verwenden: Open in writeLaTeX
?[metall,,metall] Das funktioniert wie erwartet: Open in writeLaTeX
\documentclass{scrartcl} \usepackage{chemfig} \tikzset{ metall/.style={ dash pattern={on 2pt off 2pt}, preaction={draw=white, line width=3pt} } } \begin{document} \chemfig{ ?[metall]-[1]-(-[6])-[7] ?[metall,,metall] } \end{document} beantwortet 22 Jun '14, 16:19 cgnieder Ja, sorry für das komplizierte Beispiel. Ich hab einfach die Struktur, die ich gerade male, ins Minimalbeispiel gepackt. Das hier würde gehen. :) Ist sogar gar nicht mal so blöd, TikZ-Stile für kreuzende Bindungen im Vordergrund zu definieren. Dann kann ich mir das andauernde „preaction={}“ sparen. Danke! Eine Erklärung für das Problem mit den mehreren TikZ-Befehlen hast du nicht, oder?
(22 Jun '14, 16:27)
dieg0
Dafür müsste ich erst noch den
(22 Jun '14, 16:30)
cgnieder
Alles klar. Egal, lassen wir das so. Vielleicht schreibe ich mal den Entwickler an. Der freut sich immer über Hinweise. ;)
(22 Jun '14, 16:34)
dieg0
|
Willkommen auf der TeXwelt!
Dein Beispiel ist reichlich kompliziert für den kleinen Aspekt, um den es geht...