Comment mettre en page un système d'équations ?
* On peut utiliser les commandes \left délimiteur et \right.
classiques devant un tableau.
Exemple :
\[
\left \{
\begin{array}{c @{=} c}
x & \sin a \cos b \\
y & \sin a \sin b \\
\end{array}
\right.
\]
%%%% fin exemple %%%%
* On peut utiliser le package 'mathenv', permettant de numéroter le
système ou chaque équation du système, le compteur pouvant alors être
personnalisé.
Exemples :
% numérotation du système
\begin{System}
2x + y = 6 \\
3x + y = 7
\end{System}
%numérotation de chaque équation du système
\begin{EqSystem}
2x + y = 6 \\
3x + y = 7
\end{EqSystem}
%%%% fin exemple %%%%
* On peut utiliser le package 'amsmath', permettant de placer des
alternatives conditionnelles.
Exemple :
\begin{equation*}
|x|=
\begin{cases}
-x & \text{si $x$ est impair} \\
x & \text{si $x$ est pair ou nul}
\end{cases}
\end{equation*}
%%%% fin exemple %%%%
* Le package 'cases' disponible sur
ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/contrib/other/misc/ gère les systèmes d'équations.
Exemple :
\begin{numcases}{|x|=}
x, & for $x \geq 0$\\
-x, & for $x < 0$
\end{numcases}
%%%% fin exemple %%%%
* Voici une adaptation de ce package par J. Laurens :
%%%% debut macro %%%%
% fichier xtdeqnra.sty ver 1.0 Decembre 1997
%
% Copyright (C) 1997 by Jerome LAURENS
%
% Ces macros peuvent e^tre librement transmises, sans modification aucune
% tant que cette notice est intacte.
% Base' sur le paquetage cases.sty de D.Arseneau
% et la commande \eqnarray de Leslie Lamport et de l'e'quipe LaTeX3.
%
% On rajoute un parame`tre optionnel a` l'environnement eqnarray qui
% est un delimiteur gauche
%
% Exemple : source
%
% \begin{eqnarray}[\{]
% x_1 & = & valeur_1 \\
% x_2 & = & valeur_2 \\
% x_3 & = & valeur_3
% \end{eqnarray}
%
% Re'sultat
%
% / x_1 = valeur_1 (1)
% |
% < x_2 = valeur_2 (2)
% |
% \ x_3 = valeur_3 (3)
%
% Pour utiliser ce paquetage,
% inclure "\usepackage{xtdeqnra}" apre`s \documentclass.
%
% On peut utiliser l'environnement subequations pour avoir (1a), (1b) et (1c)
% - - - - -
%
\ProvidesPackage{xtdeqnra}[1997/12/05 version 1.0 ]
% - sauvegarde de l'environnement eqnarray
\let\x@eqnarray\eqnarray
\let\endx@eqnarray\endeqnarray
%
% - environnement de remplacement
\def\eqnarray{\@ifnextchar[%
{\let\endeqnarray\endy@eqnarray\y@eqnarray}
{\let\endeqnarray\endx@eqnarray\x@eqnarray}}
%
% - nouvel environnement avec un de'limiteur a` gauche
\def\y@eqnarray[#1]%
{ \gdef\@leftdelimiter{#1}
\displaymath
\setbox\tw@\vbox
\bgroup
\stepcounter{equation}%
\def\@currentlabel{\p@equation\theequation}%
\global\@eqnswtrue
\m@th
\everycr{}%
\tabskip\@centering
\let\\\@eqncr
\halign to\displaywidth
\bgroup
\hskip \@ne\arraycolsep
\hfil$\displaystyle
\tabskip\z@skip{##}$%
\@eqnsel
&\global\@eqcnt\@ne
\hskip \tw@\arraycolsep
\hfil${##}$\hfil
&\global\@eqcnt\tw@
\hskip\tw@\arraycolsep
$\displaystyle{##}$\hfil
\unskip\hfil
\tabskip\@centering% \unskip removes space if no explanations
&\global\@eqcnt\thr@@
\hb@xt@\z@\bgroup\hss##\egroup
\tabskip\z@skip
\cr
}
\def\endy@eqnarray{%
\@@eqncr
\egroup % end \halign, which does not contain brace
\global\advance\c@equation\m@ne
\unskip\unpenalty
\unskip\unpenalty
\setbox\z@\lastbox % grab last line
\nointerlineskip
\copy\z@ % then put it back
\setbox\z@\hbox{\unhbox\z@}%
\global\dimen@i\wd\z@
\egroup% end \vbox (box\tw@, box\z@ is restored to LHS)
\hbox to\displaywidth{%
\m@th % assemble the whole equation
\hskip\@centering
\hbox to\dimen@i{%
$\displaystyle%
\dimen@\ht\tw@
\advance\dimen@\dp\tw@ % get size of brace
\setbox\z@\hbox{$\mathord{\left\@leftdelimiter\vcenter
to\dimen at {\vfil}\right.}$}%
\dimen@\wd\z@
\kern-\dimen@
\box\z@%
\n@space % make brace
$\hfil}
\hskip\@centering % finished first part (filled whole line)
\kern-\displaywidth$%
\vcenter{\box\tw@}$% overlay the alignment
}% end the \hbox
\enddisplaymath
\global\@ignoretrue
}
\endinput
% fin du fichier xtdeqnra.sty
%%%% fin macro %%%%
* Le package 'delarray' disponible sur
ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/required/tools/ peut également être utilisé dans
ce but.