summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-01-01 22:05:01 +0000
committerKarl Berry <karl@freefriends.org>2018-01-01 22:05:01 +0000
commitea087d8fd6dc3e8eb9b3597ffacce86966a8d3c6 (patch)
treea9503d4672927ab766c599ffce29c1ffb90b2a8a /Master/texmf-dist
parent2b385f2c2d20ba020e3b4cbafd59b56d4cd5ebd8 (diff)
systeme (1jan18)
git-svn-id: svn://tug.org/texlive/trunk@46184 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/generic/systeme/README27
-rw-r--r--Master/texmf-dist/doc/generic/systeme/systeme_doc_fr.pdfbin469328 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/systeme/systeme_fr.pdfbin0 -> 459542 bytes
-rw-r--r--Master/texmf-dist/doc/generic/systeme/systeme_fr.tex (renamed from Master/texmf-dist/doc/generic/systeme/systeme_doc_fr.tex)261
-rw-r--r--Master/texmf-dist/tex/generic/systeme/systeme.sty2
-rw-r--r--Master/texmf-dist/tex/generic/systeme/systeme.tex101
6 files changed, 86 insertions, 305 deletions
diff --git a/Master/texmf-dist/doc/generic/systeme/README b/Master/texmf-dist/doc/generic/systeme/README
new file mode 100644
index 00000000000..d89332a02f4
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/systeme/README
@@ -0,0 +1,27 @@
+ L'extension
+ systeme
+
+ v0.31
+
+ 1er janvier 2018
+
+Author : Christian Tellechea
+Email : unbonpetit@netc.fr (CT)
+ Commentaires, signalements de bugs et
+ suggestions bienvenus
+Licence : Released under the LaTeX Project Public License v1.3c or
+ later, see http://www.latex-project.org/lppl.txt
+
+----------------------------------------------------------------------
+ R\'esum\'é
+
+Cette extension permet d'entrer un syst\`eme d'\'equations ou
+d'in\'egalit\'es lin\'éaires sous forme intuitive et d'obtenir un
+rendu o\`u les termes et les signes sont align\'es verticalement
+
+----------------------------------------------------------------------
+ Abstract
+
+This package allows you to enter systems of linear equations or
+inequalities in a intuitive way, and produces output where the terms
+and signs are aligned vertically. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/systeme/systeme_doc_fr.pdf b/Master/texmf-dist/doc/generic/systeme/systeme_doc_fr.pdf
deleted file mode 100644
index 33aa26a0020..00000000000
--- a/Master/texmf-dist/doc/generic/systeme/systeme_doc_fr.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/systeme/systeme_fr.pdf b/Master/texmf-dist/doc/generic/systeme/systeme_fr.pdf
new file mode 100644
index 00000000000..19a5910ca1f
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/systeme/systeme_fr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/systeme/systeme_doc_fr.tex b/Master/texmf-dist/doc/generic/systeme/systeme_fr.tex
index 637bed267e5..0c5f23eca9a 100644
--- a/Master/texmf-dist/doc/generic/systeme/systeme_doc_fr.tex
+++ b/Master/texmf-dist/doc/generic/systeme/systeme_fr.tex
@@ -1,44 +1,4 @@
-% _________________________________________________________________
-% | |
-% | |
-% | Documentation de systeme |
-% | |
-% | 21 d\'ecembre 2013 |
-% | |
-% |_________________________________________________________________|
-%
-% Ceci est systeme_doc_fr.tex, le code LaTeX de la documentation en
-% français de l'extension "systeme".
-%
-% Maintainer: Christian Tellechea
-% E-mail : unbonpetit@gmail.com
-% Commentaires, remont\'ees de bugs, et suggestions
-% sont les bienvenus.
-% Licence : Released under the LaTeX Project Public License v1.3c or
-% later, see http://www.latex-project.org/lppl.txt
-% Copyright : Christian Tellechea 2013
-%
-% L'extension "systeme" est constituée de ces 5 fichiers :
-% systeme.tex (le code de l'extension)
-% systeme.sty (le fichier pour LaTeX)
-% README
-% systeme_doc_fr.tex, systeme_doc_fr.pdf (manuel en français)
-%
-% -------------------------------------------------------------------
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-%
-% http://www.latex-project.org/lppl.txt
-%
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-% -------------------------------------------------------------------
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Christian Tellechea
-% -------------------------------------------------------------------
+% Documentation de systeme
\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
@@ -129,6 +89,8 @@
\@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[frenchb]{babel}
@@ -144,10 +106,10 @@
\begin{minipage}{0.75\linewidth}
\begin{center}
\Huge L'extension pour \TeX{} et \LaTeX{}\normalsize\par
- \fontsize{50pt}{50pt}\selectfont\bfseries systeme\par
+ \fontsize{50pt}{50pt}\selectfont\bfseries\SYSname\par
\par\vspace{5pt}\normalsize
- v\csname SYS@ver\endcsname\par\vspace{5pt}
- \csname SYS@longdate\endcsname\par\vspace{35pt}
+ v\SYSver\par\vspace{5pt}
+ \longfrdate\par\vspace{35pt}
\normalsize Manuel de l'utilisateur
\end{center}
\end{minipage}
@@ -155,7 +117,7 @@
\vspace{1cm}
\begin{center}
Christian {\sc Tellechea}\par\small
- \href{mailto:unbonpetit@gmail.com}{\texttt{\textbf{unbonpetit@gmail.com}}}
+ \href{mailto:unbonpetit@netc.fr}{\texttt{\textbf{unbonpetit@netc.fr}}}
\end{center}
\vspace{2cm}
\begin{center}
@@ -176,7 +138,7 @@
\subsection*{Avant propos}
Tout a recommencé, comme chaque année lorsque j'enseigne les systèmes d'équations, par un (petit) énervement concernant la difficulté de la saisie pour avoir une mise en forme acceptable. C'est à chaque fois un casse tête et une perte de temps conséquente de se battre avec les tableaux \LaTeX{} pour obtenir \emph{in fine} des systèmes avec un alignement correct, d'où le petit énervement, surtout lorsque, insouciant, on commence à taper ses sujets vers 23h pour le lendemain.
-Fort de ce constat, je me suis dit qu'il allait falloir écrire des macros pour être débarrassé de la difficulté de la saisie. Et tant qu'à faire, autant écrire des macros en plain $\varepsilon$\TeX, que tout le monde puisse en profiter\footnote{Enfin, tout le monde, c'est vite dit ! Cette extension n'est pas compatible avec Con\TeX t car, pour une raison que je ne m'explique pas, \href{http://www.ctan.org/tex-archive/macros/latex/contrib/xstring/}{\texttt{\textbf{xstring}}} n'est pas utilisable avec Con\TeX t. Si quelqu'un a une explication (et éventuellement un remède), je lui serais très reconnaissant de me contacter par \href{mailto:unbonpetit@gmail.com}{\texttt{\textbf{email}}} !}. Ces macros sont réunies dans cette petite extension maintenant à peu près fonctionnelle.
+Fort de ce constat, je me suis dit qu'il allait falloir écrire des macros pour être débarrassé de la difficulté de la saisie. Et tant qu'à faire, autant écrire des macros en plain $\varepsilon$\TeX, que tout le monde puisse en profiter\footnote{Enfin, tout le monde, c'est vite dit ! Cette extension n'est pas compatible avec Con\TeX t car, pour une raison que je ne m'explique pas, \href{http://www.ctan.org/tex-archive/macros/latex/contrib/xstring/}{\texttt{\textbf{xstring}}} n'est pas utilisable avec Con\TeX t. Si quelqu'un a une explication (et éventuellement un remède), je lui serais très reconnaissant de me contacter par \href{mailto:unbonpetit@netc.fr}{\texttt{\textbf{email}}} !}. Ces macros sont réunies dans cette petite extension maintenant à peu près fonctionnelle.
\section{Fonctionnalités de l'extension}
\subsection{La commande \texttt{\textbackslash systeme}}
@@ -433,211 +395,6 @@ Voici la liste de toutes les commandes définies par cette extension :
\verb-\sysnosubstitute-&supprime toutes les substitutions jusqu'à présent définies\\\hline
\end{longtable}
-\section{Algorithme}
-\begingroup
-\catcode`"13 \catcode`<13
-\def"{\begingroup\ttfamily\color{black!50!blue!80}\catcode`_12 \finvariable}
-\def\finvariable#1"{#1\endgroup}
-\def<{\leavevmode\begingroup\catcode`_12 \finconstante}
-\def\finconstante#1>{\hbox{$\langle$\texttt{#1}$\rangle$}\endgroup}
-\def\={${}\longleftarrow{}$}
-\def\negal{${}\neq{}$}
-\def\egal{${}={}$}
-\def\app{${}\in{}$}
-\def\napp{${}\notin{}$}
-\def\addatend{\mathop{=\kern-0.3em\oplus}\nolimits}
-\def\addatstart{\mathop{\oplus\kern-0.3em=}\nolimits}
-\def\+{${}\addatend{}$}
-\def\insfirst{${}\addatstart{}$}
-\def\?{$\exists$\kern0.1666em}
-\def\car#1{\texttt{car}$_{\hbox{\scriptsize#1}}$}
-\def\gauche{\begingroup\catcode`_12 \gauchei}
-\def\gauchei#1#2{\texttt{gauche}(#1\kern1pt,\kern1pt #2)\endgroup}
-\def\droite{\begingroup\catcode`_12 \droitei}
-\def\droitei#1#2{\texttt{droite}(#1\kern1pt,\kern1pt #2)\endgroup}
-Voici les notations utilisées dans l'algorithme :
-\begin{itemize}
- \item les principales variables utilisées sont en "bleu";
- \item les <constantes> sont entre chevrons;
- \item \car{n}("variable") est le caractère \verb-n- de la "variable";
- \item "x"\="y" est une assignation qui signifie que "x" reçoit "y";
- \item "x"\+"y" est une concaténation qui signifie que la chaîne "y" est ajoutée à la fin de "x".\par
- De la même façon, "x"\insfirst"y" ajoute la chaîne "y" au début de "x";
- \item \?"x" signifie que la variable "x" existe;
- \item \gauche{"var1"}{"var2"} est dans "var1" ce qui se trouve à gauche de la première occurrence de "var2".\par
- Même chose pour \droite{"var1"}{"var2"} sauf que c'est ce qui est à droite.
-\end{itemize}
-Dans les grandes lignes, voici l'algorithme qui est utilisé pour parcourir, analyser, découper, trier et reconstruire un système avec la commande
-\centerverb/\systeme<*>[arg_opt#1][arg_opt#2]{argument obligatoire}/
-
-\setitemize{label={},itemsep=0pt,topsep=0pt,parsep=0pt}
-\begin{enumerate}[leftmargin=*,topsep=0pt,parsep=0pt,itemsep=2pt]
- \item insérer un <\string\begingroup>
- \item <\string\mathcode\string`\string\,>\=<\string"013B>
- \item si <*> présente
- \begin{itemize}
- \item "étoile"\=<vrai>
- \end{itemize}
- sinon
- \begin{itemize}
- \item "étoile"\=<faux>
- \end{itemize}
- \item si <arg_opt\#1>\egal<vide>
- \begin{itemize}
- \item "tri_auto"\=<vrai>
- \item "list_inconnues"\=<vide>
- \end{itemize}
- sinon
- \begin{itemize}
- \item "tri_auto"\=<faux>
- \item "list_inconnues"\=<arg_opt\#1>
- \end{itemize}
- \item si <arg_opt\#2>\egal<vide>
- \begin{itemize}\item "séparateur"\=<séparateur par défaut>\end{itemize}
- sinon
- \begin{itemize}\item "séparateur"\=<arg_opt\#2>\end{itemize}
- \item "numligne"\=<1>\par
- "arg_restant"\=<argument obligatoire>\par
- "extra_col"\=<faux>\par
- "terme_constant"\=<faux>
- \item si "séparateur"\app"arg_restant"
- \begin{itemize}
- \item "éq_actuelle"\=\gauche{"arg_restant"}{"séparateur"}
- \item "arg_restant"\=\droite{"arg_restant"}{"séparateur"}
- \end{itemize}
- sinon
- \begin{itemize}
- \item "éq_actuelle"\="arg_restant"
- \item "arg_restant"\=<vide>
- \end{itemize}
- \item si l'"eq_actuelle" contient le <signe d'extra_col> (qui est <@> par défaut)
- \begin{itemize}
- \item "extra_col"\=<vrai>
- \item "excol[numligne]"\=\droite{"éq_actuelle"}{<signe d'extra_col>}
- \item "éq_actuelle"\=\gauche{"éq_actuelle"}{<signe d'extra_col>}
- \end{itemize}
- \item si l'"éq_actuelle" contient un "signe" contenu dans la "liste des signes d'égalité"
- \begin{itemize}
- \item "signe[numligne]"\="signe"
- \item "membre_G"\=\gauche{"éq_actuelle"}{"signe"}
- \item "membre_D[numligne]"\=\droite{"éq_actuelle"}{"signe"}
- \end{itemize}
- sinon
- \begin{itemize}\item "membre_G"\="éq_actuelle"\end{itemize}
- \item si \car1("membre_G")\napp\{<+>, <->\}
- \begin{itemize}\item "membre_G"\insfirst<+>\end{itemize}
- \item "signe_actuel"\=\car1("membre_G")\par
- "membre_G"\=\droite{"membre_G"}{"signe_actuel"}
- \begin{enumerate}[leftmargin=3em,topsep=3pt,parsep=0pt,itemsep=3pt]
- \item si "membre_G" contient <+> ou <->
- \begin{itemize}
- \item "signe"\=première occurrence de <+> ou <-> dans "membre_G"
- \item "terme_actuel"\=\gauche{"membre_G"}{"signe"}
- \item "membre_G"\=\droite{"membre_G"}{"signe"}
- \end{itemize}
- sinon
- \begin{itemize}
- \item "terme_actuel"\="membre_G"
- \item "membre_G"\=<vide>
- \end{itemize}
- \item chercher "alpha", la lettre représentant l'inconnue dans le "terme_actuel"
- \item si "tri_auto"\egal<vrai> et "alpha"\napp"list_inconnues"
- \begin{itemize}\item insérer "alpha" à sa place alphabétique dans "list_inconnues"\end{itemize}
- \item si "alpha" non présent
- \begin{itemize}
- \item "terme_constant"\=<vrai>
- \item "alpha"\=<terme constant>
- \end{itemize}
- \item "signe[numligne,alpha]"\="signe_actuel"
- \item "terme[numligne,alpha]"\="terme_actuel"
- \item si "membre_G"\negal<vide>
- \begin{itemize}\item "signe_actuel"\="signe"\item retourner en 11a\end{itemize}
- \end{enumerate}
- \item si "arg_restant"\negal<vide>
- \begin{itemize}\item "numligne"\="numligne"${}+1$\item aller en 7\end{itemize}
- \item "nb_inconnues"\=nombre d'inconnues dans "list_inconnues"
- \item "nb_lignes"\="numligne"
- \item fabriquer le préambule du \verb-\halign- :
- \begin{enumerate}
- \item "code_préambule"\=<vide>
- \item si "étoile"\egal<faux>
- \begin{itemize}
- \item "code_préambule"\+<\string\hfil\#\string&\string\hfil\#\string&>${}\times{}$("nb_inconnues"${}-1$)
- \end{itemize}
- \item "code_préambule"\+<\string\hfil\#\string&\#\string&\#\string\hfil\string\null>
- \item si "terme_constant"\egal<vrai>
- \begin{itemize}
- \item "code_préambule"\+<\string\hfil\#\string&\string\hfil\#\string&>
- \end{itemize}
- \item si "extra_col"\egal<vrai>
- \begin{itemize}
- \item "code_préambule"\+<\string&\#\string\hfil\string\null>
- \end{itemize}
- \item "code_préambule"\+<\string\cr>
- \end{enumerate}
- \item "numligne"\=<1> "code_système"\=<vide>
- \item "numlettre"\=<1>\quad"premier_terme"\=<vrai>
- \item "alpha"\=inconnue \no"numlettre" dans "list_inconnues"
- \begin{enumerate}[leftmargin=3em,topsep=3pt,parsep=0pt,itemsep=3pt]
- \item si \?"signe[numligne,alpha]"
- \begin{itemize}
- \item si "signe[numligne,alpha]"\egal<+>
- \begin{itemize}\item si "numlettre"\negal1 et "premier_terme"\egal<faux>
- \begin{itemize}\item "code_systeme"\+"signe[numligne,alpha]"\end{itemize}
- \end{itemize}
- \item sinon
- \begin{itemize}
- \item si "numlettre"\egal1
- \begin{itemize}\item "terme[numligne,alpha]"\insfirst"signe[numligne,alpha]"\end{itemize}
- \item sinon
- \begin{itemize}\item "code_systeme"\+"signe[numligne,alpha]"\end{itemize}
- \end{itemize}
- \item "premier_terme"\=<faux>
- \end{itemize}
- \item si "numlettre"\negal1 et si "étoile"\egal<faux>
- \begin{itemize}\item "code_systeme"\+<\string&>\end{itemize}
- \item si \?"terme[numligne,alpha]"
- \begin{itemize}\item "code_systeme"\+"terme[numligne,alpha]"\end{itemize}
- \item si "étoile"\egal<faux>
- \begin{itemize}
- \item "code_systeme"\+<\string&>
- \end{itemize}
- \item si "numlettre" \string< "nb_inconnues"
- \begin{itemize}\item "numlettre"\="numlettre"+<1>\item aller en 18\end{itemize}
- \item si \?"signe[numligne]"
- \begin{itemize}\item "code_systeme"\+"signe[numligne]"\end{itemize}
- \item "code_systeme"\+<\string&>
- \item si \?"membre_D[numligne]"
- \begin{itemize}\item "code_systeme"\+"membre_D[numligne]"\end{itemize}
- \item si "extra_col"\egal<vrai>
- \begin{itemize}
- \item "code_systeme"\+<\string&>
- \item si \?"excol[numligne]"
- \begin{itemize}
- \item "code_systeme"\+"excol[numligne]"
- \end{itemize}
- \end{itemize}
- \item si "numligne"${}\string<{}$"nb_lignes"
- \begin{itemize}
- \item "code_systeme"\+<\string\cr>
- \item "numligne"\="numligne"${}+{}$<1>
- \item aller en 17
- \end{itemize}
- \end{enumerate}
- \item si "terme_constant"\egal<vrai>
- \begin{itemize}
- \item "code_systeme"\+"signe[numligne,terme constant]"<\string&>"terme[numligne,terme constant]"
- \end{itemize}
- \item "code_systeme"\+<\string\cr>
- \item si \?"liste des substitutions" et si "liste des substitutions"\negal<vide>
- \begin{itemize}
- \item effecteur les substitutions dans "code_systeme"
- \end{itemize}
- \item se mettre en mode mathématique s'il y a besoin et insérer\par
- <\string\left\{\string\vcenter\{\string\halign\{"code_préambule"\ "code_systeme"\}\}\string\right.>
- \item insérer <\string\endgroup>.
-\end{enumerate}
-\endgroup
Pour finir et rendre les choses compréhensibles, voici un système où les frontières des 7 colonnes (3 inconnues et donc $2\times3+1=7$ colonnes) sont visibles :
\begin{center}
\arraycolsep=0pt
@@ -653,6 +410,6 @@ Pour finir et rendre les choses compréhensibles, voici un système où les fron
$\star$\par
$\star\quad\star$
\end{center}
-J'espère que cette extension vous sera utile et surtout que le code ne comporte pas trop de bugs\ldots\ Un \href{mailto:unbonpetit@gmail.com}{\texttt{\textbf{email}}} pour me signaler tout dysfonctionnement, toute proposition d'amélioration ou même tout commentaire sur cette extension sera le bienvenu.\par\medskip\nobreak
+J'espère que cette extension vous sera utile et surtout que le code ne comporte pas trop de bugs\ldots\ Un \href{mailto:unbonpetit@netc.fr}{\texttt{\textbf{email}}} pour me signaler tout dysfonctionnement, toute proposition d'amélioration ou même tout commentaire sur cette extension sera le bienvenu.\par\medskip\nobreak
Christian \textsc{Tellechea}
\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/systeme/systeme.sty b/Master/texmf-dist/tex/generic/systeme/systeme.sty
index c11eabb65e9..33ba751f0ae 100644
--- a/Master/texmf-dist/tex/generic/systeme/systeme.sty
+++ b/Master/texmf-dist/tex/generic/systeme/systeme.sty
@@ -1,4 +1,4 @@
\RequirePackage{xstring}
\input systeme.tex
-\ProvidesPackage\SYS@packagename[\SYS@date\space v\SYS@ver\space Mise en forme de systemes d'equations]
+\ProvidesPackage\SYSname[\SYSdate\space v\SYSver\space Mise en forme de systemes d'equations (CT)]
\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/systeme/systeme.tex b/Master/texmf-dist/tex/generic/systeme/systeme.tex
index 57569613a46..1bceaa21725 100644
--- a/Master/texmf-dist/tex/generic/systeme/systeme.tex
+++ b/Master/texmf-dist/tex/generic/systeme/systeme.tex
@@ -1,59 +1,42 @@
-% __________________________________________________________________
-% | |
-% | |
-% | systeme v0.3 |
-% | |
-% | 21 d\'ecembre 2013 |
-% | |
-% |__________________________________________________________________|
-%
-% Ce fichier est systeme.tex, le code TeX de l'extention "systeme".
-%
-% Maintainer: Christian Tellechea
-% E-mail : unbonpetit@gmail.com
-% Commentaires, remont\'ees de bugs, et suggestions
-% sont les bienvenus.
-% Licence : Released under the LaTeX Project Public License v1.3c or
-% later, see http://www.latex-project.org/lppl.txt
-% Copyright : Christian Tellechea 2013
+% !TeX encoding = ISO-8859-1
+% Ce fichier contient le code de l'extension "systeme"
+\expandafter\edef\csname SYS@savedatcatcode\endcsname{\number\catcode`\@}
+\catcode`\@11
%
-% Le package "systeme" est constitu\'e de ces 5 fichiers :
-% systeme.tex (ce fichier)
-% systeme.sty (le fichier pour LaTeX)
-% README
-% systeme_doc_fr.tex, systeme_doc_fr.pdf (manuel en francais)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+\def\SYSname {systeme} %
+\def\SYSver {0.31} %
+% %
+\def\SYSdate {2018/01/01} %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% --------------------------------------------------------------------
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-%
-% % http://www.latex-project.org/lppl.txt
-%
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% Author : Christian Tellechea
+% Status : Maintained
+% Email : unbonpetit@netc.fr
+% Package URL: https://www.ctan.org/pkg/systeme
+% Bug tracker: https://framagit.org/unbonpetit/systeme/issues
+% Repository : https://framagit.org/unbonpetit/systeme/tree/master
+% Copyright : Christian Tellechea 2017
+% Licence : Released under the LaTeX Project Public License v1.3c
+% or later, see http://www.latex-project.org/lppl.txt
+% Files : 1) systeme.tex
+% 2) systeme.sty
+% 3) systeme-fr.tex
+% 4) systeme-fr.pdf
+% 5) README
% --------------------------------------------------------------------
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Christian Tellechea
% --------------------------------------------------------------------
-\expandafter\edef\csname SYS@savedatcatcode\endcsname{\number\catcode`\@}
-
-\catcode`\@11
-
\def\SYS@newmacro#1{%
\ifdefined#1%
\errmessage{Package systeme Error: la macro \string#1\space existe deja. Contacter l'auteur svp.}%
\fi
\def#1%
}
-
-\SYS@newmacro\SYS@ver {0.3}
-\SYS@newmacro\SYS@date {2013/12/21}
-\SYS@newmacro\SYS@longdate {21 d\'ecembre 2013}
-\SYS@newmacro\SYS@packagename{systeme}
+\SYS@newmacro\SYSlongdate {1\ier{} janvier 218}
\newtoks\SYS@systemecode
\newtoks\SYS@systempreamble
@@ -70,7 +53,7 @@
\expandafter\ifx\csname @latexerr\endcsname\relax% on n'utilise pas LaTeX ?
\ifdefined\xstringversion\else\def\SYS@nextaction{\input xstring.tex}\expandafter\SYS@nextaction\fi
- \immediate\write\m@ne{Package: \SYS@packagename\space\SYS@date\space\space v\SYS@ver\space\space Saisie naturelle de systemes d'equations}%
+ \immediate\write\m@ne{Package: \SYSname\space\SYSdate\space\space v\SYSver\space\space Saisie naturelle de systemes d'equations}%
\newskip\normalbaselineskip \normalbaselineskip=12pt
\long\def\@firstoftwo#1#2{#1}
\long\def\@secondoftwo#1#2{#2}
@@ -254,7 +237,13 @@
\expandafter\SYS@findletter\expandafter{\SYS@currentterm}% trouver le nom de la variable
\ifx\SYS@letterfound\@empty
\SYS@consttermtrue
- \def\SYS@letterfound{const}%
+ \ifcsname SYS@term@const@\SYS@eqnumber\endcsname% si terme constant d\'ej\`a rencontr\'e, l'ajouter \`a celui qui existe
+ \SYS@expaddtocs\SYS@currentsign\SYS@currentterm
+ \expandafter\SYS@expaddtocs\csname SYS@term@const@\SYS@eqnumber\endcsname{\SYS@currentsign}%
+ \else
+ \SYS@cslet{SYS@sign@const@\SYS@eqnumber}\SYS@currentsign% sinon proc\'eder aux assignations
+ \SYS@cslet{SYS@term@const@\SYS@eqnumber}\SYS@currentterm
+ \fi
\else
\ifcsname SYS@term@\detokenize\expandafter{\SYS@letterfound}@\SYS@eqnumber\endcsname
\errmessage{Package systeme Error: l'inconnue "\detokenize\expandafter{\SYS@letterfound}" a deja ete trouvee dans l'equation !}%
@@ -262,9 +251,10 @@
\ifSYS@sortvariable
\SYS@insletter\SYS@letterfound% l'ins\'erer si besoin dans la liste ordonn\'ee des variables
\fi
+% \show\SYS@letterlist
+ \SYS@cslet{SYS@sign@\detokenize\expandafter{\SYS@letterfound}@\SYS@eqnumber}\SYS@currentsign% proc\'eder aux assignations
+ \SYS@cslet{SYS@term@\detokenize\expandafter{\SYS@letterfound}@\SYS@eqnumber}\SYS@currentterm
\fi
- \SYS@cslet{SYS@sign@\detokenize\expandafter{\SYS@letterfound}@\SYS@eqnumber}\SYS@currentsign% proc\'eder aux assignations
- \SYS@cslet{SYS@term@\detokenize\expandafter{\SYS@letterfound}@\SYS@eqnumber}\SYS@currentterm
}
% cherche la premi\`ere lettre minuscule dans #1
@@ -317,7 +307,9 @@
\SYS@newmacro\SYS@testsubscript{%
\noexploregroups
\IfBeginWith\SYS@currentfindletter_%
- {\StrChar\SYS@currentfindletter\tw@[\SYS@currentletterafter]%
+ {%\StrChar\SYS@currentfindletter\tw@[\SYS@currentletterafter]% TODO BUGFIX
+ \StrGobbleLeft\SYS@currentfindletter1[\SYS@currentletterafter]%
+% \show\SYS@currentletterafter
\exploregroups
\StrRemoveBraces\SYS@currentletterafter[\SYS@currentletterafter]%
\IfInteger\SYS@currentletterafter
@@ -440,8 +432,9 @@
\else
\ifSYS@constterm
\SYS@addtocode{{}}%
- \expandafter\SYS@expaddtocode\expandafter{\csname SYS@sign@const@#1\endcsname{}&}%
- \expandafter\SYS@expaddtocode\expandafter{\csname SYS@term@const@#1\endcsname}%
+ \ifSYS@firstterm\else\expandafter\SYS@expaddtocode\expandafter{\csname SYS@sign@const@#1\endcsname}\fi
+ \SYS@addtocode{{}&}%
+ \expandafter\SYS@expaddtocode\expandafter{\csname SYS@term@const@#1\endcsname&}%
\fi
\ifcsname SYS@eqsign@#1\endcsname
\SYS@addtocode{{}}%
@@ -688,4 +681,8 @@ v0.2b 2011/06/23
extensibles plac\'es de part et d'autre du syst\`eme.
----------------------------------------------------------------------
v0.3 21/12/2013
- - Un terme constant est permis dans le membre de gauche \ No newline at end of file
+ - Un terme constant est permis dans le membre de gauche
+ ----------------------------------------------------------------------
+v0.31 01/01/2018
+ - Il manquait un "&" apr\`es le terme constant, merci \`a Thomas Soll
+ de l'avoir signal\'e \ No newline at end of file