可能获取包含的文件路径吗?

可能获取包含的文件路径吗?

我知道我可以用 检查文件是否存在\IfFileExists{}{}{}。是否也可以获取找到的文件的绝对路径?

我之所以问这个问题,是因为我有一个自定义的 documentclass,它有一个 images 子文件夹,里面有一些 SVG 文件。我不想将这些文件复制到所有使用该 documentclass 的项目中。为了包含我拥有的 SVG,请执行以下操作:

\newcommand{\includesvg}[2]{%
    \ifx\svgwidth\undefined%
        \def\svgwidth{\linewidth}%
    \fi%
    \filemodCmp{#1#2.svg}{\the\output@directory/#2.pdf}{%
        \ShellEscape{inkscape -z -D --file=#1#2.svg --export-pdf=\the\output@directory/#2.pdf --export-latex}%
        \input{#2.pdf_tex}%
    }{%
        \input{#2.pdf_tex}%
    }%
}

然后像这样使用:\includesvg{images/animals/}{cat}。但是中的参数inkscape --file=#1#2.svg是相对于当前目录的。所以我需要添加正确的绝对路径。有什么想法吗?

我正在使用 LuaLaTeX,所以如果我需要使用 Lua,那也可以。

如果不可能的话,我可能会尝试将图像复制到\output@directory,但随后我将不得不处理扁平的目录树,而我现在宁愿不这样做。

相关内容