子文件的参数化包含

子文件的参数化包含

我正在使用 LaTeX 准备简历,主要是为了方便定制。特别是,我希望能够通过更改一些参数从同一输入文件生成不同的输出。

其中一个要求是:必须根据输入参数之一(“dev”/“training”/“generic”)选择特定的文本块。我可以将适合每个参数的文本块放在单独的 .tex 文件中(“dev_summary.tex”、“training_summary.tex”等),并\input根据参数进行选择。我目前已使用以下方法实现了此目的:

  \newcommand{\whoami}[1]{trainer#1}

然后

 \input{\whoami{_summary.tex}}

现在,每当我想更改第一个参数时,我只需在新命令行中更改字符串“trainer”。但是,有没有更好的方法可以让我保持此文件不被编辑,而是将此更改作为命令行参数传递?

答案1

有几种方法可以在命令行上设置这些内容。也许最简单的方法是稍微改变你的输入,这样dev_summary.tex你就有了子目录/文件夹等devtrainer然后dev/summary.tex

然后你的主文件只需要

\input{summary}

它将summary.tex在您的输入路径中输入第一个,因此命令行

TEXINPUTS=dev: pdflatex mainfile

将输入dev/summary.tex

TEXINPUTS=trainer: pdflatex mainfile

将输入trainer/summary.tex

(这假设一个类似 unix 的命令行,在 Windows 上您可能必须使用单独的命令来设置环境变量,不确定)

相关内容