有谁知道我如何使用\IfFileExist{}{}{}
带空格的文件名?
fe 没有起作用
\newcommand{\runI}{D:/Test/run1 - T2}
\newcommand\IG[2][]{\IfFileExists{#2}{\includegraphics[#1]{#2}}{\fbox{File #2 doesn't exist}}}
\begin{figure}[htbp]
\centering
\IG[trim = 40mm 10mm 40mm 2mm,clip = true, width=0.4\textwidth]{\runI/LatexTestFig2.png}
\caption{run 1}
\label{overflow}
\end{figure}
工作
\newcommand{\runII}{D:/Test/run1-T2-Kopie}
\newcommand\IG[2][]{\IfFileExists{#2}{\includegraphics[#1]{#2}}{\fbox{File #2 doesn't exist}}}
\begin{figure}[htbp]
\centering
\IG[trim = 40mm 10mm 40mm 2mm,clip = true, width=0.4\textwidth]{\runII/LatexTestFig2.png}
\caption{run 1}
\label{overflow}
\end{figure}
我能做什么?谢谢
答案1
从 2019-10-01 版本开始,LaTeX 会"
在后台自动使用引用功能,因此所有这些都应该可以正常工作,而用户不需要任何明确的引用
\IfFileExists{space name.foo}{yes}{no}
\input{my tex file}
\includegraphics{my picture}
\includegraphics{my picture.png}
尽管添加了此功能,但仍然建议用户不要在文件名中添加空格。
原始答案
大多数 TeX 发行版使用的 kpathsea 文件库允许"
使用引号来引用包含空格等不良字符的文件名,因此
"\runI/LaTeXFile.png"
应该可以工作,\IfFileExists
但是正如 jfbu 指出的那样,\includegraphics
宏会将其视为未知扩展,.png"
因此\includegraphics
您需要
"\runI/LaTeXFile".png
引用空格,同时保持.png
扩展名可见。