Нужна компиляция Latex только для некоторых файлов eps, остальные нужны в виде предварительно скомпилированных файлов pdf или png

Нужна компиляция Latex только для некоторых файлов eps, остальные нужны в виде предварительно скомпилированных файлов pdf или png

Я использую chemschemeпакет, и для того, чтобы заменить нумерацию в схемах, которые есть в моем документе, мне нужно скомпилировать эти файлы eps с помощью latex, затем dvips и, наконец, ps2pdf.

Однако у меня очень большое количество изображений (более 100, и их будет только больше), которые вполне можно использовать в качестве png, в котором они находятся, или в виде предварительно скомпилированного pdf-файла. Поскольку мне нужна компиляция latex дляchemscheme , все эти изображения png или pdf должны быть в формате eps, и это добавляет целых 2-3 минуты ко времени компиляции.

Есть ли решение для такой ситуации?

Я прочитал здесь некоторые решения о таких пакетах, как standaloneиexternalize но признаюсь, что не совсем понимаю, как применять эти решения и применимы ли они вообще в этой ситуации.

Я подумал, что стоит добавить, что без этих дополнительных изображений мой файл latex компилируется примерно за 30 секунд, а с изображениями время компиляции составляет почти 4 минуты :(

Вот пример того, как chemschemeработает пакет (он включен как часть пакета chemstyle. Файл "reaction.eps" можно загрузить по следующей ссылке. ZIP-файл также включает то, как выглядит png, если вы предварительно скомпилируете его просто так (те теги TMP заменяются в процессе конвертации). Команды нумерации \CNlabelи \CNlabelsubразбросаны по всему документу, и они увеличивают счетчики, связанные с составной нумерацией, которая используется при замене тегов TMPв изображениях. Однако только несколько моих изображений используют эти теги tmp и требуют этой определенной компиляции. Остальные не включены TMPи могут быть скомпилированы извне без проблем. Чтобы получить правильную нумерацию, latexнеобходимо запустить дважды, перед вызовомdvips .

Файлы eps и 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}

Обновление, возможное решение, но не совсем законченное

Из ответа Garbage Collector мне это пришло в голову. Я могу предоставить готовый список всех соединений в документе с помощью команды \CNlabelnorefи \CNlabelsubnoref. Я сделал это, и ниже приведен MWE с использованием автономного пакета. Однако теперь я получаю ошибку, целый список ошибок, начиная со строки \begin{figure}, первая из которых —

Ошибка LaTeX: Что-то не так — возможно, отсутствует \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}

решение1

Скомпилируйте каждый из diagram.texфайлов, чтобы latex-dvips-pspdfполучить diagram.pdf.

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

Из вашего основного входного файла импортируйте diagram.pdfи другие изображения PNG, JPG, PDF с помощью \includegraphics. Скомпилируйте основной входной файл с помощью pdflatex.

решение2

Вы можете заменить временные текстодержатели при использованииpdfLatex . См., например, этот вопрос:Chemnum/PS-Frag с EPS-файлами и PNG-файлами

Насколько я помню, chemschemeи chemnumделаю - в принципе - то же самое, когда дело касается нумерации соединений в тексте и на схемах или рисунках, поэтому то, что было сказано в вопросе, упомянутом выше, должно применяться и в вашем случае.

Я уже некоторое время работаю pdfLatexс рисунками в форматах eps и png, и все работает отлично, если не менять размер шрифта кардинально.

Вот MWE по ссылке выше, который, однако, использует chemnumвместо этого:

\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}

Связанный контент