ブール値を最初にtrueに設定し、次にfalseに設定して2回コンパイルします。

ブール値を最初にtrueに設定し、次にfalseに設定して2回コンパイルします。

etoolbox パッケージを使用して、ドキュメントの先頭にブール値が定義されている tex ファイルをいくつか受け取りました。ブール値を変更すると、わずかに異なる PDF が生成されます。ドキュメントの別のバージョンを作成するには、再度コンパイルするときに上書きされないように最初の PDF をコピーし、ブール値を変更してから、もう一度コンパイルする必要があります。ブール値を true と false の両方に別々に設定してドキュメントを 2 回コンパイルし、2 つの PDF を受け取る方法はありますか?

どうもありがとうございます!

答え1

私の環境にも似たようなものがあり、そのため2つの.texファイルを使用しています。1つは次のようになります。

\documentclass[a4paper,twoside,DIV12,BCOR1.5cm]{scrbook}
%
\osversiontrue
\input{main.tex}

そして、

\documentclass[a4paper,twoside,DIV12,BCOR1.5cm]{scrbook}
%
\input{main.tex}

\begin{document}そして、 で始まりで終わる残りのすべてを含む main.tex \end{document}

両方のラッパー ファイルをコンパイルすると、2 つの PDF ドキュメントが作成されます。2 つのドキュメントの違いは、ブール値によって処理されますosversion

答え2

参照ここtex ファイルに引数を渡す方法。これは単なる別の解決策です。

ただし、pdflatex/.. を 1 回呼び出すと PDF が 1 つしか作成されないため、2 回コンパイルする必要があります。

一度に両方のバージョンを作成して 1 つの PDF を作成し、その PDF を「真ん中」で分割する方法は、おそらくあまり便利ではありません。

私が考えられる最後のオプションは、ファイルの存在を確認してブール値を判断し、2 回の pdflatex 実行の間にそのファイルを作成/削除することです。

関連情報