latexにおけるepsファイルの取り扱い

latexにおけるepsファイルの取り扱い

- 蒲公英 太郎 の投稿
返信数: 6
以下のようなeps拡張子(apple.eps)を含むTeXファイル(test.tex)を作成し、cmdより
platex test.tex
platex test.tex
dvipdfmx test.dvi

を実行したところ以下の図のように出力され、PDFファイルを開こうとすると正しく読み込めないという状況です。

platexで作成したtest.dviをエクスプローラからダブルクリックして「TeX previewer/printer_driver for windows」から開き、「File」->「Print」->「OK」から名前を付けて保存すると画像は白黒ではありますが、PDFファイルが開ける形で保存されます。

これはコマンドプロンプトでdvipdfmxを実行するときに何かオプションが必要であるとか、そういう事でしょうか?若しくはGhostscriptなどの方に問題があるのでしょうか。


<これまでに試したこと>
最初はepsの画像を入れる部分が空白になった状態でpdfが作成されたので、色々と調べてGhostscriptをインストールし(C:\gs\gs9.52\bin)と(C:\gs\gs9.52\lib)にPathを通しました。
続いて、gsviewをインストールしました。(C:\gs\Ghostgum\gsview)
gsviewの「Option」から「Safer」のチェックを外し、「Option」->「Advanced Configure」->「Ghostscript Options:」に「-dSAFER」を追記しました。
(C:\w32tex\dviout\dviout.exe)->「Option」->「Setup parameters...」->「Graphic」->「gxs」を「C:\gs\gs9.52\bin\gswin32c.exe -dDELAYSAFER」に設定
ここまでやってからPCを再起動し上記のように実行したところPDFが正常に出力されなかった。という経緯です。

実行環境
Windows 10
w32tex
Ghostscript 9.52
gsview
Strawberry

Texの中身
\documentclass[12pt,a4j,dvipdfmx]{jarticle}

\usepackage[textwidth=45zw,lines=40]{geometry}
\usepackage{amsthm}
\usepackage{multicol}
\usepackage{tabularx}
\usepackage{graphics}
\usepackage{graphicx}
\usepackage{cases}
\usepackage[usenames]{color}
\usepackage[dvipsnames]{xcolor}

\title{レポート}
\author{氏名}
\date{20XX年YY月ZZ日 提出}

\begin{document}
\maketitle

\section{問1-1}
\begin{figure}[hb]
\begin{center}
\includegraphics[width=0.8\hsize]{apple.eps}
\caption{apple}
\label{fig:1}
\end{center}
\end{figure}
\end{document}



