お世話になります.
VSC+LatexWorkshopにて環境構築しているのですが
コンパイルしたPDF内のEPSが表示されない問題が起きています
環境はWindows 11
TexはTexLive2022にてインストール
Ghost script 9.52+Gsview 5.0 共に 64bit
で構築しています.
他のPCでは全く同じ構成で正常にEPSが挿入されるのですが
新しくインストールしたPCのみ表示されません.
なお,TexWorksにてコンパイルを行うとepsの図が正常に表示されます.
以下VSCにてコンパイル時のログです.
=== TeX engine is 'e-pTeX'
Latexmk: applying rule 'dvipdf'...
For rule 'dvipdf', running '&do_viewfile( )' ...
test.dvi -> test.pdf
[1
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/○○○○/AppData/Local/Temp/dvipdfm-x.0e43989b8cf3d85cab66746a260d5b66' './fig/robo_abst.eps' -c quit<-- failed.
dvipdfmx:warning: Image format conversion for "./fig/robo_abst.eps" failed...
dvipdfmx:warning: pdf: image inclusion failed for "./fig/robo_abst.eps".
dvipdfmx:warning: Failed to read image file: ./fig/robo_abst.eps
dvipdfmx:warning: Interpreting special command PSfile (ps:) failed.
dvipdfmx:warning: >> at page="1" position="(318.898, 328.423)" (in PDF)
dvipdfmx:warning: >> xxx "PSfile="./fig/robo_abst.eps" llx=0 lly=0 urx=267 ury=279 rwi=22"
][2]
27050 bytes written
Latexmk: Summary of warnings from last run of (pdf)latex:
Latex failed to resolve 3 reference(s)
Latexmk: All targets (test.dvi test.pdf) are up-to-date
状況から想定すること
報告いただいた内容から以下の想定で回答します。
texlive | gs | gsview | texworks | vscode | |
良好なパソコン | 2022? | 9.53(64bits) | 5.0(64bits) | OK | OK |
不具合パソコン | 2022? | 9.53(64bits) | 5.0(64bits) | OK | NG |
調査項目について
texlive gs などはどうやら同じなので、環境変数 PATH は同一と想定します。
残りはユーザ設定を行なった texworks vscode の設定を確認するのが王道だと思います。
今回は vscode に問題があるようなので、「良好なパソコン」の vscode の settings.json を 見比べてみてはいかがでしょうか?
不明であれば
settings.json を添付ファイルでアップロードしてください。
返信ありがとうございます.
良好なパソコンの json と .latexmk をコピペして使ってはいるのですが
やはり,疑わしいのは vscode側ですよね.
ご指摘にあったsetting.jsonを以下に記載します.
{
// ---------- Language ----------
"[tex]": {
// スニペット補完中にも補完を使えるようにする
"editor.suggest.snippetsPreventQuickSuggestions": false,
// インデント幅を2にする
"editor.tabSize": 2
},
"[latex]": {
// スニペット補完中にも補完を使えるようにする
"editor.suggest.snippetsPreventQuickSuggestions": false,
// インデント幅を2にする
"editor.tabSize": 2
},
"[bibtex]": {
// インデント幅を2にする
"editor.tabSize": 2
},
// ---------- LaTeX Workshop ----------
// 使用パッケージのコマンドや環境の補完を有効にする
"latex-workshop.intellisense.package.enabled": true,
// 生成ファイルを削除するときに対象とするファイル
// デフォルト値に "*.synctex.gz" を追加
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.blg",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk",
"*.snm",
"*.nav",
"*.dvi",
"*.synctex.gz"
],
// 生成ファイルを "out" ディレクトリに吐き出す
"latex-workshop.latex.outDir": "",
// ビルドのレシピ
"latex-workshop.latex.recipes": [
{
"name": "latexmk",
"tools": [
"latexmk"
]
},
],
// ビルドのレシピに使われるパーツ
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-outdir=%OUTDIR%",
"%DOC%"
],
},
],
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.latex.autoBuild.run": "onSave",
"latex-workshop.view.pdf.external.viewer.command": "C:\\Users\\〇〇〇\\AppData\\Local\\SumatraPDF\\SumatraPDF.exe",
"latex-workshop.view.pdf.external.synctex.command": "C:\\Users\\〇〇〇\\AppData\\Local\\SumatraPDF\\SumatraPDF.exe",
"latex-workshop.view.pdf.external.synctex.args": [
"-forward-search",
"%LINE%",
"%TEX%",
"-reuse-instance",
"-inverse-search",
"code -r -g \"%f:%l\"",
"%PDF%"
],
"files.autoGuessEncoding": true,
"editor.fontSize": 16,
"editor.accessibilitySupport": "on",
"editor.minimap.enabled": false,
}
良好なパソコンの json と .latexmk をコピペして使ってはいるのですが
やはり,疑わしいのは vscode側ですよね.
ご指摘にあったsetting.jsonを以下に記載します.
{
// ---------- Language ----------
"[tex]": {
// スニペット補完中にも補完を使えるようにする
"editor.suggest.snippetsPreventQuickSuggestions": false,
// インデント幅を2にする
"editor.tabSize": 2
},
"[latex]": {
// スニペット補完中にも補完を使えるようにする
"editor.suggest.snippetsPreventQuickSuggestions": false,
// インデント幅を2にする
"editor.tabSize": 2
},
"[bibtex]": {
// インデント幅を2にする
"editor.tabSize": 2
},
// ---------- LaTeX Workshop ----------
// 使用パッケージのコマンドや環境の補完を有効にする
"latex-workshop.intellisense.package.enabled": true,
// 生成ファイルを削除するときに対象とするファイル
// デフォルト値に "*.synctex.gz" を追加
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.blg",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk",
"*.snm",
"*.nav",
"*.dvi",
"*.synctex.gz"
],
// 生成ファイルを "out" ディレクトリに吐き出す
"latex-workshop.latex.outDir": "",
// ビルドのレシピ
"latex-workshop.latex.recipes": [
{
"name": "latexmk",
"tools": [
"latexmk"
]
},
],
// ビルドのレシピに使われるパーツ
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-outdir=%OUTDIR%",
"%DOC%"
],
},
],
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.latex.autoBuild.run": "onSave",
"latex-workshop.view.pdf.external.viewer.command": "C:\\Users\\〇〇〇\\AppData\\Local\\SumatraPDF\\SumatraPDF.exe",
"latex-workshop.view.pdf.external.synctex.command": "C:\\Users\\〇〇〇\\AppData\\Local\\SumatraPDF\\SumatraPDF.exe",
"latex-workshop.view.pdf.external.synctex.args": [
"-forward-search",
"%LINE%",
"%TEX%",
"-reuse-instance",
"-inverse-search",
"code -r -g \"%f:%l\"",
"%PDF%"
],
"files.autoGuessEncoding": true,
"editor.fontSize": 16,
"editor.accessibilitySupport": "on",
"editor.minimap.enabled": false,
}
誠に申し訳ないのですが、一つのあるいは片方の settings.json のテキストを見て 「不具合」を示せと言われても、あれこれ検証することがおおく実験・検証が大変です。
複数のマシンでファイルの差異を知るには
片方で思い通りに動かないのであれば、両方とも同じであるという以下の証拠が欲しい。 例え、「コピー」したとしてもです。
私が二つのファイルが同じだという証拠は次のような手順で「同じ」「問題なく同じ」などの判定をします。
- チェックサムハッシュ値が同じである
- あるいは文字列が CRLF や空白・タブの差異以外は無い
- ユーザ名を含む固有名詞以外は差異なしという証拠
ですので
- 以上の情報を得る術がなければ、両方の属性がわかるように添付ファイルでアップロードしてください。
- 念の為、%USERPROFILE%\.texlive2022\\texmf-config\texworks\TUG\TeXworks.ini も同梱してください。
- つまり settings.json が2ファイル、texworks.ini が二ファイルの計四ファイルです。
了解しました。
なお、当初の質問には「dvipdfmx:warning: Interpreting special command PSfile (ps:) failed.」
の警告メッセージが出ています。
いくつも回答者側から問いただすことはしないようにしたいのですが、
早々の解決のため、私が懸念していることを述べておきます。
いずれにしても、2台のパソコンには、ちょっとした設定違いがあることは確かなようなので。
ghostscript はインストールされたとのことなのですが、念の為、正しくインストールされていルカいなか
コマンドプロンプトや、VSCODE のコンソールで「 gs 」とコマンドを叩いて、ghostscript の
バージョン情報が表示されるかとか
「 fig/robo_abst.eps 」として eps ファイルが参照できるディレクトリで、以下のことを実施されても良いかと思います。
最初の「dvipdfmx:warning: Filtering file via command -->..」で始まる警告メッセージの
rungs 以下 「<--」までを vscode のコンソールかターミナルにコピペして実行
ただし -q は取り除いてください
また「-sOutputFile='C:/Users..'」 は 「-sOutputFile='tmp.eps'」のようなテンポラリな名前で結構です。
なお、当初の質問には「dvipdfmx:warning: Interpreting special command PSfile (ps:) failed.」
の警告メッセージが出ています。
いくつも回答者側から問いただすことはしないようにしたいのですが、
早々の解決のため、私が懸念していることを述べておきます。
いずれにしても、2台のパソコンには、ちょっとした設定違いがあることは確かなようなので。
ghostscript はインストールされたとのことなのですが、念の為、正しくインストールされていルカいなか
コマンドプロンプトや、VSCODE のコンソールで「 gs 」とコマンドを叩いて、ghostscript の
バージョン情報が表示されるかとか
「 fig/robo_abst.eps 」として eps ファイルが参照できるディレクトリで、以下のことを実施されても良いかと思います。
最初の「dvipdfmx:warning: Filtering file via command -->..」で始まる警告メッセージの
rungs 以下 「<--」までを vscode のコンソールかターミナルにコピペして実行
ただし -q は取り除いてください
また「-sOutputFile='C:/Users..'」 は 「-sOutputFile='tmp.eps'」のようなテンポラリな名前で結構です。