如何在宏中引用输出目录?

如何在宏中引用输出目录?

我使用

pdflatex -output-dir=/foo

我的一个宏在工作目录中生成临时文件。

\immediate\write18{bash -c "some-command >outputfile"}

我希望它将它们保存到输出目录。

我如何才能让我的宏知道给予-output-dir命令行选项的值?

答案1

问题是,在 LaTeX 中,输出目录也是输入目录(例如 aux-file、toc 等),不仅对于 pdflatex 如此,对于其他工具也是如此。根据我的经验,从长远来看,最好不要使用--output-dir。总有一个工具找不到其输入文件。在 git 中,我只是使用一个合理的.gitignore文件来避免提交辅助文件。

除此之外:使用 luatex,您可以访问命令行参数,如以下答案所述:https://tex.stackexchange.com/a/18813/2388

使用 pdflatex,您可以--output-dir借助 currfile 包检索 texlive 中的路径。它需要 -option --recorder

\documentclass{article}
\usepackage[abspath]{currfile}
\begin{document}
\getabspath{test-utf8.log}
\theabsdir

\end{document}

在此处输入图片描述

相关内容