cmd実行時(複数のディレクトリの部分には実際は複数のディレクトリが入っています)
C:\複数のディレクトリ>platex test.tex
This is e-pTeX, Version 3.14159265-p3.8.3-191112-2.6 (utf8.sjis) (TeX Live 2020/W32TeX) (preloaded format=platex)
restricted \write18 enabled.
entering extended mode
(./test.tex(guessed encoding: UTF-8 = utf8)
pLaTeX2e <2020-04-12> (based on LaTeX2e <2020-02-02> patch level 5)
L3 programming layer <2020-05-15>
(c:/w32tex/share/texmf-dist/tex/platex/base/jarticle.cls(guessed encoding: ISO-2022-JP = jis)
Document Class: jarticle 2020/01/03 v1.8e Standard pLaTeX class
(c:/w32tex/share/texmf-dist/tex/platex/base/jsize12.clo))
(c:/w32tex/share/texmf-dist/tex/latex/geometry/geometry.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics/keyval.sty)
(c:/w32tex/share/texmf-dist/tex/generic/iftex/ifvtex.sty
(c:/w32tex/share/texmf-dist/tex/generic/iftex/iftex.sty))
(c:/w32tex/share/texmf-dist/tex/latex/geometry/geometry.cfg)

Package geometry Warning: \topskip was changed from 9.33105pt to 11.54994pt.

) (c:/w32tex/share/texmf-dist/tex/latex/amscls/amsthm.sty)
(c:/w32tex/share/texmf-dist/tex/latex/tools/multicol.sty)
(c:/w32tex/share/texmf-dist/tex/latex/tools/tabularx.sty
(c:/w32tex/share/texmf-dist/tex/latex/tools/array.sty))
(c:/w32tex/share/texmf-dist/tex/latex/graphics/graphics.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics/trig.sty)
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics-def/dvipdfmx.def))
(c:/w32tex/share/texmf-dist/tex/latex/graphics/graphicx.sty)
(c:/w32tex/share/texmf-dist/tex/latex/cases/cases.sty)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/color.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/dvipsnam.def))
(c:/w32tex/share/texmf-dist/tex/latex/xcolor/xcolor.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/dvipsnam.def)) (./lstlisting.tex
(guessed encoding: UTF-8 = utf8) (c:/w32tex/share/texmf-dist/tex/latex/listings/listings.sty
(c:/w32tex/share/texmf-dist/tex/latex/listings/lstmisc.sty)
(c:/w32tex/share/texmf-dist/tex/latex/listings/listings.cfg)) (./jlisting.sty(guessed encoding: ISO-2022-JP = jis)))
(c:/w32tex/share/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def)
(./test.aux(guessed encoding: UTF-8 = utf8))
*geometry* detected driver: dvipdfm
[1] [2] (./test.aux(guessed encoding: UTF-8 = utf8)) )
Output written on test.dvi (2 pages, 1208 bytes).
Transcript written on test.log.

