diff options
author | Karl Berry <karl@freefriends.org> | 2013-01-22 23:49:18 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-01-22 23:49:18 +0000 |
commit | 9b25c2372447eed1435f05be3b6fe77029b9d420 (patch) | |
tree | 8c036c68ee4fea65be038f4c6755194774132ba1 /Master/texmf-dist/source/latex/tabvar/tabvar.dtx | |
parent | 48f8b21c2d50f6df0ccca85645ed3d6f7f0dd4a0 (diff) |
tabvar 1.7 (22jan13)
git-svn-id: svn://tug.org/texlive/trunk@28908 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/tabvar/tabvar.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/tabvar/tabvar.dtx | 189 |
1 files changed, 148 insertions, 41 deletions
diff --git a/Master/texmf-dist/source/latex/tabvar/tabvar.dtx b/Master/texmf-dist/source/latex/tabvar/tabvar.dtx index 6ba2ff12ee9..8732a15f7f6 100644 --- a/Master/texmf-dist/source/latex/tabvar/tabvar.dtx +++ b/Master/texmf-dist/source/latex/tabvar/tabvar.dtx @@ -1,9 +1,9 @@ -% \CheckSum{586} +% \CheckSum{649} % % \iffalse meta-comment % Files `tabvar.dtx', `tabvar.ins' and `tabvar.mp' % -% Copyright (C) Daniel Flipo 2003-2011 <daniel.flipo at free.fr> +% Copyright (C) Daniel Flipo 2003-2013 <daniel.flipo at free.fr> % % All the files included in the `tabvar' distribution, including % the font, may be distributed and/or modified under the conditions @@ -25,7 +25,7 @@ % %<*sty> %% -%% Copyright (C) Daniel Flipo 2003-2012 <daniel.flipo at free.fr> +%% Copyright (C) Daniel Flipo 2003-2013 <daniel.flipo at free.fr> %% \NeedsTeXFormat{LaTeX2e}[1997/06/01] \ProvidesFile{tabvar.sty} @@ -34,7 +34,7 @@ \ProvidesFile{tabvar.dtx} %</dtx> %<*!cfg> - [2012/03/14 v1.61 (Daniel Flipo)] + [2013/01/21 v1.7 (Daniel Flipo)] %</!cfg> % %<*driver> @@ -49,13 +49,18 @@ \usepackage[T1]{fontenc} \IfFileExists{lmodern.sty}{\usepackage{lmodern}}{} \usepackage[frenchb]{babel} +\GlossaryPrologue{\section*{Historique des versions}} \newcommand*\file[1]{\textsf{#1}} +\newcommand*\ctype[1]{\texttt{#1}} +\newcommand*\env[1]{\texttt{#1}} \setlength{\parindent}{0pt} +\setlength{\parskip}{.5\baselineskip plus .2\baselineskip + minus .2\baselineskip} \begin{document} \begin{center} \textbf{\Large Tableaux de variations : `tabvar'}\\[3mm]^^A\] Daniel \textsc{Flipo}\\ - \texttt{Daniel.Flipo\at univ-lille1.fr} + \texttt{Daniel.Flipo\at free.fr} \end{center} \DocInput{tabvar.dtx} \end{document} @@ -122,48 +127,49 @@ % % \subsection{Utilisation} % -% L'environnement |tabvar| est une variante de l'environnement +% L'environnement \env{tabvar} est une variante de l'environnement % |array|, adapt\'ee \`a la saisie de tableaux de variations. % -% Trois nouveaux types de colonnes, |C|, |L| et |R| remplacent -% les types classiques (|c|, |l| et |r|) ; ils permettent de -% disposer du mat\'eriel sur plusieurs niveaux dans un m\^eme ligne -% du tableau (ce sont des colonnes de type |\parbox|). +% Trois nouveaux types de colonnes, \ctype{C}, \ctype{L} et +% \ctype{R} remplacent les types classiques \ctype{c}, \ctype{l} +% et \ctype{r} ; ils permettent de disposer du mat\'eriel sur +% plusieurs niveaux dans un m\^eme ligne du tableau (ce sont des +% colonnes de type |\parbox|). % -% Un quatri\`eme type de colonne, not\'e |U|% -% \footnote{Il \'etait not\'e \texttt{N} jusqu'\`a la version~1.5, -% le type \texttt{N} est conserv\'e pour assurer la +% Un quatri\`eme type de colonne, not\'e \ctype{U}% +% \footnote{Il \'etait not\'e \ctype{N} jusqu'\`a la version~1.5, +% le type \ctype{N} est conserv\'e pour assurer la % compatibilit\'e ascendante mais ne devrait plus \^etre utilis\'e % pour \'eviter un conflit avec l'extension \file{numprint.sty}.} -% sert pour les plages o\`u la fonction n'est pas d\'efinie (|U| -% pour \textit{Undefined}). La colonne est enti\`erement +% sert pour les plages o\`u la fonction n'est pas d\'efinie +% (\ctype{U} pour \textit{Undefined}). La colonne est enti\`erement % gris\'ee par d\'efaut, mais il est possible de choisir une autre % couleur (voir le fichier de configuration \file{tabvar.cfg}). % D\'esormais \file{tabvar} teste au |\begin{document}| si le type -% |N| a \'et\'e d\'efini par une autre extension, si c'est le cas -% un avertissement est affich\'e dans le fichier \file{.log} et -% \file{tabvar} n'\'ecrase plus la d\'efinition du type |N|. -% Sinon, le type \texttt{N} est d\'efini comme avant. +% \ctype{N} a \'et\'e d\'efini par une autre extension, si c'est le +% cas un avertissement est affich\'e dans le fichier \file{.log} et +% \file{tabvar} n'\'ecrase plus la d\'efinition du type \ctype{N}. +% Sinon, le type \ctype{N} est d\'efini comme avant. % % La saisie des lignes contenant les valeurs de la variable et les % signes des d\'eriv\'ees se fait exactement comme celles d'un % tableau |array|. Seules les lignes contenant les variations de % la ou des fonctions font appel \`a six commandes -% particuli\`eres : |\croit|, |\decroit|, |\constante|, -% |\niveau|, |\dbarre| et |\discont|. +% particuli\`eres : |\niveau|, |\croit|, |\decroit|, |\constante|, +% |\dbarre| et |\discont|. % % \begin{itemize} % -% \item Les commandes |\croit|, |\decroit| et |\constante| ne -% prennent pas d'argument, elles tracent les fl\`eches -% montantes, descendantes ou horizontales. -% % \item |\niveau{|\emph{d\'epart}|}{|\emph{total}|}| prend % deux arguments : le niveau (hauteur) o\`u doit \^etre % positionn\'ee la premi\`ere valeur de la fonction et le % nombre total de niveaux qui seront utilis\'es dans la ligne. % Le niveau le plus bas est num\'erot\'e 1. % +% \item Les commandes |\croit|, |\decroit| et |\constante| ne +% prennent pas d'argument, elles tracent les fl\`eches +% montantes, descendantes ou horizontales. +% % \item |\dbarre| trace un double trait vertical dont la hauteur % est celle de la ligne du tableau ; elle indique les % discontinuit\'es de la fonction. @@ -189,7 +195,7 @@ % Lorsqu'une valeur doit figurer sous le filet, on la passe en % argument de la commande (|\barre{0}| par exemple), ainsi cette % valeur sera centr\'ee sur le filet. Ceci restreint \'evidemment -% l'usage de la commande |\barre| aux colonnes de type \texttt{C}. +% l'usage de la commande |\barre| aux colonnes de type \ctype{C}. % La couleur du filet (gris par d\'efaut) est param\'etrable, voir % le fichier de configuration \file{tabvar.cfg}. Cette solution a % \'et\'e pr\'ef\'er\'ee \`a des pointill\'es qui posent des @@ -203,16 +209,56 @@ % % La commande |\TVcenter| prend un argument, elle sert \`a % centrer verticalement le nom de la fonction, par exemple -% |\TVcenter{f(x)}|. +% |\TVcenter{f(x)}|. Elle a besoin de conna\^{\i}tre le nombre +% total de niveaux, elle doit donc \^etre pr\'ec\'ed\'ee d'une +% commande |\niveau{|\emph{d\'epart}|}{|\emph{total}|}|. +% +% La commande |\TVstretch| est \`a utiliser lorsqu'un \'el\'ement +% du tableau colle \`a la ligne horizontale du dessus ou du +% dessous% +% \footnote{Noter que les extensions \file{cellspace} et +% \file{tabls} qui r\`eglent ce probl\`eme n'ont pas d'effet +% sur l'environnement \env{tabvar} et que \file{tabls} est +% incompatible avec \file{array} charg\'e par \file{tabvar}.}. +% |\TVstretch{|\emph{valeur}|}| ajoute un peu d'espace +% param\'etrable (2pt par d\'efaut)% +% \footnote{La valeur de l'espace ajout\'e au-dessus est d\'efinie +% par \texttt{\boi setlength\{\boi TVextraheight\}\{2pt\}}, celle +% de l'espace ajout\'e au-dessous est d\'efinie par +% \texttt{\boi setlength\{\boi TVextradepth\}\{2pt\}}.} +% au dessus et en dessous de \emph{valeur}. % +% La commande |\TVstretch| accepte un argument optionnel de type +% \emph{dimension} qui s'utilise lorsqu'on souhaite n'ajouter +% d'espace vertical que d'un c\^ot\'e (au-dessus ou au-dessous). +% Si l'argument optionnel est une dimension positive, sa valeur +% sera ajout\'ee uniquement au-dessus et si c'est une dimension +% n\'egative sa valeur absolue sera ajout\'ee uniquement en +% dessous. +% % Le fichier \file{demo.pdf} (joint) propose plusieurs exemples, % accompagn\'es de leur code source, illustrant les utilisations -% possibles de l'environnement |tabvar|. +% possibles de l'environnement \env{tabvar}. % % Plusieurs commandes ou param\`etres permettent de personnaliser % l'aspect du tableau (augmentation de la largeur ou de la hauteur % des cellules, etc.), voir le fichier \file{tabvar.cfg}. % +% \subsection{Incompatibilit\'es} +% +% \file{tabvar} est incompatible avec les extensions qui +% d\'efinissent les m\^emes types de colonnes (\ctype{C}, +% \ctype{L}, \ctype{R}, \ctype{U}) pour d'autres usages, en +% particulier \file{tabulary}. +% +% L'utilisation simultan\'ee de \file{tabvar}, \file{cellspace}, et +% \file{siunitx} est pour l'instant impossible : \file{cellspace} +% et \file{siuntix} utilisent tous les deux le param\`etre \ctype{S}, +% pour \'eviter le conflit, \file{siuntix} red\'efinit le \ctype{S} +% de \file{cellspace} en \ctype{C} ce qui provoque un autre conflit +% avec \file{tabvar} ! Le probl\`eme a \'et\'e signal\'e \`a +% l'auteur de \file{siuntix}. +% % \StopEventually{\PrintChanges} % % \iffalse @@ -444,7 +490,7 @@ % l'int\'erieur d'une colonne, l'utilisateur peut continuer \`a % utiliser |\\| pour terminer une ligne du tableau. % La commande |\TVtabularnewline|, d\'efinie dans l'environnement -% |tabvar|, provoque un changement de ligne dans le tableau +% \env{tabvar}, provoque un changement de ligne dans le tableau % (|\tabularnewline|) et affecte la valeur `vrai' au drapeau % |\ifreset@niveaux|, ce qui commande la r\'einitialisation des % compteurs |\@pos| et |\@niveaux| \`a la valeur~1. @@ -467,11 +513,12 @@ % \changes{tabvar-1.2b}{2009/10/03}{Augmenter la valeur de % \cs{TVmaxcolwidth} \`a \cs{linewidth}).} % -% On d\'efinit des variantes |C|, |L| et |R|, des colonnes |c|, -% |l| et |r| : ce sont des \emph{minipage} align\'ees par le bas, -% dont la largeur est celle de la ligne la plus longue, avec un -% maximum de |\TVmaxcolwidth| fix\'e \`a |\linewidth| par d\'efaut, -% (voir la documentation de l'extension \file{varwidth.sty}). +% On d\'efinit des variantes \ctype{C}, \ctype{L} et \ctype{R}, +% des colonnes \ctype{c}, \ctype{l} et \ctype{r} : ce sont des +% \emph{minipage} align\'ees par le bas, dont la largeur est celle +% de la ligne la plus longue, avec un maximum de |\TVmaxcolwidth| +% fix\'e \`a |\linewidth| par d\'efaut, (voir la documentation de +% l'extension \file{varwidth.sty}). % % \begin{macrocode} \newdimen\TVmaxcolwidth @@ -502,14 +549,14 @@ % donc celle de numprint si tabvar est charg\'e apr\`es tabvar % et inversement (cf. array.dtx).} % -% On d\'efinit \'egalement un type |U| pour les domaines o\`u la -% fonction n'est pas d\'efinie : la colonne est colori\'ee en +% On d\'efinit \'egalement un type \ctype{U} pour les domaines o\`u +% la fonction n'est pas d\'efinie : la colonne est colori\'ee en % faisant appel \`a l'extension \file{colortbl}. La couleur % peut \^etre choisie par l'utilisateur, par exemple :\\ % |\definecolor{TVcolor}{rgb}{0.66, 0.8, 0}| \\ % donne un vert, voir \file{color.sty} pour la fa\c{c}on de -% d\'efinir des couleurs. L'ancien nom |N|, conserv\'e pour la -% compatibilit\'e ascendante, tant qu'il n'y a pas conflit, mais +% d\'efinir des couleurs. L'ancien nom \ctype{N}, conserv\'e pour +% la compatibilit\'e ascendante, tant qu'il n'y a pas conflit, mais % ne devrait plus \^etre utilis\'e. % % \begin{macrocode} @@ -731,11 +778,64 @@ } % \end{macrocode} % \end{macro} - +% +%\changes{tabvar-1.7}{2012/12/23}{Ajout de la commande \cs{TVstretch}.} +% +% \begin{macro}{\TVstretch} +% La commande |\TVstretch{}| prend un argument obligatoire, le nom +% de la valeur \`a \'ecarter des lignes horizontales et un +% argument optionnel de type \emph{dimension}. +% Elle place son argument dans une bo\^{\i}te et en mesure la hauteur +% et la profondeur. En l'absence d'argument optionnel, elle ajoute +% respectivement |\TVextraheight| \`a la hauteur |\TV@tempa| et +% |\TVextradepth| \`a la profondeur |\TV@tempb|. +% +% Si l'argument optionnel est une dimension positive, sa valeur +% sera ajout\'ee uniquement \`a la hauteur et si c'est une +% dimension n\'egative sa valeur absolue sera ajout\'ee uniquement +% \`a la profondeur. La valeur par d\'efaut de l'argument optionnel +% est |0pt|. +% +% \begin{macrocode} +\newsavebox\TVbox +\newdimen\TVextraheight +\newdimen\TVextradepth +\setlength{\TVextraheight}{2pt} +\setlength{\TVextradepth}{2pt} +\newdimen\TV@tempa +\newdimen\TV@tempb +\newcommand{\TVstretch}[2][0pt]{% + \edef\tmp{#1}% + \sbox{\TVbox}{\ensuremath{#2}}% + \settoheight{\TV@tempa}{\usebox{\TVbox}}% + \settodepth {\TV@tempb}{\usebox{\TVbox}}% + \ifdim\tmp=0pt + \addtolength{\TV@tempa}{\TVextraheight}% + \addtolength{\TV@tempb}{\TVextradepth}% + \else + \ifdim\tmp>0pt + \addtolength{\TV@tempa}{\tmp}% + \else + \addtolength{\TV@tempb}{-\tmp}% + \fi + \fi +% \end{macrocode} +% Il reste \`a afficher la bo\^{\i}te initiale et \`a lui adjoindre +% une |\rule| invisible (de largeur nulle) de profondeur +% |\TV@tempb| et de hauteur totale |\TV@tempa + \TV@tempb|. +% \begin{macrocode} + \usebox{\TVbox}% + \addtolength{\TV@tempa}{\TV@tempb}% + \rule[-\TV@tempb]{0pt}{\TV@tempa}% +} +% \end{macrocode} +% \end{macro} +% % \subsection{Environnement `tabvar'} % -% L'environnement |tabvar| est un |array| o\`u sont red\'efinis -% |\TVarraystretch|, |\TVarraycolsep| et |\tabularnewline|. +% L'environnement \env{tabvar} est un \env{array} o\`u sont +% red\'efinis |\TVarraystretch|, |\TVarraycolsep| et +% |\tabularnewline|. % % \begin{environment}{tabvar} % \begin{macrocode} @@ -805,6 +905,12 @@ %% %%\setlength{\TVmaxcolwidth}{\linewidth} %% +%% Valeur des espaces verticaux ajout\'es par la commande +%% |\TVstretch{}|. +%% +%%\setlength{\TVextraheight}{2pt} +%%\setlength{\TVextradepth}{2pt} +%% %% Exemples de d\'efinitions de couleurs pour les colonnes `U' %% o\`u la fonction est non d\'efinie. %% @@ -829,6 +935,7 @@ % % \Finale % +% \PrintChanges \endinput %%% Local Variables: |