# Deciding Boolean operation in LaTeX via Linux Terminal

How do I decide a Boolean operation in LaTeX via Linux terminal? That is, I have:

%myfile.tex
\documentclass{article}

if parameter=true
is true
else
is false

\begin{document}
parameter
\end{document}


And I wanted to type in something like terminal

pdflatex -p myfile.tex #is true


or

pdflatex myfile.tex #is false

-
Not sure I understand you question, but wondering if Norman's comment on setting class options after document class helps. I have been using that solution. –  Peter Grill May 26 '11 at 4:38
Perhaps this answer Passing parameters to a document is what you are looking for? –  Alan Munn May 26 '11 at 4:40

The best way is outlined in Passing parameters to a document, which should be better known. If the document starts as

\ifcase\flag\relax
<what to do when \flag=0>\or
<what to do when \flag=1>\or
<what to do when \flag=2>\or
...
<what to do when \flag=n>\else
<what to do otherwise>\fi


we are free to choose among many cases by calling the compilation through

pdflatex '\def\flag{<value>}\input{myfile}'


One can also choose a "default mode" by enclosing the above code in

\ifdefined\flag
<code above>
\else
<default setting>
\fi


and the call pdflatex myfile will compile with the <default setting>.

Of course the code may also be after the \documentclass declaration, for choosing packages at run time, for example, or different definitions of some command. I'm thinking to a "printable" version (with black colored links) as opposed to a "web" version where links are colored. But with \ifcase we can define as many versions as we want.

For two versions only one can use a simplified version:

\documentclass{article}
...
\usepackage{hyperref}
\ifdefined\coloredoutput
\else
\fi


and the call

pdflatex '\let\coloredoutput=T\input{myfile}'


pdflatex myfile


will use no color.

-
Thanks egreg. And thanks all participants. –  Regis da Silva May 26 '11 at 22:05
pdflatex '\scrollmode\newif\ifflag\flagtrue\input{myfile.tex}'

The \scrollmode makes TeX not to stop in case of errors. It's convenient when used in a Makefile but you could omit it if you are calling pdflatex from the command line.
Inside myfile.tex you can use \ifflag .. \else .. \fi to process your document depending on the value of the flag.