diff options
author | Karl Berry <karl@freefriends.org> | 2009-06-22 23:30:24 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-06-22 23:30:24 +0000 |
commit | de252d25752922eade4f5921dc772887abba81dc (patch) | |
tree | 9ce3dc58bc2d6418de291284ade7da954988bc2d /Master/texmf-dist/source/latex/tdsfrmath | |
parent | c4835a7ff442f5e80acfc98ee6bdbb53d31f10f8 (diff) |
tdsfrmath 1.3 (22jun09)
git-svn-id: svn://tug.org/texlive/trunk@13896 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/tdsfrmath')
-rw-r--r-- | Master/texmf-dist/source/latex/tdsfrmath/tdsfrmath.dtx | 401 |
1 files changed, 255 insertions, 146 deletions
diff --git a/Master/texmf-dist/source/latex/tdsfrmath/tdsfrmath.dtx b/Master/texmf-dist/source/latex/tdsfrmath/tdsfrmath.dtx index 28349f15206..04c3e279fae 100644 --- a/Master/texmf-dist/source/latex/tdsfrmath/tdsfrmath.dtx +++ b/Master/texmf-dist/source/latex/tdsfrmath/tdsfrmath.dtx @@ -1,7 +1,6 @@ % \iffalse meta-comment -% -*- mode: LaTeX; coding: iso-8859-15 -*- -% Time-stamp: <2008-09-18T08:57:14 (cest) [yvon sur hypatie]> -% Copyright (C) 2008 by Yvon Henel +% Time-stamp: <2009-06-22T14:58:16 (cest) [yvon sur hypatie]> +% Copyright (C) 2009 by Yvon Henel % dit «le TeXnicien de surface» <le.texnicien.de.surface@wanadoo.fr> % ------------------------------------------------------------------ % @@ -19,8 +18,8 @@ % \iffalse %<package|suite|taupe>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\def\PackageName{tdsfrmath} -%<package|suite|taupe>\def\fileversion{v1.2} -%<package|suite|taupe>\def\filedate{2008/09/17} +%<package|suite|taupe>\def\fileversion{v1.3} +%<package|suite|taupe>\def\filedate{2009/06/22} %<package>\def\fileinfo{macros pour les maths %<package> par Le TeXnicien de surface} %<package>\ProvidesPackage{tdsfrmath} @@ -37,7 +36,7 @@ \usepackage[tame]{paresse} \IfFileExists{lmodern.sty}{\usepackage{lmodern}}{} \usepackage[np]{numprint} -\usepackage[taupe=true,suite=true]{tdsfrmath}[2008/08/11] +\usepackage[taupe,suite]{tdsfrmath}[2008/08/11] \usepackage[english,frenchb]{babel} \usepackage[pdfpagelabels, colorlinks=true, @@ -94,6 +93,12 @@ \newcommand\Optioncle[1]{\OptionclePresent{#1}} \newcommand\OptionvalPresent[1]{\texttt{\textit{#1}}} \newcommand\Optionval[2]{\OptionvalPresent{#1}\IndexVal{#1}{#2}} +\newcommand\SignalNouveau[1]{% + \marginpar{\raggedleft\framebox{\textbf{N v#1}}\hspace*{2em}}} +\newcommand\Nouveau[3][***]{% +% \SignalNouveau{#3}% + \emph{#2}\footnote{Nouveauté de la version #3% + \ifthenelse{\equal{#1}{***}}{.}{, #1}}} %%% fin de la personalisation \begin{document} \settowidth{\xttlarge}{\texttt{x}} @@ -102,7 +107,7 @@ %</driver> % \fi % -% \CheckSum{1055} +% \CheckSum{1100} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -202,7 +207,7 @@ % plus français. On aura par exemple \og \(\D x\)\fg au lieu de \og % \(dx\)\fg dans les intégrales et les dérivées. % -% \Pkg{tdsfrmath} s'appuie lourdement sur \texttt{amsmath}qu'il +% \Pkg{tdsfrmath} s'appuie lourdement sur \texttt{amsmath} qu'il % requiert. On n'aura donc pas besoin de le charger avec un % \cs{usepackage} si l'on utilise \texttt{tdsfrmath}. % @@ -257,6 +262,21 @@ % ici par présenter toutes les options et toutes les macros de cette % extension. % +% \subsection{À propos des clés booléennes} +% +% Nouveauté de la version 1.3. +% +% Les clés booléennes, comme \Optioncle{taupe} p.~ex., sont des clés +% qui n'admettent pour valeur que |true| ou |false|. L'extension +% \Pkg{xkeyval} me permet de leur donner une valeur \emph{par défaut} +% et une valeur \emph{d'origine}: la valeur d'origine est celle que +% possède la clé lorsque l'on charge \Pkg{tdsfrmath} sans aucune +% option avec |\usepackage|\BOP|{tdsfrmath}|. La valeur par défaut est +% celle que l'on obtient en mentionnant la clé sans lui donner de +% valeur comme avec |\usepackage|\BOP|[taupe]|\BOP|{tdsfrmath}| qui +% revient au même que |\usepackage|\BOP|[taupe| |=| +% |true]|\BOP|{tdsfrmath}| car la valeur par défaut de la clé +% \Optioncle{taupe} est \OptionvalPresent{true}. % % \subsection{Chargement optionnel} % @@ -268,31 +288,35 @@ % % \DescribeOptionCle{taupe}\clabel{taupe} % À chacun de ces fichiers correspond une clé booléenne, de même nom, -% dont la valeur par défaut est \OptionvalPresent{false} ce qui +% dont la valeur d'origine est \OptionvalPresent{false} ce qui % \DescribeOptionCle{suite}\clabel{suite} % entraine que ces fichiers ne sont pas chargés. % % Si on veut utiliser les macros définies dans \texttt{taupe.sto}, on -% appelera \texttt{tdsfrmath} par: -% |\usepackage[taupe=true]{tdsfrmath}| +% appelera \texttt{tdsfrmath} par: +% |\usepackage[taupe=true]{tdsfrmath}| ou encore avec +% |\usepackage|\BOP|[taupe]|\BOP|{tdsfrmath}| depuis la version +% 1.3\SignalNouveau{1.3} puisque la valeur par défaut de +% \Optioncle{taupe} est \OptionvalPresent{true}. % % \bigbreak % -% Le fichier \texttt{taupe.sto} contient -% des définitions qui dépendent de la clé \Optioncle{ArgArcMaj} \TO -% \DescribeOptionCle{ArgArcMaj}\clabel{ArgArcMaj} -% \textbf{arg} et \textbf{arc} avec \textbf{maj}uscule\TF qui vaut -% \Optionval{false}{ArgArcMaj} par défaut ce qui entraine que les noms -% des fonctions circulaires et hyperboliques réciproques \TO comme +% Le fichier \texttt{taupe.sto} contient des définitions qui dépendent +% de la clé \Optioncle{ArgArcMaj} \TO +% \DescribeOptionCle{ArgArcMaj}\clabel{ArgArcMaj} \textbf{arg} et +% \textbf{arc} avec \textbf{maj}uscule\TF dont la valeur d'origine est +% \Optionval{false}{ArgArcMaj} ce qui entraine que les noms des +% fonctions circulaires et hyperboliques réciproques \TO comme % \(\argch x\)\TF sont écrites en minuscule. En donnant la valeur -% \Optionval{true}{ArgArcMaj} à la clé \Optioncle{ArgArcMaj}, ils -% prennent une majuscule \TO on a alors \(\operatorname{Argch}x\). +% \Optionval{true}{ArgArcMaj}, valeur par défaut, à la clé +% \Optioncle{ArgArcMaj}, ils prennent une majuscule \TO on a alors +% \(\operatorname{Argch}x\). % % \subsection{Réglage de la police calligraphique} % % Trois clés règlent le choix de la police calligraphique en mode -% mathématique. Par défaut, \Optioncle{CharPoCal} \TO pour -% \OptionclePresent{Char}ger +% mathématique. D'origine la clé booléenne \Optioncle{CharPoCal} \TO +% pour \OptionclePresent{Char}ger % \DescribeOptionCle{CharPoCal}\clabel{CharPoCal} une % \OptionclePresent{Po}lice \OptionclePresent{Cal}ligraphique\TF est % \OptionvalPresent{true} ce qui permet de définir la police @@ -300,9 +324,9 @@ % obtiendrait si \Optioncle{CharPoCal} avait la valeur % \OptionvalPresent{false}. % -% Lorsque \Optioncle{CharPoCal} vaut \OptionvalPresent{true}, il faut -% définir les clés \Optioncle{calpack} et -% \Optioncle{calcomd}. +% Lorsque \Optioncle{CharPoCal} vaut \OptionvalPresent{true} \TO ce +% qui est également sa valeur par défaut \TF, il faut définir les clés +% \Optioncle{calpack} et \Optioncle{calcomd}. % % La clé \Optioncle{calpack}, qui contient % \DescribeOptionCle{calpack}\clabel{calpack} @@ -383,7 +407,8 @@ % \DescribeOptionCle{CharPoGdT}\clabel{CharPoGdT} une % \OptionclePresent{Po}lice \OptionclePresent{G}ras % \OptionclePresent{d}e \OptionclePresent{T}ableau\TF vaut -% \OptionvalPresent{false} par défaut. +% \OptionvalPresent{false} à l'origine mais a \OptionvalPresent{true} +% pour valeur par défaut. % % En fixant \Optioncle{CharPoGdT} à \OptionvalPresent{true}, on peut % \DescribeOptionCle{gdtpack}\clabel{gdtpack} @@ -405,6 +430,11 @@ % \noindent|\usepackage[CharPoGdT=true,| |gdtpack=dsfont,| |gdtoptn=sans,|\\ % \Alinea |gdtcomd=mathds]{tdsfrmath}|% % +% \noindent ou encore: +% +% \noindent|\usepackage[CharPoGdT,| |gdtpack=dsfont,| |gdtoptn=sans,|\\ +% \Alinea |gdtcomd=mathds]{tdsfrmath}|% +% % \noindent et \cs{grastab} donnera ce que l'on voit dans % \texttt{symbols-a4.pdf}. % @@ -419,6 +449,10 @@ % % \noindent|\usepackage[CharPoGdT=true,| |gdtcomd=textbf]{tdsfrmath}| % +% \noindent ou encore: +% +% \noindent|\usepackage[CharPoGdT,| |gdtcomd=textbf]{tdsfrmath}| +% % \noindent et on aura alors, \PX, \(\textbf{R}\) avec |\R|. % % \bigbreak @@ -444,15 +478,15 @@ % possible entre ces deux extensions. % % La clé booléenne \Optioncle{avecmathdesign}\label{avecMD} vaut -% \Optionval{false}{avecmathdesign} par défaut. +% \Optionval{false}{avecmathdesign} à l'origine. % \DescribeOptionCle{avecmathdesign} Lorsqu'on lui donne, au -% chargement de \Pkg{tdsfrmath}, la valeur \OptionvalPresent{true}, on -% n'a plus besoin de spécifier quoique ce soit concernant la police -% calligraphique car \Pkg{tdsfrmath} se repose entièrement sur -% \Pkg{mathdesign} qu'il faut charger explicitement avec -% \cs{usepackage} en lui passant les options adéquates comme -% l'explique le manuel \TO \texttt{mathdesign-doc.pdf}\TF de -% l'extension. +% chargement de \Pkg{tdsfrmath}, la valeur \OptionvalPresent{true} \TO +% qui est sa valeur par défaut \TF, on n'a plus besoin de spécifier +% quoique ce soit concernant la police calligraphique car +% \Pkg{tdsfrmath} se repose entièrement sur \Pkg{mathdesign} qu'il +% faut charger explicitement avec \cs{usepackage} en lui passant les +% options adéquates comme l'explique le manuel \TO +% \texttt{mathdesign-doc.pdf}\TF de l'extension. % % Cette option ne change rien au mécanisme de gestion du gras de % tableau. C'est dû au fait agréable que la macro de \Pkg{mathdesign} @@ -478,7 +512,7 @@ % à l'époque, mon fichier de macros ne ressemblait à celui-ci que de % très loin mais on apprend avec l'age \TO au moins pendant un % moment.} pour écrire des textes à destination des élèves du -% secondaire car on est souvent ammené à utiliser des nombres décimaux +% secondaire car on est souvent amené à utiliser des nombres décimaux % et, dans ce cas, le mélange de virgule ne m'a jamais paru très % heureux. % @@ -657,14 +691,15 @@ % \DescribeMacro{\TdSMsepdefens}\mlabel{TdSMsepdefens} % séparateur et peut-être redéfinie à l'aide d'un \cs{renewcommand}. % -% Si, comme c'est le cas par défaut, la clé \Optioncle{SepDefEnsExt} -% vaut \Optionval{true}{SepDefEnsExt}, la définition de -% \cs{TdSMsepdefens} doit être \emph{quelque chose} supportant -% l'action de \cs{middle} \TO qui est à un délimiteur central ce que -% \cs{left} et \cs{right} sont à ceux de gauche et droite\TF comme, -% \PX, \cs{vert}. Ce qui fait que si l'on veut un séparateur qui ne -% supporte pas cela, comme |:|, les deux-points, il faut passer la -% valeur \OptionvalPresent{false} à la clé \Optioncle{SepDefEnsExt}. +% Si, comme c'est le cas à l'origine et par défaut, la clé +% \Optioncle{SepDefEnsExt} vaut \Optionval{true}{SepDefEnsExt}, la +% définition de \cs{TdSMsepdefens} doit être \emph{quelque chose} +% supportant l'action de \cs{middle} \TO qui est à un délimiteur +% central ce que \cs{left} et \cs{right} sont à ceux de gauche et +% droite\TF comme, \PX, \cs{vert}. Ce qui fait que si l'on veut un +% séparateur qui ne supporte pas cela, comme |:|, les deux-points, il +% faut passer explicitement la valeur \OptionvalPresent{false} à la +% clé \Optioncle{SepDefEnsExt}. % % \subsection{Des noms des ensembles classiques} % @@ -715,34 +750,35 @@ % \bigbreak % % \DescribeMacro{\EnsembleDeNombre} Cette macro fait le gros boulot de -% composition. -% Elle prend 4~arguments obligatoires: le 1\ier donne la lettre -% majuscule symbolisant l'ensemble comme \og R\fg pour \R; le -% \DescribeMacro{\C} -% comportement de la macro varie suivant que le 2\ieme est égal à -% \(1\), est un entier supérieur à \(1\), un entier strictement -% négatif ou l'une de ces sept chaines de caractères |*|, |+|, |-|, -% \DescribeMacro{\N} -% |*+|, |+*|, |-*| et |-*| \TO c'est ce qui permet d'obtenir plus -% tard, \PX, \Q[+*] avec |\Q[+*]|\TF; le 3\ieme argument est utilisé -% \DescribeMacro{\Q} +% composition.\SignalNouveau{1.3} Elle prend 4~arguments obligatoires: +% le 1\ier donne la lettre majuscule symbolisant l'ensemble comme \og +% R\fg pour \R; le \DescribeMacro{\C} comportement de la macro varie +% suivant que le 2\ieme est égal à \(1\), \Nouveau{est égal +% à~\(0\)}{1.3}, l'une de ces sept chaines de caractères |*|, |+|, +% |-|, \DescribeMacro{\N} |*+|, |+*|, |-*| et |-*| \TO ou +% \Nouveau{sinon suivant qu'il commence par un signe moins ou +% pas}{1.3}. C'est ce qui permet d'obtenir plus tard, \PX, \Q[+*] +% avec |\Q[+*]|\TF; le 3\ieme argument est utilisé \DescribeMacro{\Q} % pour dénoter les ensembles de polynômes comme \C[-3] et dans ce cas -% le 2\ieme doit être un nombre négatif; enfin le 4\ieme doit être un -% \DescribeMacro{\R} -% entier qui donne le nombre de |mu| \TO unité de longueur spécifique -% \DescribeMacro{\Z} -% au mode mathématique\TF qui séparent la majuscule du crochet -% ouvrant. +% le 2\ieme doit commencer par un signe moins; enfin le 4\ieme doit +% être un \DescribeMacro{\R} entier qui donne le nombre de |mu| \TO +% unité de longueur spécifique \DescribeMacro{\Z} au mode +% mathématique\TF qui séparent la majuscule du crochet ouvrant. % % Je rappelle au passage que |mu| \TO pour \emph{maths unit}\TF est % une unité de longueur définie uniquement en mode mathématique. Elle % vaut 1/18 d'un |em| qui est \TO approximativement\TF la largeur d'un % M dans la fonte courante. % -% La macro opère un certain controle car, en dehors de |*|, |+|, |-|, -% |*+|, |+*|, |-*| et |-*|, le 2\ieme argument doit être un entier -% relatif. On peut saisir |\R[--4]| \TO mais pourquoi le ferait-on? -% \TF et ça donne \R[--4]! +% Avec la version 1.3\SignalNouveau{1.3} j'opère un changement de +% doctrine! Si le 2\ieme argument n'est pas |*|, |+|, |-|, |*+|, |+*|, +% |-*|, |-*|, |0| ou |1|, la seule chose qui compte est de savoir s'il +% commence par un signe \og \(-\)\fg ou pas. Ce qui fait que |\R[--4]| +% donne désormais le (douteux?) \R[--4]. Toutefois, on a maintenant +% \R[n] avec |\R[n]| et \R[-m] avec |\R[-m]| et c'est bien cela dont +% j'avais besoin ces derniers temps! On peut même laisser des blancs +% devant le signe moins: \verb*+\R[ -3]+ donne \R[ -3] grâce à une +% réponse de Manuel \textsc{Pégourié-Gonnard} sur \fctt. % % Comme il serait fastidieux d'avoir à taper % \cs{EnsembleDeNombre}\BOP|{N}|\BOP|{1}|\BOP|{}|\BOP|{}| pour obtenir @@ -769,13 +805,18 @@ % Voici toutes les façons d'utiliser \cs{R}, \PX, et ce qu'elles % produisent: % \begin{itemize}\mlabel{nomsens} +% \item |\R| donne \R; % \item |\R[*]| donne \R[*]; % \item |\R[+]| donne \R[+]; % \item |\R[-]| donne \R[-]; % \item |\R[+*]| ou |\R[*+]| donne \R[+*]; % \item |\R[-*]| ou |\R[*-]| donne \R[-*]; +% \item |\R[1]| donne \R[1]; % \item |\R[5]| donne \R[5]; +% \item |\R[n]| donne \R[n]; +% \item |\R[0]| donne \R[0]; % \item |\R[-6]| donne \R[-6]; +% \item |\R[-m]| donne \R[-m]; % \item |\R[-6][Y]| donne \R[-6][Y]. % \end{itemize} % On notera que l'on ne peut pas donner le 2\ieme argument optionnel @@ -809,6 +850,9 @@ % \Q\)\fg on devra coder |\(\Q{} + \Q\)|. Il arrive que certaines % épines aient des roses\dots % +% À la demande\SignalNouveau{1.3} de Maxime Chupin, on dispose +% désormais de la macro |\R/| qui donne \R/ et |\R/+| qui donne \R/+. +% % \subsection{Des vecteurs, des bases et des repères} % \label{SSECvecteursutil} % @@ -1309,12 +1353,17 @@ % \cs{drv}\BOP\marg{fonction}\BOP\marg{var} utilisable en mode % texte. J'ai codé |\drv{f(x)}{x}| l'exemple ci-dessus. % +% Cette macro admet désormais --- depuis la version +% 1.3\SignalNouveau{1.3} --- un argument optionnel avec +% |\drv[3]{f(x)}{x}| on obtient \og \drv[3]{f(x)}{x}\fg. +% % \medbreak % -% \DescribeMacro{\ddrv}\mlabel{ddrv} -% \cs{ddrv} est à \cs{drv}, ce que \cs{dfrac} est à \cs{frac} et donc -% \og |et| |\ddrv{f(x)}{x}| |vaut|\fg compose \og et \ddrv{f(x)}{x} -% vaut \fg, en bousillant l'interligne comme prévu! +% \DescribeMacro{\ddrv}\mlabel{ddrv} \cs{ddrv} est à \cs{drv}, ce que +% \cs{dfrac} est à \cs{frac} et donc \og |et| |\ddrv{f(x)}{x}| +% |vaut|\fg compose \og et \ddrv{f(x)}{x} vaut \fg, en bousillant +% l'interligne comme prévu! Elle admet également un argument optionnel +% qui joue le même rôle que celui de~\cs{drv}. % % \medbreak % @@ -1381,6 +1430,10 @@ % \Optioncle{suite}, on charge le fichier \texttt{suite.sto} qui donne % accès à quelques macros concernant les suites. % +% Depuis la version 1.3\SignalNouveau{1.3}, on obtient le chargement +% de \texttt{suite.sto} en écrivant simplement +% |\usepackage[suite]{tdsfrmath}|. +% % \DescribeMacro{\suite}\mlabel{suite} % La première macro \cs{suite} a pour syntaxe \cs{suite}\oarg{texte} % et la valeur par défaut de \meta{texte} est |u|. Elle assure le mode @@ -1451,21 +1504,21 @@ % \bigbreak % % Ce que je viens de décrire est le comportement par défaut de ces -% \DescribeOptionCle{suitedeco}\clabel{suitedeco} -% macros \cs{suite}, \cs{suitar}, \cs{suitgeo}, \cs{suite*}, -% \cs{suitar*} et \cs{suitgeo*}, comportement obtenu lorsque la clé -% \DescribeOptionVal{false}{suitedeco} -% \Optioncle{suitedeco} a la valeur -% \Optionval{false}{suitedeco}. Lorsque l'on passe la valeur -% \Optionval{true}{suitedeco} à la clé \Optioncle{suitedeco} le -% comportement des macros avec et sans étoile est inversé. +% \DescribeOptionCle{suitedeco}\clabel{suitedeco} macros \cs{suite}, +% \cs{suitar}, \cs{suitgeo}, \cs{suite*}, \cs{suitar*} et +% \cs{suitgeo*}, comportement obtenu lorsque la clé +% \DescribeOptionVal{false}{suitedeco} \Optioncle{suitedeco} a la +% valeur \Optionval{false}{suitedeco}, sa valeur d'origine. Lorsque +% l'on passe la valeur \Optionval{true}{suitedeco}, sa valeur par +% défaut, à la clé \Optioncle{suitedeco} le comportement des macros +% avec et sans étoile est inversé. % % \medbreak % % Quitte à être un peu lourd, avec |suitedeco=false| on a \og % \suite\fg avec |\suite| et \og \suite*\fg avec |\suite*|. Avec -% |suitedeco=true| on a \og \suite*\fg avec |\suite| et \og \suite\fg -% avec |\suite*|. +% |suitedeco=true| \TO ou simplement |suitedeco|\TF on a \og +% \suite*\fg avec |\suite| et \og \suite\fg avec |\suite*|. % % On fera attention que, si l'on a donné explicitement les premiers % arguments optionnels de \cs{suitar}, \PX, dans le cas où @@ -1475,7 +1528,6 @@ % 2\ieme argument optionnel donnant le \og nom\fg de la suite. Bref, % on choisira une fois pour toute la forme de base et on s'y tiendra! % -% ^^A ICI % %\section{Récapitulatif} %\label{SECrecapitulatif} @@ -1491,9 +1543,10 @@ % \Optionval{false}{avecmathdesign}\TF, % \texttt{xspace}, % \texttt{xargs}, -% \texttt{suffix} -% et \texttt{stmaryrd} si la clé \Optioncle{taupe} a la valeur -% \Optionval{true}{taupe}. +% \texttt{suffix}, +% \texttt{xstring} +% et, si la clé \Optioncle{taupe} a la valeur \Optionval{true}{taupe}, +% \texttt{stmaryrd} . % % Il n'est donc pas nécessaire de les appeler avec \cs{usepackage} % dans le préambule d'un document chargeant \texttt{tdsfrmath}. @@ -1513,26 +1566,27 @@ % \renewcommand{\arraystretch}{1.1} % \caption{les clés de \Pkg{tdsfrmath}} % \label{TABcles} -% \begin{tabular}{*{2}{l} >{\ttfamily}l l}\hline -% clé & type & valeur&\multicolumn{1}{l}{référence} \\ -% \multicolumn{1}{l}{}&\multicolumn{1}{l}{}&par défaut&voir page\\ +% \begin{tabular}{*{2}{l} *{2}{>{\ttfamily}l} l}\hline +% clé & type & \multicolumn{2}{c}{valeur}&\multicolumn{1}{l}{référence} \\ +% \multicolumn{1}{l}{}&\multicolumn{1}{l}{}&d'origine&par défaut&voir page\\ % \hline\hline -% avecmathdesign & booléen & false & \pageref{avecMD}\\ \hline -% taupe & booléen & false & \pageref{cletaupe} \\ -% ArgArcMaj & booléen & false & \pageref{cleArgArcMaj} \\ \hline -% suite & booléen & false & \pageref{clesuite} \\ -% suitedeco & booléen & false & \pageref{clesuitedeco} \\ \hline -% SepDefEnsExt& booléen & true & \pageref{cleSepDefEnsExt} \\ \hline -% CharPoCal & booléen & true& \pageref{cleCharPoCal} \\ -% calpack & texte & mathrsfs& \pageref{clecalpack} \\ -% calcomd & texte \TeX & mathscr& \pageref{clecalcomd} \\ -% caloptn & texte \TeX & ***& \pageref{clecaloptn} \\ \hline -% CharPoGdT & booléen & false& \pageref{cleCharPoGdT} \\ -% gdtpack & texte & ***& \pageref{clegdtpack} \\ -% gdtcomd & texte \TeX & ***& \pageref{clegdtcomd} \\ -% gdtoptn & texte \TeX & ***& \pageref{clegdtoptn} \\ \hline -% placesigne & choix & haut& \pageref{cleplacesigne} \\ -% ensdeco & choix & ebsh& \pageref{cleensdeco} \\ \hline +% avecmathdesign & booléen & false & true& \pageref{avecMD}\\ \hline +% taupe & booléen & false & true &\pageref{cletaupe} \\ +% ArgArcMaj & booléen & false & true & \pageref{cleArgArcMaj} \\ \hline +% suite & booléen & false & true &\pageref{clesuite} \\ +% suitedeco & booléen & false & true &\pageref{clesuitedeco} \\ \hline +% SepDefEnsExt& booléen & true & true &\pageref{cleSepDefEnsExt} \\ \hline +% CharPoCal & booléen & true& true &\pageref{cleCharPoCal} \\ +% calpack & texte & mathrsfs& &\pageref{clecalpack} \\ +% calcomd & texte \TeX & mathscr& &\pageref{clecalcomd} \\ +% caloptn & texte \TeX & ***& &\pageref{clecaloptn} \\ \hline +% CharPoGdT & booléen & false& true &\pageref{cleCharPoGdT} \\ +% gdtpack & texte & ***& &\pageref{clegdtpack} \\ +% gdtcomd & texte \TeX & ***& &\pageref{clegdtcomd} \\ +% gdtoptn & texte \TeX & ***& &\pageref{clegdtoptn} \\ \hline +% placesigne & choix & haut& &\pageref{cleplacesigne} \\ +% ensdeco & choix & ebsh& &\pageref{cleensdeco} \\ \hline +% nupletsep & choix & virgule & &\pageref{clenupletsep}\\ \hline % \end{tabular} %\end{table} % @@ -1557,6 +1611,12 @@ \RequirePackage{xkeyval} % \end{macrocode} % +% Depuis la version 1.3\SignalNouveau{1.3}, je charge aussi +% \changes{v1.3}{2009/06/04}{Chargement de \Pkg{xstring}} +% \begin{macrocode} +\RequirePackage{xstring} +% \end{macrocode} +% % \Pkg{tdsfrmath} est la première extension où je fais usage de % \Pkg{xkeyval} et de sa gestion de clés pour les options de % l'extension. @@ -1608,13 +1668,15 @@ % pour éviter de le rendre inutilisable alors que l'on n'en a plus % besoin. On fera la même chose avec \cs{nr} après l'exécution des % options. -% +% \changes{v1.3}{2009/01/08}{Réécriture du code pour l'option +% nupletsep} % \begin{macrocode} +\newcommand{\TdSM@separateur}{\string,\,} \define@choicekey*+[TdSM]{tdsfrmath.sty}{nupletsep}[\val\nr]% {virgule,pointvirgule}{% \ifcase\nr\relax - \newcommand{\TdSM@separateur}{\string,\,}\or - \newcommand{\TdSM@separateur}{\,\string;\,}\fi + \renewcommand{\TdSM@separateur}{\string,\,}\or + \renewcommand{\TdSM@separateur}{\,\string;\,}\fi }{% \PackageWarningNoLine{tdsfrmath}{la clef <<nupletsep>> ne connait pas <<\val>>\MessageBreak <<nupletsep=virgule>> en vigueur} @@ -1662,12 +1724,23 @@ % % Le mécanisme de \texttt{xkeyval} crée la macro \cs{ifTdSM@CharPoCal} % et ses s½urs \cs{TdSM@CharPoCaltrue} et \cs{TdSM@CharPoCalfalse}. -% Le 5\ieme argument devrait contenir la valeur par défaut mais, dans -% le cadre de la définition des options d'une extension, ce mécanisme -% ne fonctionne pas comme il semble le devoir d'après le manuel. Je -% dois avouer qu'ici quelque chose m'échappe. -% \begin{macrocode} -\define@boolkey+[TdSM]{tdsfrmath.sty}[TdSM@]{CharPoCal}[]{}% +% Le 5\ieme argument contient \TO depuis la version +% 1.3\SignalNouveau{1.3} \TF la valeur par défaut |true| ce qui permet +% à l'utilisateur d'obtenir le même comportement de \Pkg{tdsfrmath} +% avec |\usepackage|\BOP|[CharPoCal]|\BOP|{tdsfrmath}| qu'avec +% |\usepackage|\BOP|[CharPoCal| |=| |true]|\BOP|{tdsfrmath}|. Il en +% sera de même avec toutes les clés booléennes de cette extension. +% \changes{v1.3}{2009/06/04}{Utilisation de la valeur par défaut des +% clés booléennes} +% +% On ne confondra pas cette valeur par défaut avec la valeur que la +% clé possède à l'exécution des options, autrement dit, la valeur de +% la clé lorsque l'extension est appelée avec un simple +% |\usepackage|\BOP|{tdsfrmath}|. Je parlerai alors de valeur +% \emph{d'origine}. +% +% \begin{macrocode} +\define@boolkey+[TdSM]{tdsfrmath.sty}[TdSM@]{CharPoCal}[true]{}% {\PackageWarningNoLine{tdsfrmath}{CharPoCal attend la valeur << true >> ou << false >>}} % \end{macrocode} @@ -1696,7 +1769,7 @@ % \subsubsection{Du choix du gras de tableau} % % \begin{macrocode} -\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{CharPoGdT}[]{} +\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{CharPoGdT}[true]{} % \end{macrocode} % \begin{macrocode} \define@cmdkey[TdSM]{tdsfrmath.sty}[TdSM@]{gdtpack}[]{} @@ -1716,12 +1789,12 @@ % fournit des symboles mathématiques dont celui dont je me sers pour % écrire les intervalles de~\N. % \begin{macrocode} -\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{taupe}[]{} +\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{taupe}[true]{} % \end{macrocode} % Clé fixant l'aspect des fonctions circulaires et hyperboliques % réciproques. % \begin{macrocode} -\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{ArgArcMaj}[]{} +\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{ArgArcMaj}[true]{} % \end{macrocode} % % \subsubsection{Des macros pour les suites} @@ -1729,25 +1802,25 @@ % Avec la clé booléenne \Optioncle{suite}, on charge le fichier % \texttt{suite.sto}. % \begin{macrocode} -\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{suite}[]{} +\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{suite}[true]{} % \end{macrocode} % % \begin{macrocode} -\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{suitedeco}[]{} +\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{suitedeco}[true]{} % \end{macrocode} % % \subsubsection{Séparateur de définition dans les ensembles} % % La clé booléenne \Optioncle{SepDefEnsExt}. % \begin{macrocode} -\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{SepDefEnsExt}[]{} +\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{SepDefEnsExt}[true]{} % \end{macrocode} % % \subsubsection{Pour les utilisateurs de \Pkg{mathdesign}} % % La clé booléenne \Optioncle{avecmathdesign}. % \begin{macrocode} -\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{avecmathdesign}[]{} +\define@boolkey[TdSM]{tdsfrmath.sty}[TdSM@]{avecmathdesign}[true]{} % \end{macrocode} % % \subsubsection{Exécutons les options} @@ -2028,23 +2101,28 @@ % macros auxiliaires par lesquelles je commence. % % \begin{macro}{\EnsembleDeNombre} +% \changes{v1.3}{2009/03/12}{Avec |0| en 1\ier argument, on obtient +% l'ensemble des polynômes} +% \changes{v1.3}{2009/06/04}{On analyse autrement le 1\ier argument, +% en utilisant \Pkg{xstring}} % La suivante fait le boulot de composition. % \begin{macrocode} \newcommandx\EnsembleDeNombre[4]{% \ensuremath{% - \grastab{#1}% - \ifthenelse{\equal{#2}{*}}{^{\ast}}{% - \ifthenelse{\equal{#2}{+}}{\TdSM@PlaceSigne{+}}{% - \ifthenelse{\equal{#2}{-}}{\TdSM@PlaceSigne{-}}{% - \ifthenelse{\equal{#2}{+*}\or\equal{#2}{*+}}{% + \grastab{#1}{% + \edef\TdSM@arg{\@firstofone#2}% + \ifthenelse{\equal{\TdSM@arg}{1}}{}{% + \ifthenelse{\equal{\TdSM@arg}{0}}{\mspace{#4mu}\left[#3\right]}{% + \ifthenelse{\equal{\TdSM@arg}{*}}{^{\ast}}{% + \ifthenelse{\equal{\TdSM@arg}{+}}{\TdSM@PlaceSigne{+}}{% + \ifthenelse{\equal{\TdSM@arg}{-}}{\TdSM@PlaceSigne{-}}{% + \ifthenelse{\equal{\TdSM@arg}{+*}\or\equal{\TdSM@arg}{*+}}{% \TdSM@Decoration{\ast}{+}}{% - \ifthenelse{\equal{#2}{-*}\or\equal{#2}{*-}}{% + \ifthenelse{\equal{\TdSM@arg}{-*}\or\equal{\TdSM@arg}{*-}}{% \TdSM@Decoration{\ast}{-}}{% - \ifthenelse{#2=1}{}{% - \ifthenelse{#2>1}{^{\number #2}}{% - \ifthenelse{#2<0}{_{\number -#2}\mspace{#4mu}\left[#3\right]}{% - [\string?\string?\string?]% - }}}}}}}}}\xspace} + \IfBeginWith{\TdSM@arg}{-}{% + _{\StrBehind{\TdSM@arg}{-}}\mspace{#4mu}\left[#3\right]}{% + ^{\TdSM@arg}}}}}}}}}}}\xspace} % \end{macrocode} % \end{macro} % @@ -2080,6 +2158,15 @@ \WithSuffix\newcommand\R>{\R[+*]} \WithSuffix\newcommand\R<{\R[-*]} % \end{macrocode} +% \begin{macro}{\R/} +% \changes{v1.3}{2009/03/12}{Ajout des commandes \cs{R/} et \cs{R/+}} +% \begin{macrocode} +\DeclareRobustCommand{\TdSM@Rcomplet}{\ensuremath{\overline{\R}}} +\WithSuffix\newcommand\TdSM@Rcomplet+{\ensuremath{\overline{\R+}}} +\WithSuffix\newcommand\R/{\TdSM@Rcomplet} +% \end{macrocode} +% \end{macro} +% % \iffalse %</package> % \fi @@ -2147,7 +2234,10 @@ % \end{macrocode} % % \begin{macro}{\EncloreExtensible} -% +% \changes{v1.3}{2008/11/26}{Ajout de \cs{mathopen} et +% % \cs{mathclose} pour régler les distances extérieures.} +% \changes{v1.3}{2009/06/03}{Changement de noms internes: +% \cs{@v@nt} et \cs{@pr@s} deviennent \cs{TdS@v@nt} et \cs{TdS@pr@s}} % Pour \emph{passer} le mode à l'intérieur de la macro, en vue de % prendre la bonne définition des délimiteurs, j'ai besoin d'un % booléen. @@ -2155,9 +2245,9 @@ \newboolean{TdSM@horstexterequis} \setboolean{TdSM@horstexterequis}{false} \newcommandx{\EncloreExtensible}[4][1=1]{% - \ifthenelse{#1=0} - {\setboolean{TdSM@horstexterequis}{true}} - {\setboolean{TdSM@horstexterequis}{false}} + \ifthenelse{#1=0}% + {\setboolean{TdSM@horstexterequis}{true}}% + {\setboolean{TdSM@horstexterequis}{false}}% % \end{macrocode} % J'ai réglé le cas de l'argument optionnel. Il faut voir si on ne % serait pas en mode mathématique (\cs{ifmmode}) interne @@ -2165,7 +2255,7 @@ % mathématique hors-texte où il faut faire quelque chose: % \begin{macrocode} \ifmmode\ifinner\else - \setboolean{TdSM@horstexterequis}{true} + \setboolean{TdSM@horstexterequis}{true}% \fi\else\fi % \end{macrocode} % On ouvre un groupe et on s'assure d'être en mode mathématique et on @@ -2174,21 +2264,25 @@ % nécessaire: % \begin{macrocode} {\ensuremath{% - \ifthenelse{\boolean{TdSM@horstexterequis}} - {\displaystyle\def\@v@nt{\left #2}\def\@pr@s{\right #3}} + \ifthenelse{\boolean{TdSM@horstexterequis}}% + {\displaystyle\def\TdS@v@nt{\left #2}\def\TdS@pr@s{\right #3}}% % \end{macrocode} % En hors-texte \TO naturel ou forcé\TF on a des délimiteurs % extensibles, % \begin{macrocode} - {\ifthenelse{\equal{#2}{.}}{\def\@v@nt{\relax}}{\def\@v@nt{#2}}% - \ifthenelse{\equal{#3}{.}}{\def\@pr@s{\relax}}{\def\@pr@s{#3}}} + {\ifthenelse{\equal{#2}{.}}% + {\def\TdS@v@nt{\relax}}% + {\def\TdS@v@nt{\mathopen#2}}% + \ifthenelse{\equal{#3}{.}}% + {\def\TdS@pr@s{\relax}} + {\def\TdS@pr@s{\mathclose#3}}}% % \end{macrocode} % il n'en est rien en mode en ligne mais il faut tenir compte du % délimiteur fantome donné par le point. % % Et, pour finir, on compose le texte attendu. % \begin{macrocode} - \@v@nt #4 \@pr@s}}} + \TdS@v@nt #4 \TdS@pr@s}}} % \end{macrocode} % \end{macro} % @@ -2601,12 +2695,15 @@ \newcommand*{\parties}[2][-2]{% \ensuremath{\manus{p}\mspace{#1mu}\parent{{#2}}}} % \end{macrocode} -% +% \begin{macro}{\drv} +% \changes{v1.3}{2008/11/26}{Réécriture avec un argument optionnel.} % \begin{macrocode} -\newcommand{\drv}[2]{\ensuremath{\frac{\D#1}{\D#2}}} -\newcommand{\ddrv}[2]{\ensuremath{\dfrac{\D#1}{\D#2}}} +\newcommand{\drv}[3][***]{\ensuremath{% + \frac{\D\ifthenelse{\equal{#1}{***}}{}{^{#1}}#2}% + {\D#3\ifthenelse{\equal{#1}{***}}{}{^{#1}}}}} +\newcommand{\ddrv}[3][***]{\ensuremath{\displaystyle\drv[#1]{#2}{#3}}} % \end{macrocode} -% +% \end{macro} % \begin{macrocode} \newcommandx{\interent}[4][1=1,2=2,4=2]{% \EncloreExtensible[#1]{\llbracket}{\rrbracket}% @@ -2814,17 +2911,20 @@ \ProvidesFile{suite.sto}% [\filedate\space\fileversion\space Pour tdsfrmath -- option suite] % \end{macrocode} -% +% \begin{macro}{\suite} +% \changes{v1.3}{2009/01/07}{Ajout de \cs{xspace} dans le code de +% \cs{suite} et \cs{suite*} pour éviter que la macro mange l'espace +% derrière} % \begin{macrocode} \ifTdSM@suitedeco -\newcommandx\suite[2][1=\N,2=u]{\ensuremath{\parent{{#2}_{n}}_{#1}}} +\newcommandx\suite[2][1=\N,2=u]{\ensuremath{\parent{{#2}_{n}}_{#1}}\xspace} \newcommandx\suitar[6][1=\N,2=u,4=0,6={}]{% \suite[#1][#2]#6 la suite arithm\'etique de raison % $r = #3$ et de premier terme $#2_{#4}=#5$} \newcommandx\suitgeo[6][1=\N,2=u,4=0,6={}]{% \suite*[#1][#2]#6 la suite g\'eom\'etrique de raison % $q = #3$ et de premier terme $#2_{#4}=#5$} -\WithSuffix\newcommand\suite*[1][u]{\parent{{#1}_{n}}} +\WithSuffix\newcommand\suite*[1][u]{\parent{{#1}_{n}}\xspace} \WithSuffix\newcommandx\suitar*[5][1=u,3=0,5={}]{% \suite*[#1]#5 la suite arithm\'etique de raison % $r = #2$ et de premier terme $#1_{#3}=#4$} @@ -2832,7 +2932,7 @@ \suite*[#1]#5 la suite g\'eom\'etrique de raison % $q = #2$ et de premier terme $#1_{#3}=#4$} \else -\newcommand\suite[1][u]{\parent{{#1}_{n}}} +\newcommand\suite[1][u]{\parent{{#1}_{n}}\xspace} \newcommandx\suitar[5][1=u,3=0,5={}]{% \suite[#1]#5 la suite arithm\'etique de raison % $r = #2$ et de premier terme $#1_{#3}=#4$} @@ -2840,7 +2940,7 @@ \suite[#1]#5 la suite g\'eom\'etrique de raison % $q = #2$ et de premier terme $#1_{#3}=#4$} \WithSuffix\newcommandx\suite*[2][1=\N,2=u]{% - \ensuremath{\suite[#2]_{#1}}} + \ensuremath{\suite[#2]_{#1}}\xspace} \WithSuffix\newcommandx\suitar*[6][1=\N,2=u,4=0,6={}]{% \suite*[#1][#2]#6 la suite arithm\'etique de raison % $r = #3$ et de premier terme $#2_{#4}=#5$} @@ -2849,6 +2949,7 @@ $q = #3$ et de premier terme $#2_{#4}=#5$} \fi % \end{macrocode} +% \end{macro} % % Et ici se termine l'extension \texttt{tdsfrmath}. % @@ -2862,11 +2963,19 @@ % \end{center} % Je tiens à remercier Maxime \textsc{Chupin} pour l'aide qu'il m'a % apportée pour améliorer \Pkg{tdsfrmath}. +% +% Je remercie également Manuel \textsc{Pégourié-Gonnard} pour les +% diverses réponses intelligentes et utiles à mes questions qui ne le +% furent pas toujours et Christian \textsc{Tellechea} dont j'utilise +% le \Pkg{xstring} et dont je n'oublie pas qu'il m'a envoyé du code +% qui fera son apparition dans la prochaine version. +% % \vspace{2\baselineskip} % % \Finale \PrintChanges\PrintIndex \endinput %%% Local Variables: %%% mode: doctex +%%% coding: iso-8859-15 %%% fill-column: 70 %%% End: |