软件包 pdftex.def 出现错误:对于在其他计算机上完美编译的项目

软件包 pdftex.def 出现错误:对于在其他计算机上完美编译的项目

我换了笔记本电脑,因此不得不重新安装 TeXStudio/TexLive。现在我的项目无法再正确编译了。同一个项目在我的旧笔记本电脑和合作者身上都能正确编译。TeXStudio 中的某些设置肯定是错误的,但我不知道是什么。我的所有图形都出现以下错误:

LaTeX Warning: File `../dir1/{name_including.dots}.pdf' not found on input line 249.
! Package pdftex.def Error: File `../dir1/{name_including.dots}.pdf' not found: using draft setting.

该文件确实存在于相应的目录中(在目录 dir1 中,即 main.tex 文件的上一级目录)。

版本信息(当前有问题的 TeXstudio 设置):

LaTeX2e <2020-02-02> patch level 2
L3 programming layer <2020-02-14>

Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR)

TeXstudio 2.12.22 

pdfTeX 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian)

kpathsea version 6.3.1

感谢 David 指出:1.) 删除括号可以解决问题。2.) 加上括号{../dir1/name_including.dots}.pdf应该对我和我的合作者都有效,使用旧版本的 LaTeX2e。如果我的合作者确认确实如此,我认为如果 David 或其他人(或者我,如果没人愿意打扰)在答案中写出来,我会认为这是一个完整的答案。

答案1

在当前的 latex 中,文件名中的多个点(以及空格和非 ASCII UTF-8 字符)应该可以在 latex 的文件名中使用,不仅如此,还可以使用\includegraphics等等\input。要做到这一点,不可能支持以前用来使这些字符起作用的所有可能的技巧。但是,如果括号组位于文件名的开头(这样的括号组将被丢弃),则仍然支持在文件名中添加括号以隐藏多个点的技巧。

因此在当前系统上

\includegraphics{../dir1/name_including.dots.pdf}

可以工作,并且也可以在旧系统上工作,你可以添加一个括号组作为

\includegraphics{{../dir1/name_including.dots}.pdf}

相关内容