我希望包括從Matlab繪圖生成的eps圖像(pdf是由Matlab作為整個頁面生成的,這就是eps的原因),但是轉換失敗,留下空白的pdf圖像。訊息是:
MiKTeX GPL Ghostscript
9.25: Unrecoverable error, exit code 1
Sorry, but "MiKTeX EPS-to-PDF Converter" did not succeed. The log file hopefully contains the information to get MiKTeX going again: C:\Users\Andrey\AppData\Local\MiKTeX\2.9\miktex\log\epstopdf.log
日誌檔案的內容
2019-12-03 06:29:05,797+0100 INFO epstopdf - starting with command line: epstopdf --outfile=images/kkk-eps-converted-to.pdf images/kkk.eps
2019-12-03 06:29:06,456+0100 FATAL epstopdf - Invalid argument
2019-12-03 06:29:06,457+0100 FATAL epstopdf - Info:
2019-12-03 06:29:06,457+0100 FATAL epstopdf - Source: Libraries\MiKTeX\Core\Stream\FileStream.cpp
2019-12-03 06:29:06,457+0100 FATAL epstopdf - Line: 68
我最近安裝並更新了 Miktex 並使用 LuaLatex 進行編譯。
如果需要的話,這是 eps 的內容https://pastebin.com/1Rq86vVC
這有什麼問題嗎?我不知道該怎麼辦。
更新
首先我想用--shell-ecape
(來自TexStudio)來編譯
Process started: lualatex.exe --shell-escape -synctex=1 -interaction=nonstopmode
我嘗試了克里斯蒂安·申克的建議。命令是
mgs.exe -q -sDEVICE=pdfwrite -dSAFER -dAutoRotatePages=/None -dPDFSETTINGS=/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=images/kkk-eps-converted-to.pdf - -c quit
我嘗試在命令處理器中執行它。它創建了一個 0 位元組的 pdf 檔案並卡住了。
更新2
我執行了
epstopdf --outfile=images/kkk-eps-converted-to.pdf images/kkk.eps
我確實得到了更多信息
Error: /invalidfont in /findfont
Operand stack:
Helvetica-BoldOblique
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-
- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 2015 1 3 %oparray_pop 2014 1 3 %oparray_pop --nostringval-- 1998 1 3 %oparray_pop 1884 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- 1967 1 3 %oparray_pop
Dictionary stack:
--dict:973/1684(ro)(G)-- --dict:0/20(G)-- --dict:123/200(L)--
Current allocation mode is local
我不知道如何解決它。它提到了一些關於“Helvetica-BoldOblique”的內容,但圖片不使用它,而是使用常規的 Helvetica。
答案1
- 關於
-n
選項
Christian 建議使用-n
選項來了解所使用的指令,例如
epstopdf -n --outfile=images/kkk-eps-converted-to.pdf images/kkk.eps
你得到的是
mgs.exe -q -sDEVICE=pdfwrite -dSAFER -dAutoRotatePages=/None -dPDFSETTINGS=/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=images/kkk-eps-converted-to.pdf - -c quit
它被卡住了,因為它等待輸入文件/流(這裡學到的教訓:https://github.com/MiKTeX/miktex/issues/393#issuecomment-543080026)。
所以,跑步
mgs.exe -q -sDEVICE=pdfwrite -dSAFER -dAutoRotatePages=/None -dPDFSETTINGS=/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=images/kkk-eps-converted-to.pdf - -c quit < images/kkk.eps
會做。
Error: /invalidfont in /findfont
我猜你的 MiKTeX 中沒有安裝必要的字體。確保您擁有此處提及的所有軟體包https://github.com/MiKTeX/miktex-packaging/issues/112安裝並重試。
編輯:我在轉換您的文件時沒有遇到任何問題。然後我只卸載了helvetic
軟體包並得到了錯誤:
Error: /invalidfont in /findfont
Operand stack:
Helvetica-BoldOblique
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 2015 1 3 %oparray_pop 2014 1 3 %oparray_pop --nostringval-- 1998 1 3 %oparray_pop 1884 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- 1967 1 3 %oparray_pop
Dictionary stack:
--dict:973/1684(ro)(G)-- --dict:0/20(G)-- --dict:123/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
MiKTeX GPL Ghostscript 9.25: Unrecoverable error, exit code 1
Sorry, but "MiKTeX EPS-to-PDF Converter" did not succeed.
The log file hopefully contains the information to get MiKTeX going again:
C:\Users\user\AppData\Local\MiKTeX\2.9\miktex\log\epstopdf.log
因此,丟失helvetic
軟體包是您問題的根本原因。
我還創建了一個問題(實際上是可能增強的建議):https://github.com/MiKTeX/miktex/issues/429。
答案2
我解決了這個問題:
步驟1:使用控制台刪除電腦上存在的整個MikTeX,刪除C:\ Program files (x86 ) 中名為MikTeX 的已刪除資料夾後,以避免重置時出現錯誤,因為同名資料夾(卸載完成,無需重新啟動電腦)
第2步:重新安裝下面的MikTeX(不需要安裝程式編輯器,如texstudio,Texmaker,viettex,...),這個錯誤是由於基礎MikTeX
MikTeX檔案下載連結:點擊這裡
下載後,解壓縮。 MikTeX /setup 目錄中名為 setup-2.8.3553.exe 的安裝文件
步驟3:像往常一樣安裝檔案setup-2.8.3553.exe,記得勾選選擇Complete MikTeX來安裝完整版本。
使用時注意:
註1:申報包裹訂購的訂單由上至下順序如下:
\ usepackage {graphicx}
\ usepackage {epstopdf}
\ usepackage {子圖}
注意2:在執行TeX檔案之前,請確保您已經刪除了先前因執行錯誤而輸出的損壞的PDF檔案(只留下尾部.eps影像檔案)
複製右:https://nhcan.wordpress.com/2020/04/05/loi-khi-bien-dich-file-latex-co-hinh-anh-dinh-dang-eps/
答案3
此問題是由於目前 MiKTeX 軟體包的已知問題造成的。看 https://github.com/MiKTeX/miktex-packaging/issues/112
對我有用的一個可能的解決方法是使用 MiKTeX 控制台安裝“helvetica”套件(加上 Matlab 程式碼使用的任何其他字體)。