<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% !TeX TS-program = lualatex
\documentclass[10pt,french]{article}
\usepackage[no-math]{fontspec}
\usepackage[libertine]{newtxmath}
\usepackage{libertineRoman}
\DeclareSymbolFont{operators}{\encodingdefault}{\familydefault}{m}{n}
\usepackage[a4paper,margin=3cm,head=12pt,headsep=7mm,footskip=7mm]{geometry}
\usepackage[bottom]{footmisc}
\usepackage{amsmath,fancybox,enumitem,systeme,xcolor,amsfonts,array,longtable,fancyhdr,babel}
\setmonofont[Scale=0.8]{Luxi Mono}
\frenchsetup{og=Â«,fg=Â»,AutoSpaceFootnotes=false,AutoSpacePunctuation=true,StandardLists=true}
\usepackage[protrusion=true,expansion,final,babel=true]{microtype}
\fancypagestyle{plain}{%
	\fancyhead[L]{\small L'extension \bfseries systeme}
	\fancyhead[C]{}
	\fancyhead[R]{\scriptsize\slshape\leftmark}
	\fancyfoot[l]{}
	\fancyfoot[c]{}
	\fancyfoot[r]{\thepage}}
\renewcommand\headrulewidth{0.4pt}

\makeatletter

\newcommand\make@car@active[2]{%
	\catcode`#1\active
	\begingroup
		\lccode`\~`#1\relax
		\lowercase{\endgroup\def~{#2}}%
}

\newcommand\exemple{%
	\begingroup
	\parindent\z@
	\parskip\z@
	\@makeother\;\@makeother\!\@makeother\?\@makeother\:% neutralise frenchb
	\exemple@}

\newcommand\exemple@[2][50]{%
	\begingroup
		\let\do\@makeother\dospecials
		\make@car@active\ { {}}%
		\make@car@active\^^M{\par\leavevmode}%
		\make@car@active\^^I{\space\space\space\space\space\space\space\space\space}%
		\make@car@active\,{\leavevmode\kern\z@\string,}%
		\make@car@active\-{\leavevmode\kern\z@\string-}%
		\exemple@@{#1}{#2}%
}

\newcommand\exemple@@[3]{%
	\def\@tempa##1#3{\exemple@@@{#1}{#2}{##1}}%
	\@tempa
}

\newcommand\exemple@@@[3]{%
	\xdef\the@code{#3}%
	\endgroup
	\par\nobreak\medskip\noindent
	\boxput*(0,1)
		{\fboxsep\z@
		\hbox{\colorbox{white}{\leavevmode\kern0.25em{\small\bfseries#2}\kern0.25em}}%
		}%
		{\fboxsep5pt
		\fbox{%
			$\vcenter{\hsize\dimexpr0.#1\linewidth-\fboxsep-\fboxrule\relax
				\kern5pt\parskip0pt \ttfamily\small\the@code}%
			\vcenter{\kern5pt\hsize\dimexpr\linewidth-0.#1\linewidth-\fboxsep-\fboxrule\relax
				\small\newlinechar`\^^M\everyeof{\noexpand}\scantokens{#3}}$%
			}%
		}%
	\medbreak
	\endgroup
}

