====== Comment utiliser des tests “si... alors...”? ======


$\Reponse$  Le package [[ctanpkg>ifthen]] permet de faire ce genre de choses de façon assez simple,
avec en particulier les commandes ''\ifthenelse'' et ''\whiledo'':

<WRAP column 50ex>
<code latex>
\documentclass[french]{article}
  \usepackage{ifthen}

% Macro pour écrire des lettres.
% Argument:
%  'F' pour écrire à une femme,
%  'M' pour  écrire à un homme.
\newcommand*{\ecrireLettre}[1]{%
\hspace{4ex}%
\ifthenelse{\equal{#1}{M}%
            }{Cher Monsieur,}{Chère Madame,}

J'ai le plaisir de vous inviter\dots
}

\begin{document}

  \ecrireLettre{F}

  ---

  \ecrireLettre{M}

\end{document}
</code>
</WRAP>
<WRAP column 30ex>
<latexdoc>
\documentclass[french]{article}
  \usepackage{ifthen}
  \pagestyle{empty}

\newcommand*{\ecrireLettre}[1]{%
\hspace{4ex}%
\ifthenelse{\equal{#1}{M}%
            }{Cher Monsieur,}{Chère Madame,}

J'ai le plaisir de vous inviter\dots
}

\begin{document}

\ecrireLettre{F}

---

\ecrireLettre{M}

\end{document}
</latexdoc>
</WRAP>
<WRAP clear />

$\Reponse$  <latex>\TeX</latex> fournit également des structures conditionnelles. Notamment
les commandes ''\if'', ''\ifx'', ''\ifnum''... 


$\Reponse$  On peut également définir des variables booléennes en <latex>\TeX</latex> :
on procédera de la façon suivante : on déclare un booléen avec la
commande ''\newif''. On peut ensuite modifier sa valeur, et définir des
commandes dont le comportement dépend de cette valeur. Par exemple

<code latex>
\newif\ifcondition
\conditionfalse

La condition est \ifcondition vraie\else fausse\fi.
</code>

La commande ''\conditionfalse'' met la valeur de la variable ''condition''
à faux. L'inverse eût été réalisé par la commande ''\conditiontrue''. 


{{htmlmetatags>metatag-keywords=(LaTeX,ifthenelse,structures conditionnelles,si...alors,conditions en TeX,conditions en LaTeX)
metatag-og:title=(Utiliser des tests “si... alors...”)
metatag-og:site_name=(FAQ LaTeX francophone)
}}
