一部の EPS ファイルのみ Latex コンパイルが必要で、残りはプリコンパイルされた PDF または PNG として保存したい

一部の EPS ファイルのみ Latex コンパイルが必要で、残りはプリコンパイルされた PDF または PNG として保存したい

私はchemschemeパッケージを使用しており、ドキュメント内のこれらのスキームの番号付けを置き換えるには、それらの eps ファイルを latex でコンパイルし、次に dvips でコンパイルし、最後に ps2pdf でコンパイルする必要があります。

しかし、私は非常に多くの画像(100 枚以上、そして増え続ける一方)を所有しており、それらはそのままの png ファイル、またはプリコンパイルされた pdf ファイルとして使用してもまったく問題ありません。chemscheme番号付けには LaTeX コンパイルが必要なので、これらの png または pdf 画像はすべて eps 形式にする必要があり、コンパイル時間は 2 ~ 3 分も長くなります。

このような状況に対する解決策はあるでしょうか?

ここで、 や などのパッケージに関するいくつかのソリューションを読みましたがstandaloneexternalizeそれらのソリューションをどのように適用するか、あるいはこの状況に適用されるかどうかも完全には理解していないことを認めます。

これらの追加画像がなければ、LaTeX ファイルは約 30 秒でコンパイルされますが、画像を追加するとコンパイル時間はほぼ 4 分になります :(

パッケージの動作例を以下に示しますchemscheme(パッケージの一部として含まれています) chemstyle。ファイル "reaction.eps" は、次のリンクからダウンロードできます。zip ファイルには、png を単独でプリコンパイルした場合の外観も含まれています (これらの TMP タグは、変換プロセス中に置き換えられます)。番号付けコマンド\CNlabelとが\CNlabelsubドキュメント全体に散りばめられており、画像内のタグの置き換えに使用される複合番号付けに関連するカウンタを増分しますTMP。ただし、これらの tmp タグを使用し、この特定のコンパイルを必要とする画像は、私の画像のうちほんの一握りだけです。残りはTMP含まれておらず、問題なく外部でコンパイルできます。正しい番号付けを行うには、latexを呼び出す前に、を 2 回実行する必要があります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}

更新、可能な解決策だが、まだ完了していない

\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。たとえば、次の質問を参照してください。EPS ファイルと PNG ファイルを含む Chemnum/PS フラグ

私が覚えていること、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}

関連情報