我在 Windows 10 中使用 TexStudio 编写文本。我最近将 MikTeX 和 TeXstudio 都更新到了最新版本。更新后,之前运行的 tex 文件开始出现错误
Undefined control sequence. ...raphics[width=0.45\textwidth]{network.eps}
然后,我发现了以下问题
TeXstudio 更新后出现“未定义的控制序列 \includegraphics”
问题的根源似乎相同,但其中建议的解决方案不起作用。我意识到该问题只发生在 eps 文件中,如果我包含epstopdf
该问题,问题似乎就解决了。
但是,之前 latex 在没有调用 epstopdf 的情况下运行正常。我该如何在没有 的情况下修复此问题\usepackage{epstopdf}
?请参阅下面的完整代码
\documentclass[conference]{IEEEtran}
\usepackage{graphicx}
%\usepackage{epstopdf}
\begin{document}
\section{Introduction}
test
\begin{figure}[!htb]
\centering
\includegraphics[width=0.45\textwidth]{network.eps}
\end{figure}
\end{document}
更新
实际的日志信息如下
("C:\Users\XXX\AppData\Local\Programs\MiKTeX 2.9\tex/latex/epstopdf-pkg\ep
stopdf-base.sty"
Package: epstopdf-base 2019-12-09 v2.10 Base part for package epstopdf
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
85.
)
! Undefined control sequence.
\ETE@program@epstopdf ->\epstopdf@sys@cmd
l.13 ...raphics[width=0.45\textwidth]{network.eps}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
Package epstopdf Info: Source file: <network.eps>
(epstopdf) date: 2019-03-28 04:44:41
(epstopdf) size: 141038 bytes
(epstopdf) Output file: <network-eps-converted-to.pdf>
(epstopdf) Command: < --outfile=network-eps-converted-to.pdf networ
k.eps>
(epstopdf) \includegraphics on input line 13.
runsystem( --outfile=network-eps-converted-to.pdf network.eps)...disabled (rest
ricted).
Package epstopdf Info: Result file: <network-eps-converted-to.pdf>.
答案1
epstopdf-base
目前假设存在一个文件epstopdf-sys.cfg
,该文件设置了一个系统命令来将 EPS 文件从外部转换为 PDF。
在 texlive 中这是
/usr/local/texlive/2019/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
但显然 miktex 没有设置这个默认值。
包裹不好需要无论如何,一个 cfg 文件,所以我将更新,epstopdf-base
因此默认命令是epstopdf
。
texlive 的 cfg 文件仍然会覆盖这个,就像现在一样,并将默认值设为,repstopdf
除非您使用--shell-escape
,在这种情况下它将被设置为epstopdf
(MikTeX 显然不会做出这种区分)。
直到软件包更新为止(更新于来源),你可以使用
\makeatletter \def\epstopdf@sys@cmd{epstopdf} \makeatother