diff options
author | Karl Berry <karl@freefriends.org> | 2020-04-13 21:39:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-04-13 21:39:04 +0000 |
commit | 267f7ec07055a2150e0e3e80c0861d3ec250e568 (patch) | |
tree | 4d269474410bfa590361d27b6769bf305d97815c | |
parent | 69691a7459d14973c141f08cf5d0f946b66aa953 (diff) |
systeme (13apr20)
git-svn-id: svn://tug.org/texlive/trunk@54724 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/generic/systeme/README | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/systeme/systeme_fr.pdf | bin | 454193 -> 77724 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/systeme/systeme_fr.tex | 33 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/systeme/systeme.tex | 46 |
4 files changed, 66 insertions, 17 deletions
diff --git a/Master/texmf-dist/doc/generic/systeme/README b/Master/texmf-dist/doc/generic/systeme/README index d7310e3496a..82192d1990d 100644 --- a/Master/texmf-dist/doc/generic/systeme/README +++ b/Master/texmf-dist/doc/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/Master/texmf-dist/doc/generic/systeme/systeme_fr.pdf b/Master/texmf-dist/doc/generic/systeme/systeme_fr.pdf Binary files differindex 7d81a5ae886..a6c4193f091 100644 --- a/Master/texmf-dist/doc/generic/systeme/systeme_fr.pdf +++ b/Master/texmf-dist/doc/generic/systeme/systeme_fr.pdf diff --git a/Master/texmf-dist/doc/generic/systeme/systeme_fr.tex b/Master/texmf-dist/doc/generic/systeme/systeme_fr.tex index 657911336d7..0180cadf937 100644 --- a/Master/texmf-dist/doc/generic/systeme/systeme_fr.tex +++ b/Master/texmf-dist/doc/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\\ diff --git a/Master/texmf-dist/tex/generic/systeme/systeme.tex b/Master/texmf-dist/tex/generic/systeme/systeme.tex index 9bda0ef0460..833edf60f64 100644 --- a/Master/texmf-dist/tex/generic/systeme/systeme.tex +++ b/Master/texmf-dist/tex/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 |