Chemfigformel externalisieren

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Chemfigformel externalisieren

von Andi 3.14159265 » Mi 4. Jul 2012, 16:46

Nachtrag: Besser dieser Code:

\tikzifexternalizing{}{
\tikzset{external/export next=false}
\chemfig{*6((=O)-N(-CH_3)-*5(-N=-N(-CH_3)-)=-(=O)-N(-H_3C)-)}
}

Damit umgeht man Probleme bei einem Externalisierungslauf.

von Andi 3.14159265 » Mi 4. Jul 2012, 15:58

Für den Fall, dass die Strukturformeln NICHT exportiert werden sollen, kann man diese explizit von der Auslagerung ausschließen. Z.B. so:

\tikzset{external/export next=false}
\chemfig{*6((=O)-N(-CH_3)-*5(-N=-N(-CH_3)-)=-(=O)-N(-H_3C)-)}

Funktioniert super bei mir, und ist mir so eigentlich lieber, da ich nur kleine Strukturformeln habe, die nicht lange zur Kompilierung brauchen.

Auch hier ist es wohl sinnvoll, ein eigenes Makro zu schreiben.

von Ironoxid » Mi 23. Mai 2012, 22:45

Der Tipp funktioniert gut. Ist nur leider nicht bequem. Es ist daher sinnvoll die Sachen etwas in einem Kommando zusammenzufassen. Das muss anscheinend auch für die Sachen aus chemmacros gemacht werden, die Tikz verwenden. Speziell meine ich \Rconf, \Sconf und \newman, die ich getestet habe.

von cgnieder » Mi 23. Mai 2012, 10:11

Ich habe wieder gefunden, woran ich mich erinnert hatte: jemand hatte das schon mal gefragt, aber mit dem Wunsch, die Figuren nicht in ein tikzpicture zu zu verpacken. Da gab es denn auch keine Lösung...

Das Problem bei dem Code von, das ich gestern irgendwie übersehen hatte, ist, dass Du die Formeln in eine Node packen musst:
\documentclass{article}

\usepackage{chemfig}
\usetikzlibrary{external}
\tikzexternalize

\begin{document}

\tikz{\node{\chemfig{*6((=O)-N(-CH_3)-*5(-N=-N(-CH_3)-)=-(=O)-N(-H_3C)-)}};}

\begin{tikzpicture}
 \node{
   \chemfig{
     O=[:30]-[:330]N(-[:270]CH_3)-[:30]
       (-[:342]N=^[:54]-[:126]N(-[:72]CH_3)-[:198]) %-[:270])
     =^[:90]-[:150](=[:90]O)-[:210]N(-[:150]H_3C)-[:270]
   } 
 };
\end{tikzpicture}

\end{document}

von Ironoxid » Mi 23. Mai 2012, 09:17

Gut das Wissen, dass standalone existiert ist nie verkehrt. Mir geht es aber auch darum zu wissen, dass alles so funktioniert, wie es auch gedacht ist. Der Hintergrund der external-library ist ja Zeit und Resourcen zu sparen, indem nicht immer wieder das gleiche Bild beim compilieren neu erzeugt werden muss und schon garnicht, wenn es sich sowieso nicht geändert hat.

Es ist halt ungünstig wenn man seine ganzen Plots auslagern möchte, aber für jede Strukturformel eine Ausnahme schreiben muss, damit der Lauf nicht abbricht.

Kann es sein, dass es sich dabei um ein Problem mit der Bounding Box handelt? Vielleicht wird sie ja groß genug angesetzt, aber falsch auf den Inhalt ausgerichtet. Den Eindruck hab ich zumindest, wenn ich mir die beiden erzeugten Figuren ansehe.


Da fällt mir noch eine Frage ein. Chemmacros verwendet an der einen oder anderen Stelle ja auch TikZCode. Wurde das schonmal mit der external-library getestet, zumindest ob es dort ähnliche Probleme gibt wie mit chemfig?

von cgnieder » Mi 23. Mai 2012, 00:00

Ich weiß, ich hab dazu schon mal irgendwo 'ne Lösung gelesen, kann sie nur gerade partout nicht finden.

Wenn das Ziel ist, aus den Formeln einzelne Bilder zu machen, kann ich jedenfalls wärmstens standalone als Alternative empfehlen:
\documentclass{standalone}

\usepackage{chemfig}
\begin{document}
\chemfig{*6((=O)-N(-CH_3)-*5(-N=-N(-CH_3)-)=-(=O)-N(-H_3C)-)}
\end{document} 
Per Default macht das zwar ein pdf, aber wenn man z.B. imagemagick installiert hat, kann man die Klasse das auch automatisch in PNG oder andere Formate umwandeln lassen.

Gruß

Chemfigformel externalisieren

von Ironoxid » Di 22. Mai 2012, 22:50

Hallo Leute,

ich habe mich in den vergangenen Tagen mit der TikZbibliothek external beschäftigt. Plots, die ich durch pgfplots oder gnuplot via TikZausgabe erstelle werden auch wunderbar extern ausgegeben. Wenn ich nun aber versuche Strukturformel mit Hilfe von chemfig zu erstellen bricht der Lauf ab. Meine Idee war dann den chemfigcode in eine tikzpicture zu geben. Ich erhalte somit auch externe Grafiken, aber sie werden ab einer gewissen Stelle abgeschnitten. Ich hab zur Veranschaulichung mal ein Molekül auf zwei verschiedenen Weisen gezeichnet und im Beispiel angegeben. Das Ergebnis meines Laufes lade ich ebenso hoch.

Was ich nun wissen möchte ist, ob es überhaupt möglich ist chemfig-Zeichnungen zu externalisieren.


\documentclass{scrartcl}

\usepackage{chemfig}

\usetikzlibrary{external}
\tikzexternalize[prefix=figures/]

\begin{document}

	\begin{figure}[h]
	\centering
		\begin{tikzpicture}
			\chemfig{*6((=O)-N(-CH_3)-*5(-N=-N(-CH_3)-)=-(=O)-N(-H_3C)-)}
		\end{tikzpicture}
	\end{figure}

	\begin{figure}[h]	
	\centering
		\begin{tikzpicture}
			\chemfig{
			O=[:30]-[:330]N(-[:270]CH_3)-[:30]
				(-[:342]N=^[:54]-[:126]N(-[:72]CH_3)-[:198]) %-[:270])
			=^[:90]-[:150](=[:90]O)-[:210]N(-[:150]H_3C)-[:270]
			}
		\end{tikzpicture}
	\end{figure}

\end{document}
Dateianhänge
externe-chemfig.pdf
(23.6 KiB) 462-mal heruntergeladen

Nach oben