
У меня есть довольно простая проблема, которую я не могу решить.
Я использую pdfLaTeX
последний MikTeX вместе с WinEdt. Мне нужно использовать psfrag
для моих EPS-фигур, поэтому я применяю pstool
пакет. Это работало нормально до лета.
Теперь я открыл работающий в то время документ, но тот же документ и цепочка инструментов дают сбой: расширенный запуск LaTeX, инициированный с помощью , pstool
завершается сбоем, и из EPS создается пустой PDF-файл.
Минимальный пример:
\documentclass[12pt,a4paper]{article}
\usepackage[margin=2cm,a4paper]{geometry}
\usepackage{hyperref}
\title{psfrag in pdflatex }
\usepackage{graphicx}
\usepackage{pstool}
\usepackage{bookmark}
\begin{document}
Test
\begin{figure}[h!]
\centering
\psfragfig[mode=errorstop,width=0.9\textwidth]{Pulley_movable}
\caption{The EPS image with psfragfig}
\end{figure}
\end{document}
Интересно, что удаление hyperref
решает bookmarks
проблему и создает правильный PDF!!!Таким образом, я предполагаю, что моя конфигурация LaTeX в основном выполняет правильную работу. Может быть, пакет сломан? Кто-нибудь, пожалуйста, протестируйте мой минимальный пример и сообщите?
Вот результат запуска. Обратите внимание, есть предупреждение, что Pulley_movable.tex не найден, включая psfrag
команды, но я их не указал, чтобы избежать проблем. Если файл не поможет:
Startup Folder: C:\Users\xxxx\Documents\Papers\pstool-problem
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (MiKTeX 20.11 Portable)
entering extended mode
(test.tex
LaTeX2e <2020-10-01> patch level 2
L3 programming layer <2020-10-27> xparse <2020-03-03>
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/base\article.cls
Document Class: article 2020/04/10 v1.4m Standard LaTeX document class
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/base\size12.clo))
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/geometry\geometry.sty
...
...
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/generic/xkeyval\xkvutils.tex))
) (C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/l3kernel\expl3.sty
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/l3backend\l3backend-pdft
ex.def)))
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/bookmark\bookmark.sty
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/bookmark\bkm-pdftex.def)
)
No file test.aux.
*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/hyperref\nameref.sty
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/refcount\refcount.sty)
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/generic/gettitlestring\gettitl
estring.sty))
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/context/base/mkii\supp-pdf.mki
i
[Loading MPS to PDF converter (version 2006.09.02).]
)
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/epstopdf-pkg\epstopdf-ba
se.sty)"
"
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (MiKTeX 20.11 Portable)
entering extended mode
(Pulley_movable-pstool.tex
LaTeX2e <2020-10-01> patch level 2
L3 programming layer <2020-10-27> xparse <2020-03-03>
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/base\article.cls
Document Class: article 2020/04/10 v1.4m Standard LaTeX document class
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/base\size12.clo))
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/geometry\geometry.sty
...
...
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/generic/luatex85\luatex85.sty)
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/preview\prtightpage.def
))
No file test.oldaux.
No file Pulley_movable-pstool.aux.
*geometry* driver: auto-detecting
*geometry* detected driver: dvips
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/hyperref\nameref.sty
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/latex/refcount\refcount.sty)
(C:\ProgramData\Npackd\MiKTeX\texmfs\install\tex/generic/gettitlestring\gettitl
estring.sty))
Package hyperref Warning: Rerun to get /PageLabels entry.
Preview: Fontsize 12pt
<Pulley_movable.eps>
Preview: Tightpage -32891 -32891 32891 32891
[1] [2] (Pulley_movable-pstool.aux)
LaTeX Warning: Temporary extra page added at the end. Rerun to get it removed.
)
Output written on C:\Users\xxxx\Documents\Papers\pstool-problem\Pulley_movab
le-pstool.dvi (2 pages, 4272 bytes).
Transcript written on C:\Users\xxxx\Documents\Papers\pstool-problem\Pulley_m
ovable-pstool.log.
Package pstool Warning: No file "Pulley_movable.tex" or "Pulley_movable-psfrag.
tex" can be found that may contain macros for "Pulley_movable.eps" on input lin
e 17.
(pstool-statusfile.txt)"
This is dvips(k) 2020.1 Copyright 2020 Radical Eye Software (www.radicaleye.com)
' TeX output 2020.11.11:1110' -> Pulley_movable-pstool.ps
<C:/ProgramData/Npackd/MiKTeX/texmfs/install/dvips/base/tex.pro>
<C:/ProgramData/Npackd/MiKTeX/texmfs/install/dvips/config/alt-rule.pro>
<C:/ProgramData/Npackd/MiKTeX/texmfs/install/dvips/psfrag/psfrag.pro>
<C:/ProgramData/Npackd/MiKTeX/texmfs/install/dvips/l3backend/l3backend-dvips.pro>
<C:/ProgramData/Npackd/MiKTeX/texmfs/install/dvips/base/texps.pro>
<C:/ProgramData/Npackd/MiKTeX/texmfs/install/dvips/base/special.pro>
<C:/ProgramData/Npackd/MiKTeX/texmfs/install/dvips/base/color.pro>.
<C:/ProgramData/Npackd/MiKTeX/texmfs/install/fonts/type1/public/amsfonts/cm/cmr8.pfb>
<C:/ProgramData/Npackd/MiKTeX/texmfs/install/fonts/type1/public/amsfonts/cm/cmr12.pfb>
<C:/ProgramData/Npackd/MiKTeX/texmfs/install/fonts/type1/public/amsfonts/cm/cmbx12.pfb>
[1<./Pulley_movable.eps>] [2<./Pulley_movable-pstool.out.ps>]
(pstool-statusfile.txt)"
Error: /typecheck in --div--
Operand stack:
1 0 0.0 -0.907531 a 65781.8
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 1998 1 3 %oparray_pop 1884 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- --nostringval-- 4 --nostringval-- %repeat_continue --nostringval--
Dictionary stack:
--dict:974/1684(ro)(G)-- --dict:0/20(G)-- --dict:113/200(L)-- --dict:178/300(L)--
Current allocation mode is local
Current file position is 89152
MiKTeX GPL Ghostscript 9.25: Unrecoverable error, exit code 1
(pstool-statusfile.txt)"
Overfull \hbox (113.53291pt too wide) in paragraph at lines 17--17
[][]
LaTeX Warning: Float too large for page by 140.75291pt on input line 18.
LaTeX Warning: `!h' float specifier changed to `!ht'.
[1
Non-PDF special ignored!
<special> header=psfrag.pro
{C:/ProgramData/Npackd/MiKTeX/texmfs/data/pdftex/config/pdftex.map}] [2 <./Pull
ey_movable.pdf>] (test.aux
! Undefined control sequence.
l.20 \HyPL@Entry
{0<</S/D>>}
?
Я переустановил MikTeX, но безрезультатно. Любая помощь будет оценена по достоинству - спасибо!
решение1
Основная проблема — несовместимость между preview и hyperref из-за изменений в исходном коде LaTeX, о которых я уже сообщал здесь:https://lists.gnu.org/archive/html/bug-auctex/2020-11/msg00000.html
Из-за этой несовместимости вызов ghostscript завершается ошибкой, а затем вы получаете ошибку как в miktex, так и в texlive (но немного отличающуюся).
В вашем примере вы можете обойти эту несовместимость, не используя предварительный просмотр, а вместо этого используя pdfcrop:
\usepackage[crop=pdfcrop]{pstool}
или
\usepackage[crop=pdfcrop]{pstool}
\usepackage{bookmark}
\makeatletter
\AddToHook{env/document/begin}{%
\@ifpackageloaded{preview}{
\ifPreview
\let\Hy@FirstPageHook\relax
\let\Hy@EveryPageAnchor\relax
\fi}{}}
\makeatother
Рядом есть ошибка
! Undefined control sequence.
l.20 \HyPL@Entry
Проблема здесь в том, что команда определена только в драйвере dvips hyperref. hyperref обычно добавляет a \providecommand
к aux, но этого нет, и когда pstool использует aux также с pdftex, возникают ошибки.
Обходной путь — просто предоставить команду (после загрузки hyperref или закладки)
\usepackage{bookmark}
\makeatletter
\providecommand\HyPL@Entry[1]{}
\makeatother