
Estoy usando el chemscheme
paquete y para reemplazar la numeración en estos esquemas que tengo en mi documento, necesito compilar esos archivos eps con latex, luego dvips y finalmente ps2pdf.
Sin embargo, tengo una gran cantidad de imágenes (más de 100, y solo aumentarán) que están perfectamente bien para usarse como el png en el que se encuentran o como un archivo pdf precompilado. Como necesito una compilación de látex para la chemscheme
numeración, todas esas imágenes png o pdf deben estar en formato eps, y esto agrega entre 2 y 3 minutos al tiempo de compilación.
¿Existe alguna solución para este tipo de situaciones?
He leído algunas soluciones aquí sobre paquetes como standalone
y, externalize
pero confieso que no entiendo completamente cómo aplicar esas soluciones o si siquiera se aplican a esta situación.
Pensé en agregar que sin estas imágenes adicionales, mi archivo de látex se compila en aproximadamente 30 segundos, con las imágenes ahora tiene un tiempo de compilación de casi 4 minutos :(
A continuación se muestra un ejemplo de cómo chemscheme
funciona el paquete (se incluye como parte del chemstyle
paquete. El archivo "reaction.eps" se puede descargar en el siguiente enlace. El archivo zip también incluye el aspecto del png si lo precompila justo en es propio (esas etiquetas TMP se reemplazan durante el proceso de conversión). Los comandos de numeración \CNlabel
se \CNlabelsub
distribuyen por todo el documento e incrementan los contadores relacionados con la numeración compuesta que se utiliza en el reemplazo de las TMP
etiquetas dentro de las imágenes. Algunas de mis imágenes usan estas etiquetas tmp y requieren esta compilación determinada. El resto no está TMP
incluido y se puede compilar externamente sin problemas. Para obtener la numeración correcta, latex
se debe ejecutar dos veces antes de llamar dvips
.
archivos eps y pdf: http://www.filedropper.com/reaction_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}
Actualización, posible solución, pero aún no terminada
Por la respuesta de Garbage Collector, se me ocurrió. Puedo proporcionar una lista prefabricada de todos los compuestos del documento con un comando \CNlabelnoref
y \CNlabelsubnoref
. Lo hice y a continuación se muestra un MWE que usa el paquete independiente. Sin embargo, ahora aparece un error: una lista completa de errores que comienzan en la \begin{figure}
línea, siendo el primero
Error de LaTeX: algo anda mal, tal vez falta un elemento.
\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}
Respuesta1
Compile cada uno de diagram.tex
los archivos para latex-dvips-pspdf
obtener diagram.pdf
.
% diagram.tex
\documentclass[border=0pt]{standalone}
\usepackage{chemscheme}
\begin{document}
% do your drawing
\end{document}
Desde su archivo de entrada principal, importe las diagram.pdf
imágenes PNG, JPG y PDF con formato \includegraphics
. Compile el archivo de entrada principal con pdflatex
.
Respuesta2
Puede reemplazar los soportes de texto temporales cuando utilicepdfLatex
. Vea por ejemplo esta pregunta:Chemnum/PS-Frag con archivos EPS y archivos PNG
Por lo que recuerdo, chemscheme
y chemnum
hago - en principio - lo mismo cuando se trata de numeración de compuestos en el texto y en esquemas o figuras, por lo que lo dicho en la pregunta mencionada anteriormente, también debería aplicarse en su caso.
Lo he estado usando pdfLatex
durante algún tiempo con figuras eps y png y funciona bien, si no cambias drásticamente el tamaño de fuente.
Aquí tengo el MWE del enlace anterior, que, sin embargo, usa chemnum
en su lugar:
\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}