Benötige Latex-Kompilierung nur für einige EPS-Dateien, möchte den Rest als vorkompilierte PDFs oder PNGs

Benötige Latex-Kompilierung nur für einige EPS-Dateien, möchte den Rest als vorkompilierte PDFs oder PNGs

Ich verwende das chemschemePaket und um die Nummerierung in diesen Schemata in meinem Dokument zu ersetzen, muss ich diese EPS-Dateien mit Latex, dann mit dvips und schließlich mit ps2pdf kompilieren.

Ich habe jedoch eine sehr große Anzahl von Bildern (über 100, und es werden immer mehr), die sich problemlos als PNG-Datei oder als vorkompilierte PDF-Datei verwenden lassen. Da ich für die chemschemeNummerierung eine Latex-Kompilierung benötige, müssen alle PNG- oder PDF-Bilder im EPS-Format vorliegen, was die Kompilierungszeit um satte 2-3 Minuten verlängert.

Gibt es für diese Art von Situation eine Lösung?

Ich habe hier einige Lösungen zu Paketen wie standaloneund gelesen externalize, muss jedoch zugeben, dass ich nicht ganz verstehe, wie diese Lösungen anzuwenden sind oder ob sie auf diese Situation überhaupt zutreffen.

Ich dachte, ich sollte noch hinzufügen, dass die Kompilierung meiner Latex-Datei ohne diese zusätzlichen Bilder etwa 30 Sekunden dauert, mit den Bildern beträgt die Kompilierungszeit nun fast 4 Minuten :(

Hier ist ein Beispiel, wie das chemschemePaket funktioniert (es ist als Teil des chemstylePakets enthalten). Die Datei „reaction.eps“ kann unter dem folgenden Link heruntergeladen werden. Die Zip-Datei enthält auch, wie das PNG aussieht, wenn Sie es allein vorkompilieren (diese TMP-Tags werden während des Konvertierungsprozesses ersetzt). Die Nummerierungsbefehle \CNlabelund \CNlabelsubsind über das gesamte Dokument verteilt und erhöhen Zähler im Zusammenhang mit der zusammengesetzten Nummerierung, die beim Ersetzen der TMPTags in den Bildern verwendet wird. Allerdings verwenden nur eine Handvoll meiner Bilder diese TMP-Tags und erfordern diese bestimmte Kompilierung. Der Rest ist nicht TMPenthalten und kann problemlos extern kompiliert werden. Um die richtige Nummerierung zu erhalten, latexmuss zweimal ausgeführt werden, bevor aufgerufen wird dvips.

eps- und pdf-Dateien: http://www.filedropper.com/reaktion_1

\documentclass{article}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{bpchem}
\usepackage[tracking=bpchem]{chemstyle}


\begin{document}

I am a document about methanol (\CNlabelsub{alcohol}{Me}), and the related alcohol isoamyl %
alcohol (\CNlabelsub{alcohol}{isoamy}).  \CNlabelsub{alcohol}{Me} can be converted to an alkyl %
halide with \BPChem{HCl} to give chloromethane (\CNlabel{MeCl}, \ref{sch:reaction}).
\begin{scheme}
\caption{I am a scheme}\label{sch:reaction}
\schemerefsub{alcohol}{Me}
\schemerefsub{alcohol}{isoamy}
\schemeref{MeCl}
\includegraphics{reaction}
\end{scheme}

\end{document}

Update, mögliche Lösung, aber noch nicht ganz fertig

\CNlabelnorefAus der Antwort von Garbage Collector ist es mir tatsächlich eingefallen. Ich kann mit einem Befehl und eine vorgefertigte Liste aller Verbindungen im Dokument bereitstellen \CNlabelsubnoref. Das habe ich getan, und unten sehen Sie ein MWE mit dem Standalone-Paket. Allerdings erhalte ich jetzt eine Fehlermeldung, eine ganze Liste von Fehlern, die bei der \begin{figure}Zeile beginnen, wobei die erste lautet:

LaTeX-Fehler: Irgendetwas stimmt nicht – möglicherweise fehlt ein \item.

\documentclass[border=0pt]{standalone}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{bpchem}
\usepackage[journal=rsc,tracking=bpchem]{chemstyle}
\renewcommand*{\schemerefformat}{\small\fontfamily{cmr}}
\newcommand{\chemdrawgraphic}[1]{\includegraphics[scale=1]{#1}}
\setcounter{BPCno}{200}
\CNlabelsubnoref{alcohol}{Me}
\CNlabelsubnoref{alcohol}{isoamy}
\CNlabelnoref{MeCl}
\begin{document}
\begin{figure}
    \schemerefsub{alcohol}{Me}
    \schemerefsub{alcohol}{isoamy}
    \schemeref{MeCl}
    \chemdrawgraphic{reaction}
\end{figure}
\end{document}

Antwort1

Kompilieren Sie alle diagram.texDateien mit, um latex-dvips-pspdfzu erhalten diagram.pdf.

% diagram.tex
\documentclass[border=0pt]{standalone}
\usepackage{chemscheme}
\begin{document}
% do your drawing
\end{document}

diagram.pdfImportieren Sie die und andere PNG-, JPG- und PDF-Bilder aus Ihrer Haupteingabedatei mit \includegraphics. Kompilieren Sie die Haupteingabedatei mit pdflatex.

Antwort2

Sie können die temporären Texthalter auch ersetzen pdfLatex, wenn Sie verwenden. Siehe zum Beispiel diese Frage:Chemnum/PS-Frag mit EPS-Dateien und PNG-Dateien

So wie ich mich erinnere, chemschememache chemnumich im Prinzip dasselbe, wenn es um die Nummerierung von Verbindungen im Text und in Schemata oder Abbildungen geht, sodass das, was in der oben genannten Frage gesagt wurde, auch in Ihrem Fall gelten sollte.

Ich verwende es pdfLatexseit einiger Zeit mit EPS- und PNG-Abbildungen und es funktioniert gut, wenn Sie die Schriftgröße nicht drastisch ändern.

Hier ist das MWE aus dem obigen Link, das jedoch chemnumstattdessen verwendet:

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc} % Modern font encoding
%\usepackage{pstool}
\usepackage{psfrag}
\usepackage[crop=off]{auto-pst-pdf} % Use EPS graphics with pdfLaTeX
\usepackage{booktabs} % Better table layouts
\usepackage[journal=rsc]{chemstyle} % Of course!
\usepackage{geometry} % Easy page layout
\usepackage{lmodern} % Use Latin Modern fonts
\usepackage[version=3]{mhchem} % Formula subscripts using \ce{}
\usepackage{xkeyval}
\usepackage{pst-pdf}
\usepackage{ifplatform}

\begin{document}
Test Test
\begin{figure} %% eps
\centering
\psfrag{goldhydrid}{test}
\includegraphics[scale=1.0]{./someeps}
\caption{A Caption}
\label{fig:someeps}
\end{figure}

\begin{figure} %% pngfile
\centering
\psfrag{goldhydrid}{test}
\includegraphics[scale=1.0]{./pngfile}
\caption{A Caption}
\label{fig:pngfile}
\end{figure}

\end{document}

verwandte Informationen