如何将通配符*与LaTeX中的graphicspath一起使用?

如何将通配符*与LaTeX中的graphicspath一起使用?,latex,wildcard,Latex,Wildcard,例如,在下面的代码中,如何使用通配符 \graphicspath{{1/*/pictures/}} 不能将通配符与\graphicspath一起使用。您必须明确: \graphicspath{{1/pictures/}{2/pictures/}{3/pictures/}{...etc...}} 几个月前我发现了这个问题。这是一个很好的入门参考。的确,在\graphicspath命令中不能使用通配符。但是,如果您运行的是基于Unix的操作系统,则可以使用基于bash脚本的变通方法 在您的示例中

例如,在下面的代码中,如何使用通配符

\graphicspath{{1/*/pictures/}}

不能将通配符与
\graphicspath
一起使用。您必须明确:

\graphicspath{{1/pictures/}{2/pictures/}{3/pictures/}{...etc...}}

几个月前我发现了这个问题。这是一个很好的入门参考。

的确,在
\graphicspath
命令中不能使用通配符。但是,如果您运行的是基于Unix的操作系统,则可以使用基于bash脚本的变通方法

在您的示例中,可以创建名为myGraphicspath.sh的脚本:

将该脚本与.tex放在同一文件夹中。 现在,您可以从Latex调用该脚本。将
\graphicspath
命令放置在何处,现在键入:

\immediate\write18{./myGraphicspath.sh > myGraphicspath.tex}
\input{myGraphicspath.tex}

@肖恩:谢谢你,肖恩当我问这个问题时,我知道问题出在某个地方我的路很长。这使我使用了以下语法`\graphicspath{{{very-long-path1}}\图形路径{{甚长路径2}};在单独的行中。-你的例子是解决问题的关键。没有超级用户。我最终写了很多版本,但LaTeX是一种图灵完整语言。这里的问题是找到所需输出的语法,而无需无休止地处理。如果Will Robertson不介意的话,他可能会告诉我们如何编写循环。如果你用循环来解决它,那就是编程。@dmckee:我不是说这与编程无关,但它会吸引更多的人使用SU。LaTeX用户不一定是程序员。@Bastien:这个问题的目标受众——它希望从中得到答案的人——是LaTeX用户,他们是程序员。这与关于特定编程语言(比如JavaScript)的问题没有什么不同,对于
input
\immediate\write18{./myGraphicspath.sh > myGraphicspath.tex}
\input{myGraphicspath.tex}