Toggletrue con una línea de comando

Toggletrue con una línea de comando

¿Cómo establecer el valor de un conmutador (del paquete etoolbox) con la línea de comando?

Me gustaría crear un archivo cmd para compilar un archivo latex con un valor de alternancia diferente (es decir, un campo cmd se compilará con el foo de alternancia establecido en verdadero, y otro archivo cmd se compilará con el foo de alternancia establecido en falso).

Respuesta1

es posible hacer

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

o

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

Respuesta2

Encontré la solución que leí antes:https://en.wikibooks.org/wiki/LaTeX/Macros#Command-line_LaTeX

Si trabaja en un sistema operativo tipo Unix, es posible que esté utilizando Makefiles o cualquier tipo de script para crear sus proyectos LaTeX. En ese sentido, podría ser interesante producir diferentes versiones del mismo documento llamando a LaTeX con parámetros de línea de comandos. Si agrega la siguiente estructura a su documento:


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

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

Ahora puedes llamar a LaTeX así:

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

Primero se define el comando \blackandwhite y luego se lee el archivo real con la entrada. Al establecer \blackandwhite en falso, se producirá la versión en color del documento.

información relacionada