Toggletrue с помощью командной строки

Toggletrue с помощью командной строки

Как установить значение переключателя (из пакета 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 будет создана цветная версия документа.

Связанный контент