C:\複数のディレクトリ>dvipdfmx test.dvi
test.dvi -> test.pdf
[1][2GPL Ghostscript 9.52: **** Could not open the file C:/Users/???r?p~1/AppData/Local/Temp/dvipdfm-x.74bdfcc65a9519a7433e601b7e82a15a .
**** Unable to open the initial device, quitting.

dvipdfmx:warning: Filtering file via command -->rungs -q -dDELAYSAFER -dNOPAUSE -dBATCH -dEPSCrop -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dAutoRotatePages=/None -dUseFlateCompression=true -sOutputFile='C:/Users/���r�p~1/AppData/Local/Temp/dvipdfm-x.74bdfcc65a9519a7433e601b7e82a15a' './apple.eps' -c quit<-- failed.
dvipdfmx:warning: Image format conversion for "./apple.eps" failed...
dvipdfmx:fatal: pdf_ref_obj(): passed invalid object.

No output PDF file written.


蒲公英 太郎 への返信

Re: latexにおけるepsファイルの取り扱い

- 和田 勇 の投稿
ユーザ名が日本語など Non-Ascii な場合は、dvipdfmx を実施する前に以下のようにして見て下さい。

set TEMP=C:\tmp
set TMP=C:\tmp

或いは ptex2pdf というコマンドが実行できれば

ptex2pdf -l test.tex

いずれにしても、「dvipdfmx 日本語ユーザ名 eps」などで検索してみて下さい。
和田 勇 への返信

Re: latexにおけるepsファイルの取り扱い

- 蒲公英 太郎 の投稿
有難う御座います。

ptex2pdf及び「ptex2pdf -l test.tex」をcmdで実行した結果が以下の通りです。

C:\複数のディレクトリ>ptex2pdf
[texlua] ptex2pdf[.lua] { option | basename[.tex] } ...
options: -v version
-h help
-help print full help (installation, TeXworks setup)
-e use eptex class of programs
-u use uptex class of programs
-l use latex based formats
-ld use latex-dev based formats
-s stop at dvi
-i retain intermediate files
-ot '<opts>' extra options for TeX
-od '<opts>' extra options for dvipdfmx
-output-directory '<dir>' directory for created files

C:\複数のディレクトリ>ptex2pdf -l test.tex
This is ptex2pdf[.lua] version 20200307.0.
Processing test.tex
This is e-pTeX, Version 3.14159265-p3.8.3-191112-2.6 (utf8.sjis) (TeX Live 2020/W32TeX) (preloaded format=platex)
restricted \write18 enabled.
entering extended mode
(./test.tex(guessed encoding: UTF-8 = utf8)
pLaTeX2e <2020-04-12> (based on LaTeX2e <2020-02-02> patch level 5)
L3 programming layer <2020-05-15>
(c:/w32tex/share/texmf-dist/tex/platex/base/jarticle.cls(guessed encoding: ISO-2022-JP = jis)
Document Class: jarticle 2020/01/03 v1.8e Standard pLaTeX class
(c:/w32tex/share/texmf-dist/tex/platex/base/jsize12.clo))
(c:/w32tex/share/texmf-dist/tex/latex/geometry/geometry.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics/keyval.sty)
(c:/w32tex/share/texmf-dist/tex/generic/iftex/ifvtex.sty
(c:/w32tex/share/texmf-dist/tex/generic/iftex/iftex.sty))
(c:/w32tex/share/texmf-dist/tex/latex/geometry/geometry.cfg)

Package geometry Warning: \topskip was changed from 9.33105pt to 11.54994pt.

) (c:/w32tex/share/texmf-dist/tex/latex/amscls/amsthm.sty)
(c:/w32tex/share/texmf-dist/tex/latex/tools/multicol.sty)
(c:/w32tex/share/texmf-dist/tex/latex/tools/tabularx.sty
(c:/w32tex/share/texmf-dist/tex/latex/tools/array.sty))
(c:/w32tex/share/texmf-dist/tex/latex/graphics/graphics.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics/trig.sty)
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics-def/dvipdfmx.def))
(c:/w32tex/share/texmf-dist/tex/latex/graphics/graphicx.sty)
(c:/w32tex/share/texmf-dist/tex/latex/cases/cases.sty)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/color.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/dvipsnam.def))
(c:/w32tex/share/texmf-dist/tex/latex/xcolor/xcolor.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/dvipsnam.def))
(c:/w32tex/share/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def)
(./test.aux(guessed encoding: UTF-8 = utf8))
*geometry* detected driver: dvipdfm
[1] [2] (./test.aux(guessed encoding: UTF-8 = utf8)) )
Output written on test.dvi (2 pages, 1208 bytes).
Transcript written on test.log.
test.dvi -> test.pdf
[1][2GPL Ghostscript 9.52: **** Could not open temporary file ''
**** Unable to open the initial device, quitting.

dvipdfmx:warning: Filtering file via command -->rungs -q -dDELAYSAFER -dNOPAUSE -dBATCH -dEPSCrop -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dAutoRotatePages=/None -dUseFlateCompression=true -sOutputFile='C:/tmp/dvipdfm-x.74bdfcc65a9519a7433e601b7e82a15a' './apple.eps' -c quit<-- failed.
dvipdfmx:warning: Image format conversion for "./apple.eps" failed...
dvipdfmx:fatal: pdf_ref_obj(): passed invalid object.

No output PDF file written.
ptex2pdf processing of test.tex failed.

また、仰る通り「複数のディレクトリ」の部分には日本語でのディレクトリ名を使用している為、
C:---test
|--test.tex
|--apple.eps
という構造のディレクトリを作成し、以下の通り実行しました。

C:\test>platex test
This is e-pTeX, Version 3.14159265-p3.8.3-191112-2.6 (utf8.sjis) (TeX Live 2020/W32TeX) (preloaded format=platex)
restricted \write18 enabled.
entering extended mode
(./test.tex(guessed encoding: UTF-8 = utf8)
pLaTeX2e <2020-04-12> (based on LaTeX2e <2020-02-02> patch level 5)
L3 programming layer <2020-05-15>
(c:/w32tex/share/texmf-dist/tex/platex/base/jarticle.cls(guessed encoding: ISO-2022-JP = jis)
Document Class: jarticle 2020/01/03 v1.8e Standard pLaTeX class
(c:/w32tex/share/texmf-dist/tex/platex/base/jsize12.clo))
(c:/w32tex/share/texmf-dist/tex/latex/geometry/geometry.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics/keyval.sty)
(c:/w32tex/share/texmf-dist/tex/generic/iftex/ifvtex.sty
(c:/w32tex/share/texmf-dist/tex/generic/iftex/iftex.sty))
(c:/w32tex/share/texmf-dist/tex/latex/geometry/geometry.cfg)

Package geometry Warning: \topskip was changed from 9.33105pt to 11.54994pt.

) (c:/w32tex/share/texmf-dist/tex/latex/amscls/amsthm.sty)
(c:/w32tex/share/texmf-dist/tex/latex/tools/multicol.sty)
(c:/w32tex/share/texmf-dist/tex/latex/tools/tabularx.sty
(c:/w32tex/share/texmf-dist/tex/latex/tools/array.sty))
(c:/w32tex/share/texmf-dist/tex/latex/graphics/graphics.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics/trig.sty)
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics-def/dvipdfmx.def))
(c:/w32tex/share/texmf-dist/tex/latex/graphics/graphicx.sty)
(c:/w32tex/share/texmf-dist/tex/latex/cases/cases.sty)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/color.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/dvipsnam.def))
(c:/w32tex/share/texmf-dist/tex/latex/xcolor/xcolor.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/dvipsnam.def))
(c:/w32tex/share/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def)
(./test.aux(guessed encoding: UTF-8 = utf8))
*geometry* detected driver: dvipdfm
[1] [2] (./test.aux(guessed encoding: UTF-8 = utf8)) )
Output written on test.dvi (2 pages, 1208 bytes).
Transcript written on test.log.

