summaryrefslogtreecommitdiff
path: root/macros/generic/systeme
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-04-14 03:02:32 +0000
committerNorbert Preining <norbert@preining.info>2020-04-14 03:02:32 +0000
commitc7235aafe4ddb8f9800cdf784212d4c53bb53e32 (patch)
tree3485e2d65f65d8128206c5a1c45c842b26e84705 /macros/generic/systeme
parentc98e9ebef816f09dc54c52a01df4f978e1b210fc (diff)
CTAN sync 202004140302
Diffstat (limited to 'macros/generic/systeme')
-rw-r--r--macros/generic/systeme/README4
-rw-r--r--macros/generic/systeme/systeme.tex46
-rw-r--r--macros/generic/systeme/systeme_fr.pdfbin454193 -> 77724 bytes
-rw-r--r--macros/generic/systeme/systeme_fr.tex33
4 files changed, 66 insertions, 17 deletions
diff --git a/macros/generic/systeme/README b/macros/generic/systeme/README
index d7310e3496..82192d1990 100644
--- a/macros/generic/systeme/README
+++ b/macros/generic/systeme/README
@@ -1,9 +1,9 @@
L'extension
systeme
- v0.32
+ v0.33
- 13 janvier 2019
+ 13 avril 2020
Author : Christian Tellechea
Email : unbonpetit@netc.fr (CT)
diff --git a/macros/generic/systeme/systeme.tex b/macros/generic/systeme/systeme.tex
index 9bda0ef046..833edf60f6 100644
--- a/macros/generic/systeme/systeme.tex
+++ b/macros/generic/systeme/systeme.tex
@@ -4,9 +4,9 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
\def\SYSname {systeme} %
-\def\SYSver {0.32} %
+\def\SYSver {0.33} %
% %
-\def\SYSdate {2019/01/13} %
+\def\SYSdate {2020/04/13} %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
@@ -58,6 +58,7 @@
\long\def\SYS_execarg#1{#1}
\long\def\SYS_gobtwoargs#1#2{}
\def\SYS_addtotok#1#2{#1\expandafter{\the#1#2}}
+\def\SYS_xaddtotok#1#2{\SYS_expaddtotok#1{\expanded{#2}}}
\def\SYS_expaddtotok#1#2{\xs_exparg{\SYS_addtotok#1}{#2}}
\def\SYS_addtotab{\SYS_addtotok\SYS_systemecode}
\def\SYS_cslet#1{\expandafter\let\csname#1\endcsname}
@@ -155,6 +156,28 @@
\sysequivsign{<=}\leq
\sysequivsign{>=}\geq
+\def\syssignspace#1{\edef\SYS_signspace{\ifdim#1=0pt \else\hskip\dimexpr#1\relax\fi}}
+\def\syseqspace#1{\edef\SYS_eqspace{\ifdim#1=0pt \else\hskip\dimexpr#1\relax\fi}}
+\syssignspace{0pt}
+\syseqspace{0pt}
+
+\def\SYS_firsttonil#1#2\_nil{#1}
+\def\SYS_firstletter#1#2{\string#1\expandafter\SYS_firsttonil\detokenize{#2.}\_nil}
+\def\sysalign#1{%
+ \xs_ifempty{#1}{\sysalign_i r}{\sysalign_i#1},l,\_nil
+}
+\def\sysalign_i#1,#2,#3\_nil{%
+ \let\SYS_leftright\hfil
+ \if\SYS_firstletter c{#1}\let\SYS_leftleft\hfil \else
+ \if\SYS_firstletter l{#1}\let\SYS_leftleft\empty\else
+ \let\SYS_leftleft\hfil \let\SYS_leftright\empty\fi\fi
+ \let\SYS_rightleft\hfil
+ \if\SYS_firstletter c{#2}\let\SYS_rightright\hfil \else
+ \if\SYS_firstletter r{#2}\let\SYS_rightright\empty \else
+ \let\SYS_rightleft\empty \let\SYS_rightright\hfil\fi\fi
+}
+\sysalign{r,l}
+
% #1 est l'équation courante. La macro la sépare en 2 membres -> \SYS_leftmember et \SYS_rightmember
% le signe de séparation entre les 2 membres se trouve dans \SYS_currenteqsign
\def\SYS_splitinmembers#1{%
@@ -238,7 +261,7 @@
\fi
}
{\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'équation !}%
+ \errmessage{Package systeme Error: l'inconnue "\detokenize\expandafter{\SYS_letterfound}" a deja ete trouvee dans l'equation !}%
\fi
\ifSYS_sortvariable
\SYS_insletter\SYS_letterfound% l'insérer si besoin dans la liste ordonnée des variables
@@ -606,15 +629,16 @@
\SYS_makesyspreamble_i1%
}
+
\def\SYS_makesyspreamble_i#1{%
\xs_ifnum{#1<\SYS_preamblenum\relax}% tant qu'il reste des variables
- {\SYS_addtotok\SYS_systempreamble{\hfil$##$&\hfil$##$&}% une colonne pour le terme et une pour le signe
+ {\SYS_xaddtotok\SYS_systempreamble{\SYS_leftleft$##$\SYS_leftright&\hfil\SYS_signspace$##$\SYS_signspace\hfil&}% une colonne pour le terme et une pour le signe
\xs_exparg\SYS_makesyspreamble_i{\number\numexpr#1+1}%
}
{\ifSYS_constterm
- \SYS_addtotok\SYS_systempreamble{\hfil$##$&\hfil$##$&}% une colonne pour le terme constant et son signe
+ \SYS_xaddtotok\SYS_systempreamble{\SYS_leftleft$##$\SYS_leftright&\hfil\SYS_signspace$##$\SYS_signspace\hfil&}% une colonne pour le terme constant et son signe
\fi
- \SYS_addtotok\SYS_systempreamble{\hfil$##$&$##$&$##$\hfil\null}% ajouter 1 colonne pour le signe = et une pour le terme de droite
+ \SYS_xaddtotok\SYS_systempreamble{\SYS_leftleft$##$\SYS_leftright&\hfil\SYS_eqspace$##$\SYS_eqspace\hfil&\SYS_rightleft$##$\SYS_rightright\null}% ajouter 1 colonne pour le signe = et une pour le terme de droite
\ifSYS_extracol
\SYS_addtotok\SYS_systempreamble{&\SYS_extracolstart##\SYS_extracolend\hfil\null}% la colonne supplémentaire (pas de mode math)
\fi
@@ -686,4 +710,12 @@ v0.32 13/01/2019
les noms des termes.
- Correction d'un bug : si version étoilée et terme constant dans
membre de gauche, défaut d'alignement.
- - Nettoyage du code. \ No newline at end of file
+ - Nettoyage du code.
+----------------------------------------------------------------------
+v0.33 13/04/2020
+ - possibilité de choisir un espacement avant et après les signes
+ + et - avec \syssignspace{<skip>}. De même pour = avec
+ \syseqspace{<skip>}
+ - possibilité de choisir l'alignement des colonnes des termes à
+ gauche du signe = et celle à droite avec \sysalign{x,y} où
+ x et y sont "c", "r", ou "l" \ No newline at end of file
diff --git a/macros/generic/systeme/systeme_fr.pdf b/macros/generic/systeme/systeme_fr.pdf
index 7d81a5ae88..a6c4193f09 100644
--- a/macros/generic/systeme/systeme_fr.pdf
+++ b/macros/generic/systeme/systeme_fr.pdf
Binary files differ
diff --git a/macros/generic/systeme/systeme_fr.tex b/macros/generic/systeme/systeme_fr.tex
index 657911336d..0180cadf93 100644
--- a/macros/generic/systeme/systeme_fr.tex
+++ b/macros/generic/systeme/systeme_fr.tex
@@ -1,14 +1,10 @@
-% Documentation de systeme
+% !TeX TS-program = xelatex
\documentclass[10pt,french]{article}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
\usepackage[a4paper,margin=3cm,head=12pt,headsep=7mm,footskip=7mm]{geometry}
\usepackage[bottom]{footmisc}
-\usepackage{libertine,amsmath,fancybox,enumitem,systeme,xcolor,amssymb,array,longtable,fancyhdr}
-\renewcommand*\oldstylenums[1]{{\fontfamily{fxlj}\selectfont #1}}
-\usepackage[scaled=0.8]{luximono}
-\usepackage[libertine]{newtxmath}%
-\usepackage[protrusion=true,expansion,final,babel=true]{microtype}
+
+\usepackage{amsmath,fancybox,enumitem,systeme,xcolor,amssymb,array,longtable,fancyhdr,libertinus-otf}
+\setsansfont[Scale=0.8]{Luxi Mono}
\fancypagestyle{plain}{%
\fancyhead[L]{\small L'extension \bfseries systeme}
\fancyhead[C]{}
@@ -290,6 +286,18 @@ Par la suite, on peut supprimer ce signe ou n'importe quel autre déjà existant
\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 \og\verb/\syseqsep{:}/\fg{} pour choisir \og\verb-:-\fg.
+\subsection{Alignement des termes}
+Par défaut, les termes dans le membre de gauche sont alignes à droite, tandis que le terme du membre de droite est aligné à 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 à 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)\par
+\sysalign{l,l}\systeme{3x-y=-12,x+4y=3}
+ \quad(alignement gauche/gauche)\par
+\sysalign{r,r}\systeme{3x-y=-12,x+4y=3}
+ \quad(alignement droite/droite)\par
+\sysalign{l,r}\systeme{3x-y=-12,x+4y=3}
+ \quad(alignement gauche/droite)\par
+\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-.
@@ -297,6 +305,12 @@ On peut faire varier l'espacement entre les lignes avec la commande \verb-\sysli
\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 à 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 \og\verb-@-\fg{}, tout ce qui se trouve à droite de ce caractère sera mis dans une colonne supplémentaire au fer à gauche qui se trouvera à droite du système, en dernière position.
\exemple{Colonne supplémentaire}/\systeme{x+y=125@L_1,
@@ -387,6 +401,9 @@ Voici la liste de toutes les commandes définies par cette extension :
\verb-\systeme{<code système>}-&compose un système d'équations ou d'inéquations\\
\verb-\sysdelim<delim gauche><delim droit>-&modifie les délimiteurs extensibles placées à gauche et à droite du système\\
\verb-\syseqsep{<caractère>}-&définit le séparateur par défaut des équations\\
+\verb-\sysalign{x,y}-&définit l'alignement des termes dans les 2 membres\\
+\verb-\syssignspace{dim}-&définit l'espace ajoutée autour des signes dans le membre de gauche\\
+\verb-\syseqspace{dim}-&définit l'espace ajoutée autour du signe \verb-=-\\
\verb-\syslineskipcoeff{<coeff>}-&définit le coefficient multiplicateur de \verb-\baselinskip- pour modifier l'espacement vertical des équations\\
\verb-\+- et \verb|\-|&remplace "+" et "-" lorsqu'on veut éviter d'indiquer un nouveau terme\\
\verb-\sysequivsign{<signe>}{<substitution>}-&définit ce par quoi un \verb-<signe>- d'égalité doit être remplacé à l'affichage\\