summaryrefslogtreecommitdiff
path: root/obsolete/macros/latex/contrib/tkz/tkz-tab/latex/tkz-tab.sty
diff options
context:
space:
mode:
Diffstat (limited to 'obsolete/macros/latex/contrib/tkz/tkz-tab/latex/tkz-tab.sty')
-rw-r--r--obsolete/macros/latex/contrib/tkz/tkz-tab/latex/tkz-tab.sty943
1 files changed, 0 insertions, 943 deletions
diff --git a/obsolete/macros/latex/contrib/tkz/tkz-tab/latex/tkz-tab.sty b/obsolete/macros/latex/contrib/tkz/tkz-tab/latex/tkz-tab.sty
deleted file mode 100644
index 8119748eef..0000000000
--- a/obsolete/macros/latex/contrib/tkz/tkz-tab/latex/tkz-tab.sty
+++ /dev/null
@@ -1,943 +0,0 @@
-% Copyright (C) 2009 Alain Matthes
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License , either version 1.3
-% of this license or (at your option) any later version and/or
-% 2. under the GNU Public License.
-%
-% See the file doc/generic/pgf/licenses/LICENSE for more details.%
-% See http://www.latex-project.org/lppl.txt for details.
-%
-%
-% ``tkz-tab'' package for create tables of signs and variations.
-%
-%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % tkz-tab.sty encodage : utf8 %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % Créé par Alain Matthes le 04-01-2007. %
- % CTAN version %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% Objet : Création de tableaux (signes et variations)
-%<----------------------------------------------------------------------------->
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tkz-tab}[2019/01/19 v1.4e variations (ctan version) ]
-%<----------------------------------------------------------------------------->
-\ifx\e@alloc\@undefined
- \RequirePackage{etex}
-\fi
-\RequirePackage{ifthen}
-\RequirePackage{xkeyval}[2005/11/25]
-\RequirePackage{tikz}[2008/01/15]
-\usetikzlibrary{arrows,patterns}
-
-%<------------------------------ Initialisation ----------------------------->
-
-%<------------------------------ Styles ----------------------------->
-%<------------------------------ Colors ----------------------------->
-\def\tkzTabDefaultWritingColor{black}
-\def\tkzTabDefaultBackgroundColor{white}
-\def\tkzTabDefaultLineWidth{0.4pt}
-\def\tkzTabDefaultArrowStyle{latex'}
-\def\tkzTabDefaultSep{2pt}
-\def\cmdTAB@backgroundcolor{white}
-\def\cmdTAB@writecolor{black}
-\def\cmdTAB@TTS@doubledistance{1pt}
-\def\cmdTAB@TG@hcolor{gray}
-\let\cmdTAB@TG@patterncolor\cmdTAB@writecolor
-\def\cmdTAB@TG@patternstyle{north west lines}
-\let\cmdTAB@TG@color\cmdTAB@writecolor
-\let\cmdTAB@tbs@colorT\cmdTAB@backgroundcolor
-\let\cmdTAB@VA@color\cmdTAB@writecolor
-\let\cmdTAB@arrowcolor\cmdTAB@writecolor
-%<-------------------------------------------------------------------------->
-\tikzset{node style/.style = {inner sep = \tkzTabDefaultSep,
- outer sep = \tkzTabDefaultSep,
- fill = \tkzTabDefaultBackgroundColor}}
-\tikzset{low left/.style = {above left = \tkzTabDefaultSep}}
-\tikzset{low right/.style = {above right = \tkzTabDefaultSep}}
-\tikzset{high right/.style = {below right = \tkzTabDefaultSep}}
-\tikzset{high left/.style = {below left = \tkzTabDefaultSep}}
-\tikzset{low/.style = {above = \tkzTabDefaultSep}}
-\tikzset{high/.style = {below = \tkzTabDefaultSep}}
-\tikzset{on double/.style = {fill = \tkzTabDefaultBackgroundColor}}
-\tikzset{tan style/.style = {> = \tkzTabDefaultArrowStyle,
- ->,
- color = \tkzTabDefaultWritingColor}}
-\tikzset{arrow style/.style = {\tkzTabDefaultWritingColor,
- ->,
- > = \tkzTabDefaultArrowStyle,
- shorten > = \tkzTabDefaultSep,
- shorten < = \tkzTabDefaultSep}}
-\tikzset{from style/.style = {shorten > = \tkzTabDefaultSep,
- shorten < = \tkzTabDefaultSep,
- line width = \tkzTabDefaultLineWidth,
- > = \tkzTabDefaultArrowStyle,
- ->,
- draw = \tkzTabDefaultWritingColor,
- dotted}}
-
-\tikzset{t style/.style = {style = dotted,
- draw = \tkzTabDefaultWritingColor}}
-
-\tikzset{h style/.style = {pattern = north west lines,
- pattern color = \tkzTabDefaultWritingColor}}
-
-\tikzset{double style/.append style = {%
- draw = \tkzTabDefaultWritingColor,
- double = \tkzTabDefaultBackgroundColor}}
-%<--------------------- Colorisation du fond ------------------------------>
-\tikzset{fondC/.style={fill = \tkzTabDefaultBackgroundColor}}
-\tikzset{fondL/.style={fill = \tkzTabDefaultBackgroundColor}}
-\tikzset{fondT/.style={fill = \tkzTabDefaultBackgroundColor}}
-\tikzset{fondV/.style={fill = \tkzTabDefaultBackgroundColor}}
-%<------------------------------ End of Styles ---------------------------->
-\newdimen\tkz@XF
-\newdimen\tkz@YF
-\newcounter{tkz@cnt@line}
-\newcounter{tkz@cnt@lg}
-\newcounter{tkz@cnt@cl}
-\newcounter{tkz@cnt@pred}
-\newcounter{tkz@cnt@temp}
-\newcounter{tkz@cnt@arrow}
-\newcounter{tkz@cnt@zone}
-\newcounter{tkz@cnt@lgnext}
-\newcounter{tkz@cnt@clnext}
-\newcounter{tkz@cnt@pair}
-\newcounter{tkz@cnt@impair}
-\newcounter{tkz@cnt@aw}
-%<--------------------------------------------------------------------------->
-\define@cmdkey [TAB] {TTC} {color}{}
-\define@cmdkey [TAB] {TTC} {backgroundcolor}{}
-\presetkeys [TAB] {TTC} {color = black,
- backgroundcolor = white}{}
-\newcommand*{\tkzTabColors}[1][]{%
-\setkeys[TAB]{TTC}{#1}
-\let\tkzTabDefaultWritingColor\cmdTAB@TTC@color
-\let\tkzTabDefaultBackgroundColor\cmdTAB@TTC@backgroundcolor
-\let\cmdTAB@backgroundcolor\cmdTAB@TTC@backgroundcolor
-\let\cmdTAB@writecolor\cmdTAB@TTC@color
-\let\cmdTAB@doublecolor\cmdTAB@TTC@backgroundcolor
-\let\cmdTAB@patterncolor\cmdTAB@TTC@color
-\let\cmdTAB@tcolor\cmdTAB@TTC@color
-\tikzset{fondC/.style={fill = \tkzTabDefaultBackgroundColor}}
-\tikzset{fondL/.style={fill = \tkzTabDefaultBackgroundColor}}
-\tikzset{fondT/.style={fill = \tkzTabDefaultBackgroundColor}}
-\tikzset{fondV/.style={fill = \tkzTabDefaultBackgroundColor}}
-}
-%<--------------------------------------------------------------------------->
-%<--------------------------------------------------------------------------->
-\define@boolkey [TAB] {TTS} {crosslines}[true]{}
-\define@cmdkey [TAB] {TTS} {doubledistance}{}
-\define@cmdkey [TAB] {TTS} {lw}{}
-\define@cmdkey [TAB] {TTS} {doublecolor}{}
-\define@cmdkey [TAB] {TTS} {color}{}
-\define@cmdkey [TAB] {TTS} {backgroundcolor}{}
-\define@cmdkey [TAB] {TTS} {patterncolor}{}
-\define@cmdkey [TAB] {TTS} {patternstyle}{}
-\define@cmdkey [TAB] {TTS} {tstyle}{}
-\define@cmdkey [TAB] {TTS} {tcolor}{}
-\define@cmdkey [TAB] {TTS} {tanstyle}{}
-\define@cmdkey [TAB] {TTS} {tanarrowstyle}{}
-\define@cmdkey [TAB] {TTS} {tancolor}{}
-\define@cmdkey [TAB] {TTS} {tanwidth}{}
-\define@cmdkey [TAB] {TTS} {fromstyle}{}
-\define@cmdkey [TAB] {TTS} {fromarrowstyle}{}
-\define@cmdkey [TAB] {TTS} {fromcolor}{}
-\define@cmdkey [TAB] {TTS} {fromwidth}{}
-\define@cmdkey [TAB] {TTS} {twidth}{}
-\define@cmdkey [TAB] {TTS} {hcolor}{}
-\define@cmdkey [TAB] {TTS} {hopacity}{}
-\define@cmdkey [TAB] {TTS} {arrowcolor}{}
-\define@cmdkey [TAB] {TTS} {arrowstyle}{}
-\define@cmdkey [TAB] {TTS} {arrowlinewidth}{}
-%<--------------------------------------------------------------------------->
-\presetkeys [TAB] {TTS} {doubledistance = 1pt,
- doublecolor = \tkzTabDefaultBackgroundColor,
- lw = \tkzTabDefaultLineWidth,
- color = \tkzTabDefaultWritingColor,
- backgroundcolor = \tkzTabDefaultBackgroundColor,
- patterncolor = \tkzTabDefaultWritingColor,
- patternstyle = north west lines,
- tstyle = dotted,
- tcolor = \tkzTabDefaultWritingColor,
- tanarrowstyle = \tkzTabDefaultArrowStyle,
- tanstyle = ->,
- tancolor = \tkzTabDefaultWritingColor,
- tanwidth = \tkzTabDefaultLineWidth,
- fromarrowstyle = \tkzTabDefaultArrowStyle,
- fromstyle = ->,
- fromcolor = \tkzTabDefaultWritingColor,
- fromwidth = \tkzTabDefaultLineWidth,
- twidth = \tkzTabDefaultLineWidth,
- hcolor = \tkzTabDefaultWritingColor,
- hopacity = 0.4,
- crosslines = false,
- arrowcolor = \tkzTabDefaultWritingColor,
- arrowstyle = \tkzTabDefaultArrowStyle,
- arrowlinewidth = \tkzTabDefaultLineWidth}{}
-%<--------------------------------------------------------------------------->
-\newcommand*{\tkzTabSetup}[1][]{%
-\setkeys[TAB]{TTS}{#1}
-\tikzset{from style/.append style = {line width = \cmdTAB@TTS@fromwidth,
- > = \cmdTAB@TTS@fromarrowstyle,
- \cmdTAB@TTS@fromstyle,
- \cmdTAB@TTS@fromcolor}}
-
-\tikzset{tan style/.style = {\cmdTAB@TTS@tanstyle,
- > = \cmdTAB@TTS@tanarrowstyle,
- \cmdTAB@TTS@tancolor}}
-
-\tikzset{double style/.append style = {%
- draw = \cmdTAB@TTS@color,
- double = \cmdTAB@TTS@doublecolor,
- double distance = \cmdTAB@TTS@doubledistance,
- line width = \cmdTAB@TTS@lw}}
-\tikzset{t style/.style = {style = \cmdTAB@TTS@tstyle,
- draw = \cmdTAB@TTS@tcolor,
- line width = \cmdTAB@TTS@twidth}}
-\tikzset{arrow style/.append style = {\cmdTAB@TTS@arrowcolor,
- > = \cmdTAB@TTS@arrowstyle,
- line width = \cmdTAB@TTS@arrowlinewidth}}
-\tikzset{node style/.append style = { fill = \cmdTAB@TTS@backgroundcolor}}
-\tikzset{fondC/.style={fill = \cmdTAB@TTS@backgroundcolor}}
-\tikzset{fondL/.style={fill = \cmdTAB@TTS@backgroundcolor}}
-\tikzset{fondT/.style={fill = \cmdTAB@TTS@backgroundcolor}}
-\tikzset{fondV/.style={fill = \cmdTAB@TTS@backgroundcolor}}
-\ifTAB@TTS@crosslines%
- \tikzset{h style/.style = {pattern = north west lines,
- pattern color = \cmdTAB@TTS@patterncolor}}
-\else
- \tikzset{h style/.style = {fill = \cmdTAB@TTS@patterncolor!50,
- opacity = \cmdTAB@TTS@hopacity}}
-\fi
-}
-%<--------------------- tracé du cadre extérieur --------------------------->
-\define@boolkey [TAB] {tbs} {help}[true]{}
-\define@boolkey [TAB] {tbs} {color}[true]{}
-\define@boolkey [TAB] {tbs} {nocadre}[true]{}
-\define@cmdkey [TAB] {tbs} {lw}{}
-\define@cmdkey [TAB] {tbs} {textw}{}
-\define@cmdkey [TAB] {tbs} {colorC}{}
-\define@cmdkey [TAB] {tbs} {colorL}{}
-\define@cmdkey [TAB] {tbs} {colorT}{}
-\define@cmdkey [TAB] {tbs} {colorV}{}
-\define@cmdkey [TAB] {tbs} {lgt}{}
-\define@cmdkey [TAB] {tbs} {espcl}{}
-\define@cmdkey [TAB] {tbs} {deltacl}{}
-\presetkeys [TAB] {tbs} {help = false,
- espcl = 3,
- lgt = 2,
- textw = \cmdTAB@tbs@lgt,
- lw = \tkzTabDefaultLineWidth,
- colorC = \tkzTabDefaultBackgroundColor,
- colorL = \tkzTabDefaultBackgroundColor,
- colorT = \tkzTabDefaultBackgroundColor,
- colorV = \tkzTabDefaultBackgroundColor,
- color = false,
- nocadre = false,
- deltacl = 0.5}{}
-%<--------------------------------------------------------------------------->
-%<-------------- Macro principale : détermine les dim ----------------------->
-%<--------------------------------------------------------------------------->
-\newcommand*{\tkzTabInit}[3][]{%
- \setkeys[TAB]{tbs}{#1}
- \setcounter{tkz@cnt@line}{1}
- \setcounter{tkz@cnt@lgnext}{0}
- \setcounter{tkz@cnt@clnext}{0}
- \setcounter{tkz@cnt@aw}{0}
- \setcounter{tkz@cnt@lg}{0}
- \setcounter{tkz@cnt@cl}{0}
- \setcounter{tkz@cnt@pred}{0}
- \setcounter{tkz@cnt@temp}{0}
- \setcounter{tkz@cnt@arrow}{0}
- \setcounter{tkz@cnt@zone}{0}
- \gdef\tkz@deltaY{0}
-%<----------------------- Première colonne ---------------------------------->
-\foreach \ligne/\ecart in {#2}{%
- \stepcounter{tkz@cnt@lg}%
-}%
-\stepcounter{tkz@cnt@lg}%
-\foreach \colonne in {#3}{%
- \stepcounter{tkz@cnt@cl}%
-}%
-\addtocounter{tkz@cnt@cl}{-1}%
-\let\tkz@nbinterv\thetkz@cnt@cl
-\addtocounter{tkz@cnt@lg}{-1}%
-\xdef\maxtkz@cnt@lg{\thetkz@cnt@lg}%
-\xdef\tkz@maxcl{\thetkz@cnt@cl}%
-\pgfmathparse{\cmdTAB@tbs@lgt+2*\cmdTAB@tbs@deltacl+\cmdTAB@tbs@espcl*\tkz@nbinterv}%
-\global\let\tkz@lgttab\pgfmathresult
-\global\let\tkz@lgttab\tkz@lgttab
-\coordinate(T00) at (0,0);
-\coordinate(T10) at (\cmdTAB@tbs@lgt,0);
-\coordinate(T20) at (\tkz@lgttab,0);
-\setcounter{tkz@cnt@lg}{0}%
-\foreach \ligne/\tkz@deltaH in {#2}{%
- \setcounter{tkz@cnt@cl}{0}%
- \foreach \x in {#3}{%
- \pgfmathmultiply{\cmdTAB@tbs@espcl}{\value{tkz@cnt@cl}}%
- \global\let\ecartcl\pgfmathresult
- \pgfmathparse{\cmdTAB@tbs@lgt+\cmdTAB@tbs@deltacl+\ecartcl}%
- \global\let\tkz@ddx\pgfmathresult
- \stepcounter{tkz@cnt@cl}%
- \coordinate(N\thetkz@cnt@cl 0) at (\tkz@ddx,-\tkz@deltaY);}}%
-\foreach \m in {1,...,\tkz@maxcl}{%
- \setcounter{tkz@cnt@clnext}{\m}%
- \stepcounter{tkz@cnt@clnext}%
- \path (N\m 0)--(N\thetkz@cnt@clnext 0) coordinate[midway](M\m 0);}%
-\setcounter{tkz@cnt@cl}{0}%
-\setcounter{tkz@cnt@lg}{0}%
-\foreach \ligne/\tkz@deltaH in {#2}{%
- \stepcounter{tkz@cnt@lg}%
- \pgfmathadd{\tkz@deltaY}{\tkz@deltaH}%
- \global\let\tkz@deltaY\pgfmathresult
- \coordinate(T0\thetkz@cnt@lg) at (0,-\tkz@deltaY);
- \coordinate(T1\thetkz@cnt@lg) at (\cmdTAB@tbs@lgt,-\tkz@deltaY);
- \coordinate(T2\thetkz@cnt@lg) at (\tkz@lgttab,-\tkz@deltaY);
- \setcounter{tkz@cnt@cl}{0}%
- \foreach \x in {#3}{%
- \pgfmathparse{\cmdTAB@tbs@lgt+\cmdTAB@tbs@deltacl+%
- \cmdTAB@tbs@espcl*\thetkz@cnt@cl}%
- \global\let\tkz@ddx\pgfmathresult
- \stepcounter{tkz@cnt@cl}%
- \coordinate(N\number\value{tkz@cnt@cl}%
- \number\value{tkz@cnt@lg})%
- at (\tkz@ddx,-\tkz@deltaY);
- }%
- \foreach \m in {1,...,\tkz@maxcl}{%
- \setcounter{tkz@cnt@clnext}{\m}%
- \stepcounter{tkz@cnt@clnext}%
- \path (N\m\number\value{tkz@cnt@lg})--%
- (N\thetkz@cnt@clnext\number\value{tkz@cnt@lg})%
- coordinate[midway](M\m\number\value{tkz@cnt@lg});
- \ifTAB@tbs@help%
- \draw[fill=green!30!black] (M\m\number\value{tkz@cnt@lg}) circle(2pt)%
- node[below right,green!30!black] {%
- \footnotesize M\m\number\value{tkz@cnt@lg}};
- \fi
- }%
- \pgfmathdivide{\cmdTAB@tbs@lgt}{2}%
- \global\let\tkz@tab@dx\pgfmathresult
- \pgfmathdivide{\tkz@deltaH}{2}%
- \global\let\tkz@halfdeltaH\pgfmathresult
- \pgfmathsubtract{\tkz@halfdeltaH}{\tkz@deltaY}%
- \global\let\tkz@tab@dy\pgfmathresult
- \setcounter{tkz@cnt@temp}{\thetkz@cnt@lg}%
- \addtocounter{tkz@cnt@temp}{-1}%
- \path (\tkz@tab@dx,\tkz@tab@dy) coordinate(F\thetkz@cnt@temp);}%
-%
-%<--------------------- Colorisation du fond ------------------------------>
-\tikzset{fondC/.style={fill = \cmdTAB@tbs@colorC}}
-\tikzset{fondL/.style={fill = \cmdTAB@tbs@colorL}}
-\tikzset{fondT/.style={fill = \cmdTAB@tbs@colorT}}
-\tikzset{fondV/.style={fill = \cmdTAB@tbs@colorV}}
-\ifTAB@tbs@color
- \draw[fondC] (T01) rectangle (T1\maxtkz@cnt@lg);
- \draw[fondL] (T11) rectangle (T20);
- \draw[fondT] (T11) rectangle (T2\maxtkz@cnt@lg);
- \draw[fondV] (T00) rectangle (T11);
-\fi
-%<-------------------Fin Colorisation du fond ------------------------------>
-%
-%<--------------- Écriture des formules en colonne 1 --------------------->
-\setcounter{tkz@cnt@lg}{-1}%
-\pgfmathsubtract{\cmdTAB@tbs@textw}{0.4}%
-\xdef\cmdTAB@tbs@textw{\pgfmathresult}%
-\foreach \ligne/\tkz@deltaH in {#2}{%
-\stepcounter{tkz@cnt@lg}%
-\ifTAB@tbs@help%
-\node[draw,fill=green!50,inner sep=1pt] at (F\number\value{tkz@cnt@lg}) {\footnotesize F\thetkz@cnt@lg};
-\else
-\node[text width = \cmdTAB@tbs@textw cm,text centered,inner sep=0pt] at (F\thetkz@cnt@lg) {\ligne};
-\fi}%
-%<--------------- Cadre = true on trace tout sinon condition---------------->
-\ifTAB@tbs@nocadre%
-\draw[line width = \cmdTAB@tbs@lw] (T10) --(T1\maxtkz@cnt@lg);
-\setcounter{tkz@cnt@temp}{\maxtkz@cnt@lg}%
-\addtocounter {tkz@cnt@temp}{-1}%
-\xdef\maxtkz@cnt@lg{\thetkz@cnt@temp}%
-\foreach \y in {1,...,\maxtkz@cnt@lg}{\draw[line width = \cmdTAB@tbs@lw] (T0\y) --(T2\y);}%
-\else
-\foreach \y in {1,...,\maxtkz@cnt@lg}{\draw[line width = \cmdTAB@tbs@lw] (T0\y) --(T2\y);}%
-\draw[line width = \cmdTAB@tbs@lw] (T00) rectangle (T2\maxtkz@cnt@lg);
-\draw[line width = \cmdTAB@tbs@lw] (T10) -- (T1\maxtkz@cnt@lg);
-\fi
-%<------------ Première ligne et Nodes variations -------------------------->
-\setcounter{tkz@cnt@cl}{0}%
-\pgfextractx{\tkz@XF}{\pgfpointanchor{F0}{center}}%
-\pgfextracty{\tkz@YF}{\pgfpointanchor{F0}{center}}%
-\foreach \x in {#3}{%
-\pgfmathparse{\cmdTAB@tbs@deltacl+\cmdTAB@tbs@lgt/2+%
- \cmdTAB@tbs@espcl*\thetkz@cnt@cl}%
- \global\let\tkz@tab@dx\pgfmathresult
- \stepcounter{tkz@cnt@cl}%
- \ifTAB@tbs@help%
- \node[draw,fill=blue!50,inner sep=1pt] (L\number\value{tkz@cnt@cl})%
- at (\tkz@XF + \tkz@tab@dx cm,\tkz@YF) {\footnotesize L\number\value{tkz@cnt@cl}};%
- \else
- \node (L\thetkz@cnt@cl) at (\tkz@XF + \tkz@tab@dx cm,\tkz@YF) {\x};%
- \fi}%
-%<------------------------ help ----------------------------->
-\ifTAB@tbs@help%
-\foreach \colonne in {0,1,2}{%
-\foreach \ligne in {0,...,\maxtkz@cnt@lg}{\draw (T\colonne\ligne)%
- node[draw,fill=red!50,inner sep=1pt] {\textbf{\footnotesize T\colonne\ligne}};}}%
-\setcounter{tkz@cnt@temp}{\tkz@maxcl}
-\stepcounter{tkz@cnt@temp}
-\xdef\tkz@maxcl{\thetkz@cnt@temp}%
-\foreach \ligne in {0,...,\maxtkz@cnt@lg}
-{\foreach \colonne in {1,...,\tkz@maxcl}{%
- \draw[fill=red] (N\colonne\ligne) circle(2pt)%
- node[above right,red,inner sep=1pt] {\footnotesize N\colonne\ligne};}}%
-\fi
-}% fin de tkzTabInit
-%<--------------------------------------------------------------------------->
-%<--------------------- Ligne de Signes ------------------------------------->
-%<----------------------- tkzTabLine ----------------------------------->
-\newcommand*\stripspaces[1]{%
- \strip@spaces{#1}}
-\newcommand\strip@spaces{\renewcommand\strip@spaces[1]}%
-\expandafter\strip@spaces{%
- \@firstofone{\expandafter\strip@lastspace\@firstofone #1\@nil}
-\@nil\@@nil}
-\@ifdefinable\strip@lastspace{%
- \def\strip@lastspace#1 \@nil#2\@@nil{\strip@nil#1\@nil\@@nil}}
-\@ifdefinable\strip@nil{%
- \def\strip@nil#1\@nil#2\@@nil{#1}}
-%<--------------------------------------------------------------------------->
-\define@boolkey[TAB]{TL}{help}[true]{}
-\presetkeys[TAB]{TL}{help=false}{}
-%<--------------------------------------------------------------------------->
-\newcommand*{\tkzTabLine}[2][]{%
-\setkeys[TAB]{TL}{#1}%
- \setcounter{tkz@cnt@lg}{\thetkz@cnt@line}%
- \stepcounter{tkz@cnt@line}%
- \setcounter{tkz@cnt@lgnext}{\thetkz@cnt@line}%
- \setcounter{tkz@cnt@cl}{1}%
- \setcounter{tkz@cnt@pair}{1}%
- \setcounter{tkz@cnt@impair}{1}%
- \ifTAB@TL@help%
- \foreach \x in {#2}
- {%
- \ifthenelse{\isodd{\value{tkz@cnt@cl}}}{%
- \path (N\thetkz@cnt@impair\thetkz@cnt@lg) --%
- node[draw,inner sep =1pt,midway,fill=yellow] {%
- \footnotesize Z\thetkz@cnt@impair\thetkz@cnt@lg}%
- (N\thetkz@cnt@impair\thetkz@cnt@lgnext);
- \stepcounter{tkz@cnt@impair}}{%
- \path (M\thetkz@cnt@pair\thetkz@cnt@lg)--%
- node[draw,inner sep =1pt,midway,fill=yellow] {%
- \footnotesize S\thetkz@cnt@pair\thetkz@cnt@lg}%
- (M\thetkz@cnt@pair\thetkz@cnt@lgnext);
- \stepcounter{tkz@cnt@pair}}%
- \stepcounter{tkz@cnt@cl}%
- }%
- \else
- \ifTAB@tbs@color%
- \draw(T1\thetkz@cnt@lg) rectangle (T2\thetkz@cnt@line);%
- \fi
- \foreach \x in {#2}
- {%
- \ifthenelse{\isodd{\value{tkz@cnt@cl}}}{%
- \path (N\thetkz@cnt@impair\thetkz@cnt@lg) --%
- coordinate[midway](Z\thetkz@cnt@impair\thetkz@cnt@lg)%
- (N\thetkz@cnt@impair\thetkz@cnt@lgnext);
- \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{z}}{%
- \draw[line width = \cmdTAB@tbs@lw,t style]%
- (N\thetkz@cnt@impair\thetkz@cnt@lg) -- %
- (N\thetkz@cnt@impair\thetkz@cnt@lgnext);
- \node at (Z\thetkz@cnt@impair\thetkz@cnt@lg){$0$};
- }{%
- \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{}}{%
- }{%
- \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{t}}{%
- \draw[line width = \cmdTAB@tbs@lw,t style]
- (N\thetkz@cnt@impair\thetkz@cnt@lg) -- %
- (N\thetkz@cnt@impair\thetkz@cnt@lgnext);}{%
- \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{d}}{%
- \draw[line width =\cmdTAB@tbs@lw,double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@impair\thetkz@cnt@lg)--%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@impair\thetkz@cnt@lgnext);
- }{%
- \path (N\thetkz@cnt@impair\thetkz@cnt@lg)--%
- (N\thetkz@cnt@impair\thetkz@cnt@lgnext);
- \node at (Z\thetkz@cnt@impair\thetkz@cnt@lg){$\x$};
- }%
- }}}\stepcounter{tkz@cnt@impair}%
- }{%
- \path (M\thetkz@cnt@pair\thetkz@cnt@lg)--%
- coordinate[midway](S\thetkz@cnt@pair\thetkz@cnt@lg)%
- (M\thetkz@cnt@pair\thetkz@cnt@lgnext);%
- \ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{h}}{%
- \setcounter{tkz@cnt@clnext}{\thetkz@cnt@pair}%
- \stepcounter{tkz@cnt@clnext}%
- \pgfmathparse{\cmdTAB@TTS@doubledistance/2+\cmdTAB@tbs@lw}
- \global\let\tkz@deltax\pgfmathresult
- \fill[h style]([xshift=\tkz@deltax,yshift=-\cmdTAB@tbs@lw/2]%
- N\thetkz@cnt@pair\thetkz@cnt@lg)
- rectangle%
- ([xshift=-\tkz@deltax,yshift=\cmdTAB@tbs@lw/2]%
- N\thetkz@cnt@clnext\thetkz@cnt@lgnext);
-}{%
- \node at (S\thetkz@cnt@pair\thetkz@cnt@lg) {$\x$};
- }%
- \stepcounter{tkz@cnt@pair}%
- }%
- \stepcounter{tkz@cnt@cl}%
- }% end foreach
- \fi
-}%
-%<--------------------------------------------------------------------------->
-%<---------------------------- Variations ------------------------------->
-%<--------------------------------------------------------------------------->
-%<----------------------- Macro pour tracer une flèche ---------------------->
-%<--------------------------------------------------------------------------->
-\newcommand*{\tkzDrawArrow}{%
-\ifthenelse{\equal{\thetkz@cnt@zone}{0}}{%
- \setcounter{tkz@cnt@pred}{\thetkz@cnt@cl}
- \addtocounter{tkz@cnt@pred}{-1}
- \ifthenelse{\thetkz@cnt@temp>0}{%
- \addtocounter{tkz@cnt@pred}{-\thetkz@cnt@temp}%
- \setcounter{tkz@cnt@temp}{0}}{}%
- \ifTAB@VA@help%
- \draw[fill=orange] (FR\thetkz@cnt@pred\thetkz@cnt@lg) circle(2pt)%
- node[right,orange] {\footnotesize FR\thetkz@cnt@pred\thetkz@cnt@lg};
- \draw[fill=orange] (FL\thetkz@cnt@cl\thetkz@cnt@lg)circle(2pt)%
- node[left,orange] {\footnotesize FL\thetkz@cnt@cl\thetkz@cnt@lg};
- \else
- \draw[arrow style] (FR\thetkz@cnt@pred\thetkz@cnt@lg) to%
- (FL\thetkz@cnt@cl\thetkz@cnt@lg);%
- \fi
- }{%
- \setcounter{tkz@cnt@zone}{0}%
- }%
-}%
-%<--------------------------------------------------------------------------->
-\define@boolkey[TAB]{VA}{help}[true]{}
-\define@cmdkey[TAB]{VA}{color}{}
-\presetkeys[TAB]{VA}{color = \tkzTabDefaultWritingColor,
- help = false}{}
-%<--------------------------------------------------------------------------->
-\newcommand*{\tkzTabVar}[2][]{%
-\setkeys[TAB]{VA}{#1}%
-\setcounter{tkz@cnt@lg}{\thetkz@cnt@line}%
-\stepcounter{tkz@cnt@line}%
-\setcounter{tkz@cnt@lgnext}{\thetkz@cnt@line}%
-\begin{scope}
-\tikzset{every node/.style={inner sep =3pt}}%
-\setcounter{tkz@cnt@cl}{0}%
-\setcounter{tkz@cnt@aw}{0}%
-\setcounter{tkz@cnt@temp}{0}%
-\setcounter{tkz@cnt@arrow}{0}%
-\pgfmathparse{\cmdTAB@TTS@doubledistance/2+\cmdTAB@tbs@lw}
-\global\let\tkz@deltax\pgfmathresult
-
-\ifTAB@tbs@color%
- \draw (T1\thetkz@cnt@lg) rectangle (T2\thetkz@cnt@line);%
-\fi%
-%<----------------- Lecture des données et création des nodes --------------->
-\foreach \x/\tl/\tr in {#2}
-{\stepcounter{tkz@cnt@aw}\stepcounter{tkz@cnt@cl}%
-%<------------------------------------------------------------------- D- ---->
-\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{D-}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,low right] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi};%
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<------------------------------------------------------------------- D+ ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{D+}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,high right] (FR\thetkz@cnt@cl\thetkz@cnt@lg)%
- at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi};%
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}
-%<------------------------------------------------------------------- +D ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+D}}%
-{\draw[double style]%
- ([yshift=-\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- ([yshift=\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,high left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};%
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<------------------------------------------------------------------- +C ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+C}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg)--%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);%
-\node[node style,high,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};%
-\node[node style,high,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};%
-\ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}
-%<------------------------------------------------------------------ -D ----->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-D}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,low left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};%
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<------------------------------------------------------------------ -C ----->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-C}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,low,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};%
- \node[node style,low,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};%
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<------------------------------------------------------------------- + ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+}}%
-{\node[node style,high] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};
- \node[node style,high] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}
-%<---------------------------------------------------------------- +V+ ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+V+}}%
-{\node[node style,high left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};
- \node[node style,high right] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<--------------------------------------------------------------- -V- ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-V-}}%
-{\node[node style,low left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
- \node[node style,low right] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<-------------------------------------------------------------- -V+ ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-V+}}%
-{\node[node style,low left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
- \node[node style,high right] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}
-%<---------------------------------------------------------------- +V- ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+V-}}%
-{\node[node style,high left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};
- \node[node style,low right] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}
-%<------------------------------------------------------------------- - ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-}}%
-{\node[node style,low] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
- \node[node style,low] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<------------------------------------------------------------------ -D+ ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-D+}}%
-{\draw[line width =\cmdTAB@tbs@lw,double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,low left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
- \node[node style,high right] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}
-%<------------------------------------------------------------------ +D- ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+D-}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,high left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};%
- \node[node style,low right] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}
-%<----------------------------------------------------------------- -CD+ ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-CD+}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,low,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
- \node[node style,high right,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}
-%<----------------------------------------------------------------- -CD- ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-CD-}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,low,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
- \node[node style,low right,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}
-%<----------------------------------------------------------------- +CD- ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+CD-}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,high,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};
- \node[node style,low right,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}
-%<----------------------------------------------------------------- -DC+ ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-DC+}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- %
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,low left,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
- \node[node style,high,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<----------------------------------------------------------------- +DC- ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+DC-}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- %
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,high left,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};
- \node[node style,low,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<----------------------------------------------------------------- -DC- ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-DC-}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- %
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,low left,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
- \node[node style,low,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<----------------------------------------------------------------- +DC+ ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+DC+}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,high left,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};
- \node[node style,high,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<------------------------------------------------------------------ +D+ ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+D+}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- %
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,high left,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};
- \node[node style,high right,on double] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<------------------------------------------------------------------ -D- ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-D-}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- %
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,low left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
- \node[node style,low right] (FR\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tr\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}%
-}%
-%<------------------------------------------------------------------ R ------>
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{R}}%
-{\stepcounter{tkz@cnt@temp}%
-}%
-%<------------------------------------------------------------------ +DH ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+DH}}%
-{\draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) -- %
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,high left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};
- \setcounter{tkz@cnt@clnext}{\thetkz@cnt@cl}\stepcounter{tkz@cnt@clnext}
- \fill[h style]%
- ([xshift=\tkz@deltax] N\thetkz@cnt@cl\thetkz@cnt@lg)%
- rectangle%
- (N\thetkz@cnt@clnext\thetkz@cnt@lgnext);
-\ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}\stepcounter{tkz@cnt@zone}%
-}%
-%<------------------------------------------------------------------ -DH ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-DH}}%
-{\draw[double style]%
- ([yshift=-\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift=\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,low left] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@cl\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
- \setcounter{tkz@cnt@clnext}{\thetkz@cnt@cl}\stepcounter{tkz@cnt@clnext}%
- \fill[h style]%
- ([xshift=\tkz@deltax] N\thetkz@cnt@cl\thetkz@cnt@lg)%
- rectangle%
- (N\thetkz@cnt@clnext\thetkz@cnt@lgnext);
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}\stepcounter{tkz@cnt@zone}%
-}%
-%<------------------------------------------------------------------ +CH ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+CH}}%
-{\setcounter{tkz@cnt@clnext}{\thetkz@cnt@cl}\stepcounter{tkz@cnt@clnext}
-\fill[h style]%
-(N\thetkz@cnt@cl\thetkz@cnt@lg)%
- rectangle%
- (N\thetkz@cnt@clnext\thetkz@cnt@lgnext);
- \draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,high,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};
-\ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}\stepcounter{tkz@cnt@zone}%
-}%
-%<------------------------------------------------------------------ -CH ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-CH}}%
-{\setcounter{tkz@cnt@clnext}{\thetkz@cnt@cl}\stepcounter{tkz@cnt@clnext}%
- \fill[h style]%
- ([xshift=\tkz@deltax] N\thetkz@cnt@cl\thetkz@cnt@lg)%
- rectangle%
- (N\thetkz@cnt@clnext\thetkz@cnt@lgnext);
- \draw[double style]%
- ([yshift = -\cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lg) --%
- ([yshift = \cmdTAB@tbs@lw/2] N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,low,on double](FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
- \ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}\stepcounter{tkz@cnt@zone}%
-}%
-%<------------------------------------------------------------------ +H ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{+H}}%
-{\setcounter{tkz@cnt@clnext}{\thetkz@cnt@cl}\stepcounter{tkz@cnt@clnext}
- \fill[h style]%
- (N\thetkz@cnt@cl\thetkz@cnt@lg)%
- rectangle %
- (N\thetkz@cnt@clnext\thetkz@cnt@lgnext);
- \draw[]%
- (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,high,on double] (FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lg){\ifTAB@VA@help\else\tl\fi};%
-\ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}\stepcounter{tkz@cnt@zone}%
-}%
-%<------------------------------------------------------------------ -H ---->
-{\ifthenelse{\equal{\expandafter\stripspaces\expandafter{\x}}{-H}}%
-{\setcounter{tkz@cnt@clnext}{\thetkz@cnt@cl}\stepcounter{tkz@cnt@clnext}
- \fill[h style]%
- (N\thetkz@cnt@cl\thetkz@cnt@lg)%
- rectangle %
- (N\thetkz@cnt@clnext\thetkz@cnt@lgnext);
- \draw[]%
- (N\thetkz@cnt@cl\thetkz@cnt@lg) -- (N\thetkz@cnt@cl\thetkz@cnt@lgnext);
- \node[node style,low,on double](FL\thetkz@cnt@cl\thetkz@cnt@lg) at (N\thetkz@cnt@aw\thetkz@cnt@lgnext){\ifTAB@VA@help\else\tl\fi};
-\ifthenelse{\equal{\thetkz@cnt@arrow}{0}}{}{\tkzDrawArrow}\stepcounter{tkz@cnt@zone}%
-}{}% non prévu
-}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%
-\stepcounter{tkz@cnt@arrow}}% end de la boucle
-%<-------------------------------------------------- Tracé des flèches ------>
-\end{scope}%
-}% fin de la macro variation
-%<--------------------------------------------------------------------------->
-%<------------------------- Valeur Intermédiaire ---------------------------->
-%<--------------------------------------------------------------------------->
-\define@boolkey[TAB] {VI} {draw}[true]{}
-\define@cmdkey [TAB] {VI} {remember}{}
-\presetkeys [TAB] {VI} {draw = false,
- remember= lastval}{}
-%<--------------------------------------------------------------------------->
-\newcommand*{\tkzTabVal}[6][]{%
-\setkeys[TAB]{VI}{#1}%
-\setcounter{tkz@cnt@lg}{\thetkz@cnt@line}%
-\addtocounter{tkz@cnt@lg}{-1}%
-\pgfextractx{\tkz@XF}{\pgfpointanchor{L#2}{center}}
-\pgfextracty{\tkz@YF}{\pgfpointanchor{L#2}{center}}
-\pgfmathparse{\cmdTAB@tbs@espcl * (#4)*(#3-#2)}%
-\global\let\tkz@tab@dx\pgfmathresult
-\node[inner sep = 0pt,fondL] (ANT) at (\tkz@XF + \tkz@tab@dx cm,\tkz@YF) {#5};
-\path coordinate (ANTa) at ([xshift=\tkz@tab@dx cm]N#21);
-\path coordinate (ANTb) at ([xshift=\tkz@tab@dx cm]N#2\thetkz@cnt@line);
-\path (intersection cs:%
- first line = {(FR#2\thetkz@cnt@lg)--(FL#3\thetkz@cnt@lg)},%
- second line = {(ANTa)--(ANTb)}) node[node style,fondT](VAL){#6};
-\path coordinate (\cmdTAB@VI@remember) at (VAL);
-\ifTAB@VI@draw%
- \draw[from style] (ANTa.center) to (VAL);
-\fi
-}%
-%<--------------------------------------------------------------------------->
-%<--------------------------------------------------------------------------->
-\define@boolkey[TAB] {IM} {draw}[true]{}
-\define@cmdkey [TAB] {IM} {remember}{}
-\presetkeys [TAB] {IM} {draw = false,
- remember= lastval}{}
-\newcommand*{\tkzTabIma}[5][]{%
-\setkeys[TAB]{IM}{#1}%
-\setcounter{tkz@cnt@lg}{\thetkz@cnt@line}%
-\addtocounter{tkz@cnt@lg}{-1}%
-\setcounter{tkz@cnt@lgnext}{\thetkz@cnt@line}%
-\path (intersection cs:
- first line = {(FR#2\thetkz@cnt@lg)--(FL#3\thetkz@cnt@lg)},%
- second line = {(N#4\thetkz@cnt@lg) --(N#4\thetkz@cnt@lgnext)}) node[node style,fondT](IMA){#5};
- \path coordinate (\cmdTAB@IM@remember) at (IMA);
-\ifTAB@IM@draw%
- \draw[from style] (N#41) to (IMA);
-\fi
-}%
-%<--------------------------------------------------------------------------->
-%<--------------------------------------------------------------------------->
-\newcommand*{\tkzTabImaFrom}[5][]{%
-\setkeys[TAB]{IM}{#1}%
-\setcounter{tkz@cnt@lg}{\thetkz@cnt@line}%
-\addtocounter{tkz@cnt@lg}{-1}%
-\path (intersection cs:%
- first line = {(FR#2\thetkz@cnt@lg)--(FL#3\thetkz@cnt@lg)},%
- second line={(#4)--([yshift=-0.5 cm]#4)}) node[node style,fondT](IMA){#5};
- \path coordinate (\cmdTAB@IM@remember) at (IMA);
-\ifTAB@IM@draw
- \draw[from style] (#4) to (IMA);
-\fi
-}%
-%<--------------------------------------------------------------------------->
-%<--------------------------------------------------------------------------->
-%<---------------------- tangente horizontale ----------------------------->
-% args 1--> options ;
-% 2--> tkz@cnt@cl debut fl ;
-% 3--> tkz@cnt@clnext fin de fl ;%
-% 4---> n°de val ;
-% 5----> image
-\define@cmdkey [TAB] {TA} {pos}[below]{}
-\define@cmdkey [TAB] {TA} {color}{}
-\define@boolkey[TAB] {TA} {draw}[true]{}
-\define@cmdkey [TAB] {TA} {remember}{}
-\presetkeys [TAB] {TA} {draw = false,
- color = \tkzTabDefaultWritingColor,
- pos = above,
- remember = lastval}{}
-%<--------------------------------------------------------------------------->
-\newcommand*{\tkzTabTan}[5][]{%
-\setkeys[TAB]{TA}{#1}%
-\setcounter{tkz@cnt@lg}{\thetkz@cnt@line}%
-\addtocounter{tkz@cnt@lg}{-1}%
-\setcounter{tkz@cnt@lgnext}{\thetkz@cnt@line}%
-\path (intersection cs:
- first line = {(FR#2\thetkz@cnt@lg)--(FL#3\thetkz@cnt@lg)},%
- second line = {(N#4\thetkz@cnt@lg) --(N#4\thetkz@cnt@lgnext)}) coordinate(tgt);
-\draw[fill,color=\cmdTAB@TA@color] (tgt) circle (1pt);
-\node[\cmdTAB@TA@pos =1pt] at (tgt) {#5};
-\path coordinate (\cmdTAB@TA@remember) at (tgt);
-\draw[tan style] (tgt) -- ++(.75,0);
-\draw[tan style] (tgt) -- ++(-.75,0);
-\ifTAB@TA@draw \draw[from style] (N#41) to (tgt); \fi
-}%
-%<--------------------------------------------------------------------------->
-%<--------------------------------------------------------------------------->
-\newcommand*{\tkzTabTanFrom}[5][]{%
-\setkeys[TAB]{TA}{#1}%
- \setcounter{tkz@cnt@lg}{\thetkz@cnt@line}%
- \addtocounter{tkz@cnt@lg}{-1}%
- \setcounter{tkz@cnt@lgnext}{\thetkz@cnt@line}%
- \path (intersection cs:
- first line = {(FR#2\thetkz@cnt@lg)--(FR#3\thetkz@cnt@lg)},%
- second line = {(#4) --([yshift=-0.5 cm]#4)}) coordinate(tgt);
- \draw[fill,color=\cmdTAB@TA@color] (tgt) circle (1pt);
- \node[\cmdTAB@TA@pos = 1pt] at (tgt) {#5};
- \path coordinate (\cmdTAB@TA@remember) at (tgt);
- \draw[arrow style] (tgt) -- ++(.75,0);
- \draw[arrow style] (tgt) -- ++(-.75,0);
- \ifTAB@TA@draw \draw[from style] (#4) -- (tgt); \fi
-}%
-%<--------------------------------------------------------------------------->
-%<---------------------- dérivée droite gauche ------------------------------>
-\newcommand*{\tkzTabSlope}[1]{%
-\foreach \x/\y/\z in {#1}{%
- \node[left = 3pt] at (Z\x 1) {\scriptsize $\y$};
- \node[right = 3pt] at (Z\x 1) {\scriptsize $\z$};
- }%
-}
-%<--------------------------------------------------------------------------->
-%<--------------------------------------------------------------------------->
-\newcommand*{\tkzTab}[5][]{%
- \tkzTabInit[#1]{#2}{#3}%
- \tkzTabLine{#4}%
- \tkzTabVar{#5}%
-}
-%<-------------------------------The End ------------------------------------>
-\endinput
-