C:\test>dvipdfmx test
test -> test.pdf
[1][2GPL Ghostscript 9.52: **** Could not open temporary file ''
**** Unable to open the initial device, quitting.

dvipdfmx:warning: Filtering file via command -->rungs -q -dDELAYSAFER -dNOPAUSE -dBATCH -dEPSCrop -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dAutoRotatePages=/None -dUseFlateCompression=true -sOutputFile='C:/tmp/dvipdfm-x.162f8a44f7286763009ec95222eae6c0' './apple.eps' -c quit<-- failed.
dvipdfmx:warning: Image format conversion for "./apple.eps" failed...
dvipdfmx:fatal: pdf_ref_obj(): passed invalid object.

No output PDF file written.



これまで同様PDFファイルは開けませんでした。
また、

ptex2pdf -l test.tex

についても


C:\test>ptex2pdf -l test.tex
This is ptex2pdf[.lua] version 20200307.0.
Processing test.tex
This is e-pTeX, Version 3.14159265-p3.8.3-191112-2.6 (utf8.sjis) (TeX Live 2020/W32TeX) (preloaded format=platex)
restricted \write18 enabled.
entering extended mode
(./test.tex(guessed encoding: UTF-8 = utf8)
pLaTeX2e <2020-04-12> (based on LaTeX2e <2020-02-02> patch level 5)
L3 programming layer <2020-05-15>
(c:/w32tex/share/texmf-dist/tex/platex/base/jarticle.cls(guessed encoding: ISO-2022-JP = jis)
Document Class: jarticle 2020/01/03 v1.8e Standard pLaTeX class
(c:/w32tex/share/texmf-dist/tex/platex/base/jsize12.clo))
(c:/w32tex/share/texmf-dist/tex/latex/geometry/geometry.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics/keyval.sty)
(c:/w32tex/share/texmf-dist/tex/generic/iftex/ifvtex.sty
(c:/w32tex/share/texmf-dist/tex/generic/iftex/iftex.sty))
(c:/w32tex/share/texmf-dist/tex/latex/geometry/geometry.cfg)

Package geometry Warning: \topskip was changed from 9.33105pt to 11.54994pt.

) (c:/w32tex/share/texmf-dist/tex/latex/amscls/amsthm.sty)
(c:/w32tex/share/texmf-dist/tex/latex/tools/multicol.sty)
(c:/w32tex/share/texmf-dist/tex/latex/tools/tabularx.sty
(c:/w32tex/share/texmf-dist/tex/latex/tools/array.sty))
(c:/w32tex/share/texmf-dist/tex/latex/graphics/graphics.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics/trig.sty)
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics-def/dvipdfmx.def))
(c:/w32tex/share/texmf-dist/tex/latex/graphics/graphicx.sty)
(c:/w32tex/share/texmf-dist/tex/latex/cases/cases.sty)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/color.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/dvipsnam.def))
(c:/w32tex/share/texmf-dist/tex/latex/xcolor/xcolor.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/dvipsnam.def))
(c:/w32tex/share/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def)
(./test.aux(guessed encoding: UTF-8 = utf8))
*geometry* detected driver: dvipdfm
[1] [2] (./test.aux(guessed encoding: UTF-8 = utf8)) )
Output written on test.dvi (2 pages, 1208 bytes).
Transcript written on test.log.
test.dvi -> test.pdf
[1][2GPL Ghostscript 9.52: **** Could not open temporary file ''
**** Unable to open the initial device, quitting.

dvipdfmx:warning: Filtering file via command -->rungs -q -dDELAYSAFER -dNOPAUSE -dBATCH -dEPSCrop -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dAutoRotatePages=/None -dUseFlateCompression=true -sOutputFile='C:/tmp/dvipdfm-x.162f8a44f7286763009ec95222eae6c0' './apple.eps' -c quit<-- failed.
dvipdfmx:warning: Image format conversion for "./apple.eps" failed...
dvipdfmx:fatal: pdf_ref_obj(): passed invalid object.

No output PDF file written.
ptex2pdf processing of test.tex failed.

と、なりました。

蒲公英 太郎 への返信

Re: latexにおけるepsファイルの取り扱い

- 和田 勇 の投稿
申し訳ない、dvipdfmx する前に添付を作成しておく指示を忘れた。

mkdir %TEMP%

この操作は、今回限りで良いですが、TEMP TMP は、コマンドプロンプトのセッションを開く都度行う必要があります。或いは、環境変数を設定することで対処できるかと思います。

◆お願い

長い行を提示するような場合は、ファイルに出力して、添付ファイルでアップロードしていただけると助かります。
当フォーラムの添付ファイルは一投稿一ファイルなので、複数の時は、アーカイブしてまとめてくださって結構です。
和田 勇 への返信

Re: latexにおけるepsファイルの取り扱い

- 蒲公英 太郎 の投稿
毎度長い行で提示してしまい申し訳ありませんでした。

仰る通り実行してみましたが、この手順で合っていましたでしょうか。
蒲公英 太郎 への返信

Re: latexにおけるepsファイルの取り扱い

- 和田 勇 の投稿
できれば、私の回答だけでなく、インターネット検索した情報も参考にして欲しいのですが、ちょっと端折りすぎたようです。或いは mkdir C:\tmp と指示すればよかったかもしれません。反省しています。

さて今回の指示の中にある TEMP TMP という 環境変数 は dvipdfmx で eps ファイルを pdf に一時的に変換するために作業用ディレクトリのありかを示すものです。

しかし、日本語などのNon-ascii なユーザ名で操作すると、これらのデフォルトの C:\Users\ユーザー名~1\AppData\Local\Temp であるため、「このファイルパスを正しく理解できない」事によるのが、今回の障害の原因。

ですので mkdir %TEMP% とした場合、TEMP が設定されているのが前提ですから

set TEMP=C:\tmp
set TMP=C:\tmp
mkdir %TEMP%

それから、今回は pdf が作成できないだけでしたが、初めての操作による「警告メッセージ」はあまり無視しないようにして下さい。

  サブディレクトリまたはファイル C:\Users\ユーザー名~1\AppData\Local\Temp は既に存在します。

というのを無視して、作業を進めてはダメです。
和田 勇 への返信

Re: latexにおけるepsファイルの取り扱い

- 蒲公英 太郎 の投稿
丁寧に御解答頂き有難う御座います。
仰る通りにCドライブ直下のtempファイルにパスを通したところ画像付きのpdfファイルが正しく生成されました。有難う御座いました。