コマンドラインでTrueを切り替える

コマンドラインでTrueを切り替える

コマンドラインでトグルの値(etoolbox パッケージから)を設定するにはどうすればいいですか?

異なるトグル値を持つ LaTeX ファイルをコンパイルするための cmd ファイルを作成したいと思います (つまり、1 つの 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 系 OS で作業している場合、LaTeX プロジェクトをビルドするために Makefile または何らかのスクリプトを使用している可能性があります。その関連で、コマンドライン パラメータを使用して 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 に設定すると、ドキュメントのカラー バージョンが生成されます。

関連情報