Параметризованное включение подфайлов

Параметризованное включение подфайлов

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

Связанный контент