在尝试调试其他内容时,我在下面的 MWE 中遇到了以下错误gpath-try.tex
。出了什么问题?
(./gpath-try.tex
LaTeX2e <2020-02-02> patch level 5
L3 programming layer <2020-06-18>
(/usr/local/texlive/2020/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/12/20 v1.4l Standard LaTeX document class
(/usr/local/texlive/2020/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2019/12/20 v1.4l Standard LaTeX file (size option)
)
...
./gpath-try.tex:3: Undefined control sequence.
l.3 \graphicspath
{{graphics/}}
? q
OK, entering \batchmode...
./gpath-try.tex:3: LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.3 \graphicspath{{g
raphics/}}
You're in trouble here. Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
妇女权利委员会:
\documentclass{article}
\graphicspath{{graphics/}}
\usepackage{graphicx}
\begin{document}
Hello
\end{document}
我认为这总是有效的,但我还尝试了反转顺序,这次使用:
\usepackage{graphicx}
\graphicspath{{graphics/}}
但这也失败了,出现错误:
(./graphics.sty
Package: graphics 2020-06-04 Load graphics packages and defines colors
./graphics.sty:12: Undefined control sequence.
<recently read> \graphicspath
l.12 \graphicspath
{{graphics/}} % set graphics path
答案1
正确的加载顺序是
\documentclass{article}
\usepackage{graphicx}
\graphicspath{{graphics/}}
\begin{document}
Hello
\end{document}
.log
问题中的最后一个显示
(./graphics.sty
Package: graphics 2020-06-04 Load graphics packages and defines colors
这表明你有一个本地文件graphics.sty
被加载,而不是——因此掩盖了——LaTeX 基础文件graphics.sty
,它自称是
("C:\Program Files\MiKTeX 2.9\tex/latex/graphics\graphics.sty"
Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR)
(无论如何,在我的计算机上:文件路径、日期和具体版本当然可能会有所不同)。
当然,这里运气真的很差,因为 real 定义的命令graphics.sty
被加载的本地版本graphics.sty
而不是 LaTeX 核心文件使用。但至少它中断得很厉害。本地文件掩盖系统文件的问题可能很难调试。
使用已经被包/LaTeX 基础文件占用的文件名总是很危险的,但当然很难知道所有可能的“禁止”名称。