% fichier xtdeqnra.sty ver 1.1 Decembre 2004 % % Copyright (C) 2004 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}[2004/12/10 version 1.1] % - 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@{\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 \ifx\notag\undefined\else\notag\fi% fixed on 12/10/2004 to support amsmath \enddisplaymath \global\@ignoretrue }