<p>
Vous pouvez dfinir des variables dans vos documents puis les appeler dans la suite (d'une mme page), rendant ainsi le document plus dynamique.

Par exemple, la ligne suivante dfinit une variable sous le nom de
<font color=blue><b>x1</b></font>, dont la valeur sera un entier alatoire entre
-10 et 10 (inclusif)&nbsp;:
<pre>
\\def{integer x1=random(-10..10)}
</pre>
Cette valeur alatoire peut ensuite tre voqu par le mot
<b><tt>\\x1</tt></b>, dans la suite du bloc qui l'a dfinie.
C'est--dire, chaque mot <tt>\\x1</tt> sera remplac par la valeur alatoire de la variable. Cette substitution prend aussi effet dans les dfinitions
d'autres variables qui suivent celle de x1.

\def{integer x1=random(10..50)}
\def{integer y1=random(10..50)}
\def{integer xy=\x1*\y1}
Par exemple, dans cette page nous avons dfini
<pre>
\\def{integer x1=random(10..50)}
\\def{integer y1=random(10..50)}
\\def{integer xy=\\x1*\\y1}
</pre>
Par consquent, le texte <tt>\\x1*\\y1=\\xy</tt> donne
\x1*\y1=\xy. Vous pouvez \reload{renouveller la page} pour voir les valeurs changer.
<p><center>Quelques autres exemples de variables
\help{module=adm/doc.fr&job=help&help_subject=oefparm}
{[Liste complte]}
<table border=2 bgcolor=bisque>
<tr><th>Dfinition<th>Effet
<tr><td><tt>\\def{real x=random(-5..5)}
    <td>\\x sera un nombre rel alatoire<br>entre -5 et 5
<tr><td><tt>\\def{real a=random(-5,-3,0.3,4)}
    <td>\\a sera un nombre rel pris alatoirement<br>parmis -5,-3,0.3 et 4
<tr><td><tt>\\def{complex z=(1+2*i)^3}
    <td>\\z sera le nombre complexe z=\((1+2*i)^3)
<tr><td><tt>\\def{text sign=random(+,-)}
    <td>\\sign sera un signe alatoire: + ou -
<tr><td><tt>\\def{integer n=3*exp(\\a)}
    <td>\\n sera l'entier le plus proche de 3*e<sup>\\a</sup><br>(il dpend de la valeur de \\a)
<tr><td><tt>\\def{function f=random<br>(x^2+1,sin(x),log(x))}
    <td>\\f sera une fonction alatoire: soit \(x^2+1),<br>soit sin(x), soit log(x)
<tr><td><tt>\\def{text s=shuffle(6)}
    <td>\s sera une liste de 6 entiers 1,2,...,6, dans un ordre alatoire.
<tr><td><tt>\\def{text s=shuffle(a,b,c,d,e)}
    <td>\s sera les lettres {a,b,c,d,e} dans un ordre alatoire.
<tr><td><tt>\\def{real a=evalue(x^2+sin(y),x=3,y=4)}
    <td>Evaluation de la fonction \(x^2+sin(y)),<br>
    pour x=3, y=4
<tr><td><tt>\\def{real r=solve(x^3-3*x+1,x=0..1)}
    <td>\\r sera la racine simple de \(x^3-3x+1) entre 0 et 1
<tr><td><tt>\\def{function h=simplify(x^5*y^3*x^2/y)}
    <td>Expression simplifie : \(x^7*y^2)
<tr><td><tt>\\def{function g=diff(sin(x)+cos(y),x)}
    <td>\\g sera la drive de sin(x)+cos(y) par rapport  x
<tr><td><tt>\\def{function F=int(x^2+3*x+1,x)}
    <td>\\F sera une primitive de \(x^2+3*x+1),<br>
     le terme constant n'tant pas garanti d'tre toujours le mme
\comment{<tr><td><tt>\\def{function F=int(t^2+3*t+1,t=1..x)}
    <td>\\F sera la primitive de \(x^2+3*x+1) telle que F(1)=0}
<tr><td><tt>\\def{real a=int(t^2+3*t+1,t=0..1)}
    <td>\a sera l'intgrale numrique de \(x^2+3*x+1), de 0  1
<tr><td><tt>\\def{text f=htmlmath(2*x^2+3*x)}
    <td>\\f sera rendu en html comme: \(2x^2+3x)
<tr><td><tt>\\def{text f=texmath(2*x^2+3*x)}
    <td>\\f sera le source TeX de l'expression.
<tr><td><tt>\\def{matrix m=1,2,3<br>4,5,6<br>7,8,9}
    <td>\\m sera la matrice de 3 lignes et 3 colonnes.

</table></center><p>

Paramtres conditionnels&nbsp; vous pouvez crire<p>
<tt>\text{ttt=_condition?_def1}</tt> ou <br>
<tt>\text{ttt=_condition?_def1:_def2}</tt>
<p>
Dans ce cas, <tt>ttt</tt> aura la valeur <tt>_def1</tt> si
<tt>_condition</tt> s'avre vraie, ou <tt>_def2</tt> sinon (dans la seconde
syntaxe).
\help{module=adm/doc&cmd=new&job=help&help_subject=if}{List of conditions}.

Notons enfin que les blocs insrs via \link{fold}{<tt>\fold</tt>} ou \link{embed}{<tt>\embed</tt>} hritent les dfinitions de variables avant l'insertion.