如何包含路径中带有空格的图形?

如何包含路径中带有空格的图形?

我想使用宏将图形导入到我的主要输入文件中\includegraphics。如果文件名包含空格,则不起作用。

包含路径目录中带有空格的图像,以便使用 dvips 进行处理也讨论了这个问题,但没有解决方案。

我的编译程序是 latex->dvips->ps2pdf(因为 PSTricks)。

答案1

尝试etoolbox 包

\usepackage{etoolbox}
\makeatletter
\patchcmd{\Ginclude@eps}{"#1"}{#1}{}{}
\makeatother
...
\includegraphics{"file name.eps"}

该宏\Ginclude@eps在文件 dvips.def 中定义。\special{PSfile="#1"\space ...如果使用额外的“”,则会导致问题。我对此进行了修补,使其行为就像编写的一样PSfile=#1,并且在使用名称和 dvips 中有空格的 eps 文件进行测试时,它对我来说是有效的。

答案2

使用包grffile

\usepackage{graphicx}
\usepackage[space]{grffile}
[ ... ]
\includegraphics[...]{A file with spaces}

答案3

一个更简单的解决方案是......

\includegraphics{{"../Current folder/1.This file"}.png}

(对于 Windows 用户)请注意,所有斜杠都必须是正斜杠。

答案4

由于这个问题从来没有得到充分的解答,我只想补充一点,对于需要指定文件路径的包中的一些命令,如果将空格放在引号中(即" "),这也会起作用(当然,取决于包以及程序员如何设计包)。

例如:

% Preamble
\newcommand{\relativedir}{./../../Some/Directory/Directory" "Name}
...
...
% Within the Document
\input{\relativedir/NameOfFile.tex}

这将包括一个文件../../Some/Directory/Directory Name/NameOfFile.tex(例如,在相对目录中:单点./代表当前目录,双点../代表层次结构中较高目录)。

相关内容