\newcommand\falseverb[1]{{\ttfamily\detokenize{#1}}}

\long\def\centerverb#1{%
	\def\centerverb@i##1#1{##1\hfill\null\par\egroup}
	\bgroup
		\ttfamily\@noligs
		\parskip2pt\par\hfill
		\let\do\@makeother\dospecials
		\@vobeyspaces
		\centerverb@i}

\def\longfrdate@i#1/#2/#3\@nil{\number#3\relax\ifnum#3=1 \ier\fi\space\ifcase #2 \or janvier\or fÃ©vrier\or mars\or avril\or mai\or juin\or juillet\or aout\or septembre\or octobre\or novembre\or dÃ©cembre\fi\space#1}
\def\longfrdate{\expandafter\longfrdate@i\SYSdate\@nil}
\makeatother

\usepackage[plainpages=false,pdfpagelabels,bookmarks=true,bookmarksopen=true,colorlinks=true,hyperfootnotes=false,filecolor=black,linkcolor=blue,urlcolor=magenta,pdfauthor={Christian TELLECHEA},pdftitle={systeme},pdfsubject={Saisie intuitive de systÃ¨mes d'Ã©quations},pdfkeywords={systeme},pdfcreator={LaTeX}]{hyperref}
\begin{document}
\setitemize{leftmargin=3em,topsep=\dimexpr-\parskip+1.5pt\relax,parsep=0pt,itemsep=1.5pt,label=---}
\begin{titlepage}
	\null\par\vspace{1.5cm}
	\begin{center}
		\begin{minipage}{0.75\linewidth}
			\begin{center}
				\Huge L'extension pour \TeX{} et \LaTeX{}\normalsize\par
				\fontsize{50pt}{50pt}\selectfont\bfseries\SYSname\par
				\par\vspace{5pt}\normalsize
				v\SYSver\par\vspace{5pt}
				\longfrdate\par\vspace{35pt}
				\normalsize Manuel de l'utilisateur
			\end{center}
		\end{minipage}
	\end{center}
	\vspace{1cm}
	\begin{center}
		Christian {\sc Tellechea}\par\small
		\href{mailto:unbonpetit@netc.fr}{\texttt{\textbf{unbonpetit@netc.fr}}}
	\end{center}
	\vspace{2cm}
	\begin{center}
		\begin{minipage}{0.8\linewidth}
			\noindent\hrulefill\par
			\hfill\textbf{\textit{RÃ©sumÃ©}}\hfill{}\medskip\par\small
				Cette petite extension met en forme des systÃ¨mes d'Ã©quations ou d'inÃ©quations oÃ¹ les termes et les signes sont alignÃ©s verticalement, tout en permettant une saisie quasi naturelle.\par
			\hrulefill
		\end{minipage}
	\end{center}
	\vspace{2cm}
	\tableofcontents
\end{titlepage}
\pagestyle{plain}
\parskip5pt minus 1pt
\parindent0pt

\section{FonctionnalitÃ©s de l'extension}
\subsection{La commande \texttt{\textbackslash systeme}}
Pour l'utiliser l'extension Â« systemeÂ» , il faut Ã©crire :
\begin{itemize}
	\item {\color{blue}\verb-input systeme.tex-} lorsqu'on utilise (pdf)(Xe)(lua)\TeX;
	\item {\color{blue}\verb-\usepackage{systeme}-} dans le prÃ©ambule lorsqu'on utilise (pdf)(Xe)(lua)\LaTeX.
\end{itemize}
L'extension \href{https://www.ctan.org/pkg/xstring}{\texttt{\textbf{xstring}}} est requise et chargÃ©e si cela n'a pas Ã©tÃ© le cas.

La commande principale est \verb-\systeme- dont l'argument obligatoire contient les Ã©quations sÃ©parÃ©es par une virgule :

\exemple{La commande \ttfamily\string\systeme}/RÃ©soudre
\systeme{2a-3b+4c=2,
	a+8b+5c=8,
	-a+2b+c=-5}/
La virgule, qui est le sÃ©parateur par dÃ©faut, peut Ãªtre changÃ©e en tout autre caractÃ¨re. Il suffit de placer ce nouveau caractÃ¨re dans l'argument de la commande \verb-\syseqsep-.

La commande \verb-\systeme- fonctionnera en mode math ou non et donnera un rÃ©sultat correct si toutes les inconnues se trouvent dans le membre de gauche, le membre de droite Ã©tant celui des constantes. Les Ã©quations doivent Ãªtre \emph{dÃ©veloppÃ©es}, c'est-Ã&nbsp;-dire que chaque terme est sÃ©parÃ© de son voisin par un Â«\verb-+-Â» ou un Â«\verb+-+Â». De plus, les inconnues doivent Ãªtre des lettres minuscules non accentuÃ©es, c'est-Ã&nbsp;-dire tout caractÃ¨re de Â«\verb-a-Â» Ã&nbsp; Â«\verb-z-Â». Les espaces sont ignorÃ©s dans l'argument de la macro \verb|\systeme|.

L'alignement construit sera un tableau prÃ©cÃ©dÃ© d'une accolade et aura les spÃ©cificitÃ©s suivantes :
\begin{itemize}
	\item les signes d'Ã©galitÃ© ou d'inÃ©galitÃ© sÃ©parant les deux membres sont alignÃ©s;
	\item les signes Â«\verb-+-Â» ou Â«\verb+-+Â» sÃ©parant chaque terme du membre gauche sont alignÃ©s;
	\item chaque terme du membre de gauche se trouve dans une colonne au fer Ã&nbsp; droite;
	\item le membre de droite se trouve dans une colonne au fer Ã&nbsp; gauche;
	\item les espacements mathÃ©matiques entre colonnes seront corrects.
\end{itemize}

Les inconnues peuvent avoir un indice, sous rÃ©serve que celui-ci soit un nombre entier \emph{positif ou nul}\footnote{L'indice $-1$ correspond en interne Ã&nbsp; une inconnue non indicÃ©e. Par consÃ©quent, la prÃ©sence simultanÃ©e dans une mÃªme Ã©quation d'une inconnue non indicÃ©e et de cette inconnue avec l'indice $-1$ provoquera une erreur.} :
\exemple{Inconnues indicÃ©es}/\systeme{4x_1-x_2=3,
	-x_1+5x_2=-1}/

Si une inconnue est manquante dans une Ã©quation, la colonne du tableau reste vide :
\exemple{Inconnues manquantes}/\systeme{a-2b=3,
	b-3c=4,
	-a+4c=-1}/

Le membre de gauche peut contenir un terme constant. Dans ce cas, quel que soit l'endroit oÃ¹ il a Ã©tÃ© Ã©crit dans ce membre, il sera affichÃ© en derniÃ¨re position, c'est-Ã&nbsp;-dire juste avant le signe d'Ã©galitÃ© :

\exemple{Terme constant dans le membre de gauche}/\systeme{2x+3y=0,
	x-z+9=0,
	2+3x+5-y-7+z=0}/

On peut Ã©galement avoir une, plusieurs, ou toutes les Ã©quations sans second membre :
\exemple{Ã‰quation sans second membre}/\systeme{2a+3b-c=4,
	b-2c,
	-a+2b+3c}/

Dans l'argument de la commande \verb-\systeme-, lorsque deux virgules se suivent, une Ã©quation vide, c'est-Ã&nbsp;-dire une ligne vide est insÃ©rÃ©e. MalgrÃ© cette facilitÃ©, pour augmenter l'espacement vertical entre les Ã©quations, il vaut mieux utiliser la commande \verb-\syslineskipcoeff-, voir page~\pageref{espacement.vertical}.
\exemple{Ligne vide}/\systeme{a-2b=3,,2a+5b=7}/

La commande \verb-\systeme- permet d'utiliser les commandes \verb-\+- et \verb+\-+ pour Ã©chapper Â«\verb-+-Â» et Â«\verb+-+Â», au cas oÃ¹ les coefficients doivent contenir ces signes, pour Ã©viter qu'ils ne soient compris comme la fin d'un terme :
\exemple{Coefficient contenant une addition ou soustraction}/\systeme{(2\+\sqrt2)x-(1\-\sqrt2)y=1,
	x+(1\+\sqrt2)y=-1}/

Lorsqu'elle est suivie d'une Â«\verb-*-Â», la commande \verb-\systeme- est dÃ©gradÃ©e et n'aligne que les signes d'Ã©galitÃ© :
\exemple{La commande \ttfamily\string\systeme*}/\systeme{3x-4y+z=5,
	5x-3z=1,
	y+z=0}

\systeme*{3x-4y+z=5,
	5x-3z=1,
	y+z=0}/

\subsection{Choix des dÃ©limiteurs}
Par dÃ©faut, les dÃ©limiteurs extensibles qui se trouvent Ã&nbsp; gauche et Ã&nbsp; droite du systÃ¨me sont Â«\verb-\{-Â» et Â«\verb-.-Â» et sont placÃ©s aprÃ¨s les primitives \verb-\left- et \verb-\right-.

On peut modifier ces deux dÃ©limiteurs via la commande \verb-\sysdelim&lt;delim gauche&gt;&lt;delim droit&gt;- :
\exemple{Choix des dÃ©limiteurs extensibles}/\systeme{2a+3b=5,3a-b=8}

\sysdelim[]\systeme{2a+3b=5,3a-b=8}

\sysdelim.|\systeme{2a+3b=5,3a-b=8}

\sysdelim{(}{\lfloor}\systeme{2a+3b=5,3a-b=8}/

\subsection{Tri des inconnues}
Quel que soit l'ordre dans lequel sont entrÃ©es les inconnues lors de la saisie, elles seront triÃ©es par ordre alphabÃ©tique Ã&nbsp; l'affichage, en tenant compte de leur Ã©ventuel indice. Un signe Â«\verb-+-Â» ne sera pas affichÃ© lorsqu'il prÃ©cÃ¨de le premier terme d'une Ã©quation :
\exemple{Tri des inconnues}/\systeme{2y+x-3z=4,
	z-y+2x=-1,
	-2x+3z-4y=0}

\systeme{y_2+5y_1-x_1=0,
	y_1-x_1+3y_2=4,
	2x_1-y_2-y_1=-1}/

Lorsque les inconnues sont indicÃ©es, elles sont classÃ©s alphabÃ©tiquement puis dans l'ordre croissant de leur indice.

Le tri alphabÃ©tique est une facilitÃ© mais il peut s'avÃ©rer gÃªnant surtout dans les systÃ¨mes $4\times4$ oÃ¹, bien souvent, la 4\ieme{} inconnue est Â«$t$Â» :
\exemple{Tri alphabÃ©tique indÃ©sirable}/\systeme{x+2y-3z+t=0,
	2x-y-z+3t=4,
	2y+3z+4t=-1,
	3x-2z-2t=3}/
On aimerait bien que l'inconnue $t$ soit en 4\ieme{} position dans toutes les Ã©quations. Pour cela, il faut forcer un tri diffÃ©rent du tri alphabÃ©tique avec l'argument optionnel de la commande \verb-\systeme-. Cet argument optionnel doit contenir la liste des inconnues, Ã©ventuellement indicÃ©es, sans aucun espace entre elles, et dans l'ordre oÃ¹ l'on souhaite les voir affichÃ©es dans chaque Ã©quation.

Ici, on affiche deux fois le mÃªme systÃ¨me avec deux ordres diffÃ©rents :
\exemple{Tri forcÃ©}/\systeme[xyzt]{x+2y-3z+t=0,
	2x-y-z+3t=4,
	2y+3z+4t=-1,
	3x-2z-2t=3}

\systeme[ztyx]{x+2y-3z+t=0,
	2x-y-z+3t=4,
	2y+3z+4t=-1,
	3x-2z-2t=3}/

Cet argument optionnel implique d'autres fonctionnalitÃ©s, qui, avec le tri forcÃ© vu juste au dessus, se cumulent toutes. Ainsi, lorsque cet argument optionnel existe et n'est pas vide :
\begin{enumerate}
	\item les inconnues qui sont contenues dans l'argument optionnel peuvent Ãªtre autre chose que des lettres minuscules (par exemple \verb-A-, \verb-B-, \verb-\alpha-, etc.) Ã©ventuellement indicÃ©es :
	\exemple{Autres inconnues}/\systeme[A\alpha\beta]{%
	A-\alpha+3\beta=4,
	2A+\alpha-\beta=0,
	-A+3\alpha-2\beta=5}/
	\item seules les inconnues figurant dans l'argument optionnel sont reconnues dans les Ã©quations. Dans l'exemple ci dessous, la lettre $m$ n'est pas comprise comme Ã©tant une inconnue :
	\exemple{Inconnues forcÃ©es}/\systeme[xy]{mx-y=3,
	x-m^2y=-1}/
\end{enumerate}

\subsection{InÃ©quations}
Dans chaque ligne, le signe susceptible de sÃ©parer les deux membres d'une Ã©quation est l'un de ceux-ci : \verb-=-, \verb-&lt;-, \verb-&gt;-, \verb-&lt;=-, \verb-&gt;=-, \verb-\leq-, \verb-\geq-, \verb-\leqslant- et \verb-\geqslant-. Les deux derniers ne sont utilisables que si l'extension \href{https://ctan.org/pkg/amsfonts}{\texttt{\textbf{amsfonts}}} a Ã©tÃ© chargÃ©e.

Les signes \verb-&lt;=- et \verb-&gt;=- sont remplacÃ©s Ã&nbsp; l'affichage par \verb-\leq-, \verb-\geq-, qui donnent $\leq$ ou $\geq$.
\exemple{InÃ©quations}/\systeme{x+y-2z&gt;4,
	2x-y+z\geq-1,
	3x-2y+z&lt;=3}/

Pour choisir une autre substitution Ã&nbsp; Â«\verb-&gt;=-Â» ou Â«\verb-&lt;=-Â» ou pour en crÃ©er une pour tout autre signe d'Ã©galitÃ©, on doit utiliser la commande :
\centerverb/\sysequivsign{signe}{substitution}/

Voici le mÃªme systÃ¨me oÃ¹ l'on dÃ©finit la substitution de Â«\verb-&lt;=-Â» avec Â«\verb-\leqslant-Â» comme on l'observe Ã&nbsp; la troisiÃ¨me Ã©quation :
\exemple{RedÃ©finir une substitution}/\sysequivsign{&lt;=}{\leqslant}
\sysequivsign{&gt;=}{\geqslant}
\systeme{x+y-2z&gt;4,
	2x-y+z&gt;=-1,
	3x-2y+z&lt;=3}/

\subsection{Nouveaux signes d'Ã©galitÃ©}
Avec la commande \verb-\sysaddeqsign-, on peut crÃ©er un nouveau signe susceptible de sÃ©parer les deux membres des Ã©quations. Il faut Ã©crire :
\centerverb/\sysaddeqsign{&lt;nouveau signe&gt;}/

Mettons ici que l'on crÃ©Ã© le nouveau signe\footnote{La crÃ©ation d'un nouveau signe est possible mÃªme si son code de catÃ©gorie est actif.} d'Ã©galitÃ© Â«\verb-~-Â» en Ã©crivant :
\centerverb/\sysaddeqsign{~}/

Puis, mettons que l'on veuille ensuite remplacer ce nouveau signe par Â«\verb-\approx-Â» dans l'affichage final. On devra Ã©crire :
\centerverb/\sysequivsign{~}{\approx}/

En voici l'illustration dans cet exemple :
\exemple{Nouveau signe}/\sysaddeqsign{~}
\sysequivsign{~}{\approx}
\systeme{2a+b-c~6,a-4b~4}/

Par la suite, on peut supprimer ce signe ou n'importe quel autre dÃ©jÃ&nbsp; existant il faut utiliser la commande \verb-\sysremoveeqsign- et Ã©crire :
\centerverb/\sysremoveeqsign{~}/

\subsection{Coefficients dÃ©cimaux}
Ã€ premiÃ¨re vue, la virgule Ã©tant utilisÃ©e pour sÃ©parer les Ã©quations, il n'est pas possible d'Ã©crire des coefficients dÃ©cimaux. On peut spÃ©cifier un autre caractÃ¨re pour sÃ©parer les diffÃ©rentes Ã©quations avec le second argument optionnel de la commande \verb-\systÃ¨me-. Ici, on prend Â«\verb-:-Â»\footnote{Ici encore, il est possible de choisir un caractÃ¨re de code de catÃ©gorie actif, comme c'est le cas de Â«\string:Â» lorsque l'option Â«\texttt{frenchb}Â» est spÃ©cifiÃ©e au package \texttt{babel}.} ce qui permet d'Ã©crire des coefficients dÃ©cimaux. Le comportement de la virgule est redÃ©fini Ã&nbsp;  l'intÃ©rieur de la commande \verb-\systeme- de telle sorte qu'elle ne soit pas suivie d'une espace, comme c'est le cas en mode mathÃ©matique.
\exemple{Coefficients dÃ©cimaux}/\systeme[][:]{1,5x-0,45y=0,7:
	x-0,8y=1,4}/
Pour qui veut utiliser la virgule rÃ©guliÃ¨rement dans les coefficients, on peut changer dÃ©finitivement le sÃ©parateur par dÃ©faut pour n'importe quel autre caractÃ¨re que l'on placera dans l'argument de la commande \verb-\syseqsep- et Ã©crire par exemple Â«\verb/\syseqsep{:}/Â» pour choisir Â«\verb-:-Â».

\subsection{Alignement des termes}
Par dÃ©faut, les termes dans le membre de gauche sont alignes Ã&nbsp; droite, tandis que le terme du membre de droite est alignÃ© Ã&nbsp; gauche. On peut changer ces consignes d'alignement avec la macro \verb|\sysalign{x,y}| oÃ¹ \verb|x| reprÃ©sente la consigne d'alignement des termes du membre de gauche et \verb|y| celle du terme du membre de droite. Ces consignes doivent Ãªtre Â«\verb|c|Â» pour Â«centrÃ©Â», Â«\verb|r|Â» pour alignement Ã&nbsp; droite (right) ou Â«\verb|l|Â» pour gauche (left).
\exemple{Alignement des termes}|\systeme{3x-y=-12,x+4y=3}
    \quad(par dÃ©faut, droite/gauche)

\sysalign{l,l}\systeme{3x-y=-12,x+4y=3}
    \quad(alignement gauche/gauche)

\sysalign{r,r}\systeme{3x-y=-12,x+4y=3}
    \quad(alignement droite/droite)

\sysalign{l,r}\systeme{3x-y=-12,x+4y=3}
    \quad(alignement gauche/droite)

\sysalign{c,c}\systeme{3x-y=-12,x+4y=3}
    \quad(alignement centrÃ©/centrÃ©)|

\subsection{Espacement des lignes}\label{espacement.vertical}
On peut faire varier l'espacement entre les lignes avec la commande \verb-\syslineskipcoeff- dont l'argument est un nombre qui viendra multiplier la valeur de \verb-\baselinskip-. Par dÃ©faut, l'argument vaut \verb-1.25-.
\exemple{Espacement variable}/\systeme{x+2y-z=0,2x-y+z=1,x-3y+2z=1}
\syslineskipcoeff{1.75}\quad
\systeme{x+2y-z=0,2x-y+z=1,x-3y+2z=1}/

\subsection{Espaces autour des signes}
Il est possible d'ajouter une espace avant et aprÃ¨s tous les signes \verb|+| et \verb|-| sÃ©parant les termes du membre de gauche Ã&nbsp; l'aide de la macro \verb|\syssignspace{dim}| oÃ¹ \verb|dim| est la dimension du \emph{ressort} que l'on souhaite insÃ©rer. La macro \verb|\syseqspace{dim}| exÃ©cute la mÃªme action, mais pour le signe \verb|=|.
\exemple{Espaces autour des signes}/\systeme{3x-y=-12,x+4y=3} puis
\syssignspace{3pt}\syseqspace{10pt}
\systeme{3x-y=-12,x+4y=3}/

\subsection{Colonne supplÃ©mentaire}
Lorsqu'une Ã©quation comporte le signe Â«\verb-@-Â», tout ce qui se trouve Ã&nbsp; droite de ce caractÃ¨re sera mis dans une colonne supplÃ©mentaire au fer Ã&nbsp; gauche qui se trouvera Ã&nbsp; droite du systÃ¨me, en derniÃ¨re position.
\exemple{Colonne supplÃ©mentaire}/\systeme{x+y=125@L_1,
	x-y=12@L_2}/

Le signe Â«\verb-@-Â» peut Ãªtre changÃ© en un autre avec la commande \verb-\sysextracolsign- et on peut Ã©crire par exemple Â«\verb/\sysextracolsign{|}/Â».

Cette colonne supplÃ©mentaire n'est \emph{pas} composÃ©e en mode mathÃ©matique, mais deux codes sont insÃ©rÃ©es au dÃ©but et Ã&nbsp; la fin de cette colonne. Ils sont dÃ©finis par :\centerverb/\syscodeextracol{&lt;code dÃ©but&gt;}{&lt;code fin&gt;}/
Par dÃ©faut, on a \verb-\syscodeextracol{\kern1.5em$}{$}- ce qui signifie qu'un espace horizontal d'1.5em est insÃ©rÃ© et le Â«\verb-$-Â» ouvre le mode mathÃ©matique au dÃ©but de la colonne. Enfin, pour le second argument, Â«\verb-$-Â» termine le mode math Ã&nbsp; la fin de la colonne.

On va redÃ©finir ces deux codes pour ne pas se mettre en mode math et mettre un espace de 2.5em :
\exemple{Personnalisation de la colonne supplÃ©mentaire}/\syscodeextracol{\kern2.5em }{}
\sysextracolsign{|}
\systeme{x+y=125|somme des deux nombres,
	x-y=12|diffÃ©rence des deux nombres}/

\subsection{NumÃ©rotation automatique}
La colonne supplÃ©mentaire peut Ãªtre utilisÃ©e pour y mettre une numÃ©rotation automatique. La premiÃ¨re faÃ§on de procÃ©der est d'indiquer le schÃ©ma que doit prendre cette numÃ©rotation automatique Ã&nbsp; la premiÃ¨re ligne, sachant que le caractÃ¨re Â«\verb-*-Â» dÃ©clenche la mise en place de la numÃ©rotation automatique et sera remplacÃ© par le numÃ©ro de la ligne dans le systÃ¨me. Les autres lignes, mÃªme si elles n'ont pas de colonne supplÃ©mentaire, porteront un numÃ©ro :
\exemple{NumÃ©rotation automatique}/\systeme{x+y-z=3@L_{*},
	2x+y+z=4,
	x-y+2z=0}/

Si on souhaite spÃ©cifier explicitement des colonnes supplÃ©mentaires aux lignes qui n'en ont pas, la numÃ©rotation automatique vient \emph{avant} le contenu explicite des colonnes supplÃ©mentaires :
\exemple{NumÃ©rotation automatique}/\systeme{x+y-z=3@L_{*}\quad,
	2x+y+z=4,
	x-y+2z=0}

\systeme{x+y-z=3@L'_{*},
	3x+2y=7@=L_1+L_2,
	3x+y=6@=2L_1+L_3}/

Il est ennuyeux que l'on ne puisse mettre Â«\verb-L'_{*}=L_1-Â» Ã&nbsp; la premiÃ¨re ligne car la totalitÃ© de ce schÃ©ma et notamment la partie indÃ©sirable Â«\verb-L_1-Â» serait reproduite aux lignes suivantes. On peut donc spÃ©cifier le schÃ©ma de numÃ©rotation d'une deuxiÃ¨me faÃ§on, \emph{avant} d'Ã©crire le systÃ¨me. On utilise la commande \verb-\sysautonum- dont l'argument contient ce schÃ©ma.
\exemple{NumÃ©rotation automatique}/\sysautonum{L_{*}}
\systeme{x+y-z=3,
	2x+y+z=4,
	x-y+2z=0}

\sysautonum{L'_{*}\longleftarrow}
\systeme{x+y-z=3@L_1,
	3x+2y=7@L_1+L_2,
	3x+y=6@2L_1+L_3}/

Le schÃ©ma spÃ©cifiÃ© avec la commande \verb-\sysautonum- n'est valable \emph{que pour le prochain systÃ¨me} et sera effacÃ© ensuite, sauf si on a Ã©crit une Ã©toile juste aprÃ¨s la commande \verb-\sysautonum-, auquel cas le schÃ©ma de numÃ©rotation se poursuit pour tous les systÃ¨mes Ã&nbsp; venir :
\exemple{NumÃ©rotation automatique persistante}/\sysautonum*{L_{*}}
\systeme{a+b=4,2a-b=5}
\quad
\systeme{x-3y=0,2x+y=1}/

On peut effacer (et donc annuler) le schÃ©ma de numÃ©rotation automatique en entrant un argument vide : \verb-\sysautonum{}-.

Il existe un compteur global\footnote{Il s'agit d'un compteur \TeX{} portant le doux nom de {\ttfamily\string\SYSeqnum}, accessible via les commandes \TeX{} habituelles, c'est-Ã&nbsp;-dire qu'on peut le faire prÃ©cÃ©der de \texttt{\string\number}, \texttt{\string\romannumeral} pour l'afficher.} d'Ã©quations accessible de la mÃªme faÃ§on que le compteur local mais avec Â«\verb-**-Â». Voici un exemple de numÃ©rotation persistante :
\exemple{NumÃ©rotation globale}/On met en Ã©vidence que \number\SYSeqnum{}
Ã©quations ont Ã©tÃ© Ã©crites jusqu'ici~:

\sysautonum*{\hbox{eq (**)}}
\systeme{x-y+z=3,
	2x+y+z=1,
	x-z=8}

\systeme{u+w=9,
	v+2w=0,
	u-v=1}/

Il est enfin possible d'utiliser la colonne supplÃ©mentaire pour retenir le numÃ©ro d'une Ã©quation et le rappeler plus tard :
\exemple{NumÃ©rotation globale}/\syscodeextracol{\kern1em}{}
\systeme{x-y+z=3@\gdef\foo{**}(\textbf{**}),
	2x+y+z=1@\gdef\bar{**}(\textbf{**}),
	x-z=8@\gdef\baz{**}(\textbf{**})}

L'Ã©quation \no\foo{} est la premiÃ¨re du
systÃ¨me, \bar{} et \baz{} sont les deux
suivantes./

On peut Ã&nbsp; tout moment rÃ©initialiser le compteur global d'Ã©quations Ã&nbsp; l'aide de Â«\verb-\sysreseteqnum-Â».

\subsection{Substitution post traitement}
Juste avant l'affichage du systÃ¨me, il est encore possible de substituer dans le code du systÃ¨me tout caractÃ¨re par un autre\footnote{Plus exactement, toute \emph{suite de tokens} par une autre.}. Pour cela, la commande \verb-\syssubstitute- agit pour tous les systÃ¨mes Ã&nbsp; venir et son argument est fait de caractÃ¨res allant par paires; le premier Ã©tant le caractÃ¨re Ã&nbsp; substituer et le second Ã©tant ce par quoi il le sera. Les substitutions dÃ©finies par \verb-\syssubstitute- viennent \emph{s'ajouter} Ã&nbsp; celles dÃ©jÃ&nbsp; dÃ©finies.

Dans cet exemple, on entre des coefficients dÃ©cimaux oÃ¹ le point est le sÃ©parateur dÃ©cimal. On va demander Ã&nbsp; ce que tous les Â«\verb-.-Â» soient remplacÃ©s par des Â«\verb-,-Â». On remplacera aussi l'inconnue $a_1$ par $x_n$, et $a_2$ par $x_{n+1}$, ces 3 substitutions Ã©tant faites avec \verb-\syssubstitute{.,{a_1}{x_n}{a_2}{x_{n+1}}}- :
\exemple{Substitution post traitement}/\syssubstitute{.,{a_1}{x_n}{a_2}{x_{n+1}}}
\systeme{1.5a_1-0.5a_2=2,1.6a_1-2a_2=0.4}/

La commande \verb-\sysnosubstitute- annule toutes les substitutions prÃ©cÃ©demment dÃ©finies.

\section{Liste des commandes}
Voici la liste de toutes les commandes dÃ©finies par cette extension :
\begin{longtable}{&gt;\footnotesize l&gt;\footnotesize p{9cm}}\\\hline
\hfill\normalsize Commandes\hfill\null &amp;\hfill\normalsize Description\hfill\null\\\hline
\verb-\systeme{&lt;code systÃ¨me&gt;}-&amp;compose un systÃ¨me d'Ã©quations ou d'inÃ©quations\\
\verb-\sysdelim&lt;delim gauche&gt;&lt;delim droit&gt;-&amp;modifie les dÃ©limiteurs extensibles placÃ©es Ã&nbsp; gauche et Ã&nbsp; droite du systÃ¨me\\
\verb-\syseqsep{&lt;caractÃ¨re&gt;}-&amp;dÃ©finit le sÃ©parateur par dÃ©faut des Ã©quations\\
\verb-\sysalign{x,y}-&amp;dÃ©finit l'alignement des termes dans les 2 membres\\
\verb-\syssignspace{dim}-&amp;dÃ©finit l'espace ajoutÃ©e autour des signes dans le membre de gauche\\
\verb-\syseqspace{dim}-&amp;dÃ©finit l'espace ajoutÃ©e autour du signe \verb-=-\\
\verb-\syslineskipcoeff{&lt;coeff&gt;}-&amp;dÃ©finit le coefficient multiplicateur de \verb-\baselinskip- pour modifier l'espacement vertical des Ã©quations\\
\verb-\+- et \verb|\-|&amp;remplace Â«\verb-+-Â» et Â«\verb+-+Â» lorsqu'on veut Ã©viter d'indiquer un nouveau terme\\
\verb-\sysequivsign{&lt;signe&gt;}{&lt;substitution&gt;}-&amp;dÃ©finit ce par quoi un  \verb-&lt;signe&gt;- d'Ã©galitÃ© doit Ãªtre remplacÃ© Ã&nbsp; l'affichage\\
\verb-\sysaddeqsign{&lt;signe&gt;}-&amp;dÃ©finit un nouveau signe d'Ã©galitÃ©\\
\verb-\sysremoveeqsign{&lt;signe&gt;}-&amp;supprime un signe d'Ã©galitÃ©\\
\verb-\sysextracolsign{&lt;signe&gt;}-&amp;dÃ©finit le caractÃ¨re dÃ©limitant la colonne supplÃ©mentaire\\
\verb-\syscodeextracol{&lt;code&gt;}{&lt;code&gt;}-&amp;dÃ©finit les \verb-&lt;code&gt;- qui seront insÃ©rÃ© au dÃ©but et Ã&nbsp; la fin de la colonne supplÃ©mentaire\\
\verb-*-&amp;dÃ©clenche la numÃ©rotation automatique dans la colonne supplÃ©mentaire et est remplacÃ© par le numÃ©ro de la ligne du systÃ¨me\\
\verb-**-&amp;dans la colonne supplÃ©mentaire, est remplacÃ© par le numÃ©ro global de l'Ã©quation\\
\verb-\sysautonum{&lt;code&gt;}-&amp;dÃ©finit le schÃ©ma de la numÃ©rotation automatique\\
\verb-\syssubstitute{&lt;paires de caractÃ¨res&gt;}-&amp;ajoute des substitutions Ã&nbsp; faire dans le code du systÃ¨me avant que celui-ci ne soit affichÃ©\\
\verb-\sysnosubstitute-&amp;supprime toutes les substitutions jusqu'Ã&nbsp; prÃ©sent dÃ©finies\\\hline
\end{longtable}
\end{document}</pre></body></html>