不可解な挙動を見つけたので、質問させていただきます。私の環境は
- Windows 7 Professional (64bit)
- W32TeX [2015/07/04]
- Ghostscript 9.15 (32bit)
- Strawberry Perl 5.20.2
です。W32TeX と Ghostscript は阿部さんのインストーラの標準的なインストールに
従っています。すなわち
- W32TeX 32bit/64bit バイナリを全てダウンロードして展開
- パスは C:\w32tex\bin;C:\PROGRA~2\gs\gs9.15\bin;C:\PROGRA~2\gs\gs9.15\lib を追記
となっています(C:\w32tex\bin64 は「存在するがパスは通っていない」)。
この状態で repstopdf を実行すると、エラーが出ます。
$ repstopdf abcdef.eps
epstopdf ($Id: epstopdf.pl 36129 2015-01-24 00:30:11Z karl $) 2.23
!!! Error: Writing to rungs failed, error code 255
もちろん EPS → PDF 変換だけなら epstopdf を起動すれば良いのですが、問題は pdflatex で
epstopdf パッケージを援用して EPS を \includegraphics する場合に起こります。
\documentclass{article}
\usepackage{graphicx}
\usepackage{epstopdf}
\begin{document}
\includegraphics[width=0.5\textwidth]{abcdef.eps}
\end{document}
本来これは restricted \write18 enabled. であれば repstopdf を呼び出して
abcdef-eps-converted-to.pdf を生成し、これを取り込むと理解しています。
しかし、上で述べた環境(C:\w32tex\bin64 は「存在するがパスは通っていない」)で
実行すると類似のエラーが出ます。
[Loading MPS to PDF converter (version 2006.09.02).]
)epstopdf ($Id: epstopdf.pl 36129 2015-01-24 00:30:11Z karl $) 2.23
!!! Error: Writing to c:/w32tex/share/texmf-dist/scripts/epstopdf/../../../../bi
n64/rungs failed, error code 255
! Package pdftex.def Error: File `abcdef-eps-converted-to.pdf' not found.
See the pdftex.def package documentation for explanation.
Type H <return> for immediate help.
...
l.5 ...degraphics[width=0.5\textwidth]{abcdef.eps}
?
pdflatex の 32bit バイナリ実行中に rungs 64bit を呼び出し、しかも gswin64c を
インストールしていないが故にエラーとなっているようです。この問題は
- Ghostscript 64bit をインストールする
- bin64 フォルダを適当にリネームする
のいずれか少なくとも片方を実行すると回避されます。どうやら
「bin64 ディレクトリが存在すれば、たとえパスが通っていなくても64bit バイナリを呼ぶ」
という挙動になっているのが筋が悪い気がしています。
ちなみに関連するトピックは把握しています。
- forum:1544 の dvipdfmx の場合は repstopdf を呼ばないので今回とは無関係
- forum:1061 の説明どおり bin64 と bin にこの順にパスを通してもダメ(64bit gs が無いと無駄)
という理解です。「bin64 が存在するだけで干渉する」という挙動を改善できないでしょうか。