Seite 1 von 2

eps-Dateien einbinden unter Erhalt der "Größe"

Verfasst: Fr 2. Aug 2013, 21:47
von Daniel B.
Hallo allerseits!

Ich schreibe im Moment gerade meine Diplomarbeit mit Latex. Ich benötige viele chemische Strukturformeln, die ich in ChemDraw zeichne und als eps-File speichere. Diese eps-Files binde ich in Latex ein. Dabei verwende ich das Package epstopdf, die Grafik selbst binde beispielsweise ein mit

\includegraphics[width = 1.0\textwidth]{1.eps}

Trotzvieler vergeblicher Versuche und Google-Anläufe ist mein Problem nach wie vor Folgendes:

Die eingefügten Moleküle sind logischerweise alle unterschiedlich groß. Da das Bild beim Einfügen aber immer skaliert wird (und nicht sozusagen "beschnitten"), sind alle Strukturformeln in unterschiedlicher Größe und müssen von Hand aneinander angepasst werden (Ich hoffe es ist einigermaßen verständlich was ich meine).

Hatte irgendjemand schonmal ein ähnliches Problem, oder kennt eine Lösung? Es würde mir sehr helfen!

Gruß

Verfasst: Fr 2. Aug 2013, 22:27
von Genmutant
Ich gehe mal davon aus dass du das chemfig Paket zum malen von Strukturformeln schon kennst?
Falls du das nicht verwenden willst, würde ich dir dazu raten einfach alle eps direkt erst nach pdf zu konvertieren (z.B. mit einer Batch oder einem Shell Script) und danach mit pdfcrop automatisch zuzuschneiden. Oder willst du einfach nur dass die alle gleich stark skaliert werden? Dann nimm statt dem width-Parameter den scale-Parameter.

Verfasst: Fr 2. Aug 2013, 22:32
von Daniel B.
Vielen Dank für die Antwort. Aus verschiedenen Gründen möchte ich unbedingt ChemDraw verwenden.

Um es verständlicher auszudrücken möchte ich erreichen, dass die eingebunden Strukturformeln alle die gleiche "Schriftgröße" haben, auch wenn die eingebunden Bilder unterschiedlich groß sind.

Verfasst: Fr 2. Aug 2013, 22:43
von Genmutant
Aber die gleiche Schriftgröße hättest du bei chemfig doch erst recht?
Wenn du die bei deinen eingebundenen Grafiken auch gleich lassen willst, darfst du sie halt nicht skalieren, oder musst bei allen den gleichen Skalierungsfaktor benutzen.

Aber ich glaub ich verstehe deine Frage eh falsch...

Verfasst: Sa 3. Aug 2013, 09:45
von Johannes_B
Ich glaube dein Problem liegt nicht auf LaTeX-Ebene. Du must schon vor dem Export in eps in ChemDraw auf die gleiche Schriftgröße achten. Sobald du die Datei skaierst, ändert sich natürlich die Schriftgröße.
Ist dein Chemdraw-Objekt allerdings schon innerhalb Chemdraw so breit wie \textwidth im LaTeX-Projekt, dann passiert beim einbinden mit \includegraphics[width=\textwidth]{dateiname} keine Skalierung.

Oder versteh ich auch was falsch?

Die Arbeit mit chemfig ist übrigens sehr zu empfehlen.

Verfasst: Sa 3. Aug 2013, 11:07
von Daniel B.
Vielen Dank für die Antwort, habe es nun hinbekommen!

Ich habe die neueste ChemDraw-Version (12.0) installiert. Außerdem binde ich die Grafiken nun einfach ein mit
\includegraphics[]{1.eps}

Gruß

Ja, aber …

Verfasst: Sa 3. Aug 2013, 11:51
von localghost
Johannes_B hat geschrieben:[…] Die Arbeit mit chemfig ist übrigens sehr zu empfehlen.
Stimmt. Aber für Chemiker ist ChemDraw das Werkzeug schlechthin, um selbst die kompliziertesten Strukturformeln und Reaktionsgleichungen zu erstellen.

Und schließlich hat chemfig ja auch noch Bugs wie zum Beispiel diesen hier.
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{chemfig}

\setdoublesep{0.35em}  % 'Bond Spacing'
%\setatomsep{2em}    % 'Fixed Length'
\setbondoffset{0.18em} % 'Margin Width'
\newcommand{\bondwidth}{0.07em} % 'Line Width'
\setbondstyle{line width=\bondwidth}

\begin{document}
  \chemname{\chemfig{[:30]O=C*6(-N(-CH_3)-C*5(-N=C-N(-CH_3)-)=C-C(=O)=N(-CH_3)-)}}{Coffein}
\end{document}

Thorsten



Bild

Verfasst: Sa 3. Aug 2013, 17:38
von Johannes_B
Hallo Thorsten, ich war der felsenfesten Überzeugung, das das mit Hooks/Ankern zu lösen sei. Ich hatte keinen Erfolg, aber das muss doch irgendwie klappen.

Alternativ geht aber auch das, wenn es unter Umständen auch bissl umständlich sein kann:
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{chemfig}

\setdoublesep{0.35em}  % 'Bond Spacing'
%\setatomsep{2em}    % 'Fixed Length'
\setbondoffset{0.18em} % 'Margin Width'
\newcommand{\bondwidth}{0.07em} % 'Line Width'
\setbondstyle{line width=\bondwidth}

\begin{document}
  \chemname{\chemfig{[:30]O=C*6(-N(-CH_3)-C*5(-N=C-N(-CH_3)-\phantom{C})=C-C(=O)=N(-CH_3)-)}}{Coffein}
\end{document}
Hier mal noch der Vortrag Chemische Strukturformeln von Marcus Herbig.

Guter Überblick

Verfasst: Sa 3. Aug 2013, 19:18
von localghost
Johannes_B hat geschrieben:[…] Alternativ geht aber auch das, wenn es unter Umständen auch bissl umständlich sein kann: […]
Guter Workaround. Sollte aber eigentlich vom Entwickler des Pakets behoben werden.
Johannes_B hat geschrieben:[…]Hier mal noch der Vortrag Chemische Strukturformeln von Marcus Herbig.
Kenne ich. Ist nur nicht viel mehr als eine Zusammenfassung der Anleitung. Joseph Wright hat in seinem Blog mal eine Serie über »chemfig« in drei Teilen geschrieben. Der Mann ist nicht nur aktiv an der Entwicklung von LaTeX3 beschäftigt, sondern nebenbei auch Chemiker. Sein Fazit dürfte interessant sein.

Verfasst: Sa 3. Aug 2013, 21:41
von Johannes_B
Danke für die Links, werd ich mir mal zu Gemüte führen.
Dieser Workaroud steht übrigens so in der Doku drin ;-) Eigentlich sollte das ja mit den Hooks funktionieren, aber irgendwie ...