Как установить значение переключателя (из пакета etoolbox) с помощью командной строки?
Я хотел бы создать cmd-файл для компиляции файла latex с разными значениями переключателя (т. е. один cmd-файл будет компилироваться с переключателем foo, установленным на true, а другой cmd-файл будет компилироваться с переключателем foo, установленным на false).
решение1
Это возможно сделать
pdflatex.exe -jobname=prof "\AtBeginDocument{\toggletrue{prof}} \input{main}"
или
echo \AtBeginDocument{\toggletrue{prof}} > _temp.tex
echo \input{main} >> _temp.tex
pdflatex.exe -jobname=prof _temp.tex
del _temp.tex
pause
решение2
Нашел решение, которое я читал ранее:https://en.wikibooks.org/wiki/LaTeX/Макросы#Командная строка_LaTeX
Если вы работаете в Unix-подобной ОС, вы можете использовать Makefiles или любой другой скрипт для сборки проектов LaTeX. В этой связи может быть интересно создавать разные версии одного и того же документа, вызывая LaTeX с параметрами командной строки. Если вы добавите в свой документ следующую структуру:
% default value. \providecommand\blackandwhite{false} %... \ifthenelse{ \equal{\blackandwhite}{true} }{ % "black and white" mode; do something.. }{ % "color" mode; do something different.. }
Теперь вы можете вызвать LaTeX следующим образом:
latex '\providecommand{\blackandwhite}{true}\input{test.tex}'
Сначала определяется команда \blackandwhite, а затем считывается фактический файл с вводом. При установке \blackandwhite в false будет создана цветная версия документа.