
Я готовлю резюме с использованием 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 вам, возможно, придется выполнить настройку переменной среды отдельной командой, не уверен)