![子文件的參數化包含](https://rvso.com/image/286983/%E5%AD%90%E6%96%87%E4%BB%B6%E7%9A%84%E5%8F%83%E6%95%B8%E5%8C%96%E5%8C%85%E5%90%AB.png)
我正在使用 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
您就可以擁有子目錄/資料夾等dev
,trainer
然後dev/summary.tex
那麼你的主文件只需要
\input{summary}
它將輸入summary.tex
您的輸入路徑中的第一個,因此命令行為
TEXINPUTS=dev: pdflatex mainfile
將輸入dev/summary.tex
和
TEXINPUTS=trainer: pdflatex mainfile
將輸入trainer/summary.tex
(這假設是一個類似unix的命令行,在Windows上你可能必須用一個單獨的命令來設定環境變量,不確定)