我不确定以前是否有人问过这个问题,但我找不到它,我希望得到一个解决方案,或者至少能很好地解释为什么这是一个坏主意。(存在关于使用下划线或空格的问题,但据我所知,关于句号一无所知)。
我开始使用句号代替文件名中的空格,但 LaTeX 似乎不接受这一点。例如,当我命名图形时,figSE.pdf
代码可以正常编译,但如果我改为命名,fig.SE.pdf
则会收到错误消息
错误:LaTeX 错误:未知的图形扩展名:.SE.pdf。
我知道我可以重命名文件,但我非常喜欢我的新系统,如果有办法让 LaTeX 接受它我会更喜欢(并且我不想使用连字符和下划线)。
这是 MWE
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}[h]
\centering
\includegraphics{fig.SE.pdf}
\end{figure}
\end{document}
答案1
首先要说的是:
您不必包含任何 graphicx 扩展。
\includegraphics{figSE}
也可以。
现在,LaTeX 使用第一个句点来找出您正在使用的扩展名,但您可以隐藏它:
\includegraphics{{fig.SE}.pdf}
甚至:
\includegraphics{{{fig.SE}}}
答案2
使用类似这样的括号\includegraphics{{fig.SE}.pdf}
。即使有类似这样的空格,此方法也有效\includegraphics{{fig SE}.pdf}
。
包含带空格的图形文件的另一种方法是使用包grffile
。简而言之
\usepackage[space]{grffile}
在你的序言中。
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage[space]{grffile}
\begin{document}
\begin{figure}[h]
\centering
\includegraphics{fig SE.pdf}
\end{figure}
\end{document}
答案3
该软件包grffile
添加了对图形文件名中多个点的支持:
\usepackage{grffile}