![Inclusão parametrizada de subarquivos](https://rvso.com/image/286983/Inclus%C3%A3o%20parametrizada%20de%20subarquivos.png)
Estou preparando um Currículo em LaTeX, principalmente para facilitar a customização. Em particular, desejo poder gerar saídas diferentes a partir do mesmo arquivo de entrada, alterando alguns parâmetros.
Um desses requisitos é: pedaços específicos de texto devem ser escolhidos de acordo com um dos parâmetros de entrada ("dev"/"training"/"generic"). Posso ter os pedaços de texto apropriados para cada parâmetro em um arquivo .tex separado ("dev_summary.tex", "training_summary.tex", etc.) e \input
de acordo com o parâmetro. Atualmente implementei isso com:
\newcommand{\whoami}[1]{trainer#1}
e depois
\input{\whoami{_summary.tex}}
Agora só preciso alterar a string "trainer" na linha do novo comando sempre que quiser alterar o primeiro parâmetro. No entanto, existe uma maneira melhor de manter esse arquivo sem edição e, em vez disso, passar essa alteração como um argumento de linha de comando?
Responder1
Existem várias maneiras de definir essas coisas na linha de comando. talvez o mais simples seja alterar um pouco sua entrada para que em vez de dev_summary.tex
você tenha subdiretórios/pastas dev
, trainer
etc e entãodev/summary.tex
Então seu arquivo principal só precisa
\input{summary}
e ele inserirá o primeiro summary.tex
em seu caminho de entrada para que uma linha de comando de
TEXINPUTS=dev: pdflatex mainfile
irá inserir dev/summary.tex
e
TEXINPUTS=trainer: pdflatex mainfile
irá inserirtrainer/summary.tex
(Isso assumindo uma linha de comando semelhante ao Unix, no Windows você pode ter que definir a variável de ambiente como um comando separado, não tenho certeza)