Я хочу включить изображения eps, сгенерированные из графика Matlab (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
варианте
Кристиан предложил использовать -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установите и попробуйте еще раз.
EDIT: У меня не было проблем с конвертацией вашего файла. Затем я удалил только 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, имеющиеся на вашем компьютере, с помощью Панели управления, предварительно удалив удаленную папку с именем MikTeX в C:\ Program files (x86), чтобы избежать ошибок при сбросе настроек из-за одноименной папки (удаление завершается без перезагрузки компьютера)
Шаг 2:Переустановите MikTeX ниже (не нужно устанавливать редактор программ, как texstudio, Texmaker, viettex, ...), эта ошибка возникает из-за MikTeX foundation
Ссылка для скачивания файла MikTeX: нажмитездесь
После загрузки распаковываем. Установочный файл с именем setup-2.8.3553.exe в директории MikTeX /setup
Шаг 3:Установите файл setup-2.8.3553.exe как обычно, не забудьте отметить галочкой пункт Complete MikTeX для установки полной версии.
Обратите внимание при использовании:
Примечание 1: Порядок, в котором указывается заказанный пакет, следует заказывать сверху вниз следующим образом:
\ usepackage {graphicx}
\ usepackage {epstopdf}
\ usepackage {subfigure}
Примечание 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
Возможным решением, которое сработало в моем случае, является установка пакета «helvetica» (плюс любой другой шрифт, используемый кодом Matlab) с помощью консоли MiKTeX.