pdflatexを使用したeps図
On 2月 14, 2021 by adminこのサイトでの最近のディスカッションで、
\usepackage[pdf]{pstricks}
は、eps
およびpstricks
ファイルを含むファイルでpdflatex
を実行できるようにします(およびpsfrag
の使用法も)。ここで、いくつか質問があります。
-
ファイルに
pstricks
が含まれていない場合は、eps
およびpsfrag
の場合、このメソッドは引き続き使用できます。しかし、pstricks
をロードする必要のないこれを行う方法はありますか?auto-pst-pdf
が1つのアプローチであり、別のアプローチがepstopdf
をロードすることであることを知っていますが、これらのファイルをロードせずにこれを実現する他の方法はありますか?たぶん、graphicx
にオプションを追加することによって? -
これらすべてのアプローチでは、毎回
pdflatex
はすべてのeps
で実行され、pstricks
ファイルはpdf
ファイルに変換されます。それらが変更されていない場合。それを防ぎ、ファイルが最後のコンパイルから変更された場合にのみpdf
に変換するアプローチはありますか?
ありがとう
コメント
- 2つのサブ質問は実際に関連していますか?そうでない場合は、それらを分離することが理にかなっている可能性があります。
- epstopdfはpsfragを処理できないことを追加する必要があります。 auto-pst-pdfと\ usepackage [pdf] {pstricks}はどちらもpsfragを問題なく処理します。
回答
TeX Live 2010および2011は、EPSファイルを自動的にPDFに変換しますが、EPSファイルが変更されていない場合でも、変換を継続しているようです。ハーバートの提案に基づいて、これでうまくいくはずです。他のディストリビューションでも動作する可能性がありますが、試したことはありません。
\documentclass{article} \usepackage{graphicx} \usepackage{epstopdf} \epstopdfsetup{update} % only regenerate pdf files when eps file is newer \begin{document} \includegraphics[width=\textwidth]{sine} % loads sine-eps-converted-to.pdf \end{document}
コメント
- 私のシステムでは、epsファイルを変更しないと変換が続行されません… epstopdf.cfgの違いかもしれませんか?
- たぶん。明示的な変更なしでWindowsにストックTeXLive2011をインストールしたと思いました。 epstopdf.cfgに変更しますが、別のOSでは状況が異なる場合があります。または、自動更新やepstopdf.cfgの性質について間違っている可能性があります。
- aha … Windowsではタイムスタンプに問題があります…申し訳ありませんが、チェックするWindowsボックスがありません
回答
-
最新のシステムでは、
\includegraphics{foo}
内のfoo.eps
ファイルが存在する場合は自動的にpdflatex
の実行中。 -
この変換は1回だけ行われるため、
foo.pdf
は次の実行のために残されています。 ureps
ファイル、再生成されます。
次の例を検討してください:
\documentclass{article} \usepackage{graphicx} \begin{document} \includegraphics{tmp1} \end{document}
実行したとき、ファイルtmp1.eps
がありましたが、tmp1.png
またはtmp1.pdf
は私の作業ディレクトリにあります。ログには次のように書かれています。
(/usr/local/texlive/2011/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv e )) Package epstopdf Info: Source file: <tmp1.eps> (epstopdf) date: 2011-12-12 13:41:25 (epstopdf) size: 15351 bytes (epstopdf) Output file: <tmp1-eps-converted-to.pdf> (epstopdf) Command: <repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps> (epstopdf) \includegraphics on input line 4. runsystem(repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps)...executed sa fely (allowed). Package epstopdf Info: Result file: <tmp1-eps-converted-to.pdf> (epstopdf) date: 2011-12-16 14:36:28 (epstopdf) size: 7774 bytes. <tmp1-eps-converted-to.pdf, id=1, 346.00266pt x 37.00826pt> File: tmp1-eps-converted-to.pdf Graphic file (type pdf) <use tmp1-eps-converted-to.pdf> Package pdftex.def Info: tmp1-eps-converted-to.pdf used on input line 4. (pdftex.def) Requested size: 346.0018pt x 37.00815pt.
ご覧のとおり、ファイルは変換されました。次に、pdflatex
を再度実行しました:
Package epstopdf Info: Source file: <tmp1.eps> (epstopdf) date: 2011-12-12 13:41:25 (epstopdf) size: 15351 bytes (epstopdf) Output file: <tmp1-eps-converted-to.pdf> (epstopdf) date: 2011-12-16 14:36:28 (epstopdf) size: 7774 bytes (epstopdf) Command: <repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps> (epstopdf) \includegraphics on input line 4. Package epstopdf Info: Output file is already uptodate. <tmp1-eps-converted-to.pdf, id=1, 346.00266pt x 37.00826pt> File: tmp1-eps-converted-to.pdf Graphic file (type pdf)
ご覧のとおり、変換は行われませんでした。
次に、tmp1.eps
を変更して、 `pdflatexを再度実行します。そして、ログには次のように書かれています。
(/usr/local/texlive/2011/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv e )) Package epstopdf Info: Source file: <tmp1.eps> (epstopdf) date: 2011-12-16 14:40:16 (epstopdf) size: 620519 bytes (epstopdf) Output file: <tmp1-eps-converted-to.pdf> (epstopdf) date: 2011-12-16 14:36:28 (epstopdf) size: 7774 bytes (epstopdf) Command: <repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps> (epstopdf) \includegraphics on input line 4. runsystem(repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps)...executed sa fely (allowed). Package epstopdf Info: Result file: <tmp1-eps-converted-to.pdf> (epstopdf) date: 2011-12-16 14:40:21 (epstopdf) size: 19423 bytes. <tmp1-eps-converted-to.pdf, id=1, 241.90375pt x 188.705pt> File: tmp1-eps-converted-to.pdf Graphic file (type pdf) <use tmp1-eps-converted-to.pdf> Package pdftex.def Info: tmp1-eps-converted-to.pdf used on input line 4. (pdftex.def) Requested size: 241.90315pt x 188.70453pt.
ご覧のとおり、今ファイルが再生成されました!
コメント
- このアプローチは私には機能しません(Miktex 2.9、定期的に更新されます)。エラーメッセージが表示されます:! LaTeXエラー:ファイル `tmp1 'が見つかりません。説明については、LaTeXマニュアルまたはLaTeXコンパニオンを参照してください。 H < return >と入力すると、すぐにサポートが受けられます。 … l.4 \ includegraphics {tmp1}?
- TeXLive forWindowsを試すことを検討してください… @ Mike-renfroが言うように、WindowsTLで動作します
- MiKTeXと
epstopdf
については、私の回答も参照してください: TexnicCenterを使用したLaTeXドキュメントにPDF図を含める。 -
texlive-font-utils
をインストールする必要があることに注意してください。そうしないと、epsグラフィックを含めることが失敗します(情報のないエラーメッセージが表示されます)。 この回答を参照してください。 - @oulenzもちろんです。完全なTeXLiveまたは同等のインストールを想定しました
回答
最初の質問について:package epstopdf
は、eps画像を使用する場合に適しています。
2番目の質問について:画像を作成しないか、すべて作成する可能性しかありません。
コメント
- 2番目の質問であなたが間違っているのではないかと思います:(同じことを考えてから、テストを実行します。epstopdfは非常に賢いです:)
- 参照していました
pst-pdf
の2番目の部分。 - 申し訳ありませんが、誤解しました…
- epstopdfの問題は、psfragフラグメントを処理できないことです。
- @Per
auto-pst-pdf
できます…
コメントを残す