¿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.