summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tabvar
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-01-22 23:49:18 +0000
committerKarl Berry <karl@freefriends.org>2013-01-22 23:49:18 +0000
commit9b25c2372447eed1435f05be3b6fe77029b9d420 (patch)
tree8c036c68ee4fea65be038f4c6755194774132ba1 /Master/texmf-dist/source/latex/tabvar
parent48f8b21c2d50f6df0ccca85645ed3d6f7f0dd4a0 (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')
-rw-r--r--Master/texmf-dist/source/latex/tabvar/tabvar.dtx189
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: