Toggletrue com uma linha de comando

Toggletrue com uma linha de comando

Como definir o valor de uma alternância (do pacote etoolbox) com linha de comando?

Eu gostaria de criar um arquivo cmd para compilar o arquivo latex com valores de alternância diferentes (ou seja, um campo cmd será compilado com o toggle foo definido como verdadeiro e outro arquivo cmd será compilado com o toggle foo definido como falso).

Responder1

É possível fazer

pdflatex.exe -jobname=prof "\AtBeginDocument{\toggletrue{prof}} \input{main}"

ou

echo \AtBeginDocument{\toggletrue{prof}} > _temp.tex
echo \input{main} >> _temp.tex
pdflatex.exe -jobname=prof _temp.tex
del _temp.tex
pause

Responder2

Encontrei a solução que li antes:https://en.wikibooks.org/wiki/LaTeX/Macros#Command-line_LaTeX

Se você trabalha em um sistema operacional semelhante ao Unix, pode estar usando Makefiles ou qualquer tipo de script para construir seus projetos LaTeX. Nesse sentido, pode ser interessante produzir versões diferentes do mesmo documento chamando o LaTeX com parâmetros de linha de comando. Se você adicionar a seguinte estrutura ao seu documento:


% default value. \providecommand\blackandwhite{false} %...

\ifthenelse{ \equal{\blackandwhite}{true} }{ % "black and white" mode;
do something.. }{ % "color" mode; do something different.. }

Agora você pode chamar o LaTeX assim:

latex '\providecommand{\blackandwhite}{true}\input{test.tex}'

Primeiro o comando \blackandwhite é definido e então o arquivo real é lido com entrada. Ao definir \blackandwhite como false, a versão colorida do documento seria produzida.

informação relacionada