
При программировании на языке C довольно часто переключение между созданием отладочной и релизной версий осуществляется путем передачи компилятору аргумента командной строки.
Хотелось бы что-то подобное для pdflatex
. Оптимально, чтобы в исходном файле LaTeX были условные части, зависящие от некоторой переменной, а затем переключение между версиями можно было бы сделать, как-то установив эту переменную при вызове командной строки pdflatex
.
Возможно ли достичь чего-то подобного? Какой самый простой/чистый способ?
решение1
Следующий код
\documentclass{article}
\usepackage{ifthen}
\newcommand{\foo}[1]{%
\ifthenelse{\equal{#1}{True}}{gagagag}{blablabla}%
}
\begin{document}
\foo{\val}
\end{document}
дает gagagag
при компиляции с
pdflatex '\def\val{True}\input' file.tex
и blablabla
при компиляции с
pdflatex '\def\val{something else}\input' temp.tex
(Благодарность Дэвиду Карлайлу, см. комментарии.)