summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/tkz-tab/TKZdoc-tab-sign.tex
blob: b8ad3f23dde8401304a763638fe160e0608ca715 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
% 22 / 02 /2009 v1.0c TKZdoc-tab-sign   10h
\section{Création d'une ligne de signes : \addbs{tkzTabLine}}
\subsection{Définition}

\begin{NewMacroBox}{tkzTabLine}{\oarg{local options}\var{s(1),...,s(2n-1)}}
  $n$ est le nombre d'éléments du second argument de \tkzname{tkzTabInit}. 

\medskip
\begin{tabular}{ll}
\hline
symbole de rang impair   & définition \\
\hline
\IargName{tkzTabLine}{z}  &  place un trait en pointillés et un zéro centré \\
\IargName{tkzTabLine}{t}  &  place un trait en pointillés centré            \\
\IargName{tkzTabLine}{d}  &  place une double barre centrée                 \\
\tkzname{\textvisiblespace}& tout comme l'absence de symbole, aucune action      \\ 
\end{tabular}

\medskip
\begin{tabular}{ll}
\hline
symbole de rang pair  & définition                                     \\
\hline
\IargName{tkzTabLine}{h}   &  zone interdite                           \\
\IargName{tkzTabLine}{+}   &  le signe $+$                           \\
\IargName{tkzTabLine}{-}   &  le signe $-$                           \\
\tkzname{\textvisiblespace}& tout comme l'absence de symbole, aucune action      \\ 
\hline
\end{tabular}


\medskip
\noindent\emph{\tkzcname{tkzTabLine} accepte  comme argument une liste constituée de symboles. Dans une utilisation \tkzname{normale}, les symboles font partie de   deux catégories; les symboles de rang impair et les symboles de rang pair. Cette distinction est due au fait que les symboles de rang impair sont en général des traits (filets) et ceux pour les places de rang pair sont en général des signes \og $+$ ou $-$ \fg. Les symboles de rang impair agissent graphiquement, et permettent de tracer des filets verticaux. L'argument de \tkzcname{tkzTabLine} en contient \tkzname{$n$} si on suppose que le deuxième argument de  \tkzcname{tkzTabInit} possède \textcolor{red}{$n$} éléments (antécédents). Les symboles de rang pair  permettent d'obtenir un signe \og $+$ ou $-$ \fg\ ou bien une zone interdite (hachurée ou colorée). Chaque ligne de signes en contient \tkzname{$n-1$} et contiendra donc un total de \tkzname{$2n-1$} éléments, c'est à dire \tkzname{$2n-2$} virgules !\\
Les différents symboles "reconnus" sont donnés dans le tableau ci-dessus,  mais vous devez savoir que l'on peut mettre pratiquement n'importe quoi. Cependant attention! la virgule \textcolor{red}{(,)} est le séparateur de liste aussi vous devez prendre des précautions pour introduire un nombre à virgule. Vous avez plusieurs possibilités~:
\begin{itemize}
\item[--] \{4,5\} on place le nombre entre des accolades.
\item[--] \tkzcname{numprint\{4,5\}} ou encore  \tkzcname{np\{4,5\}}, ce qui nécessite de charger l'excellent package \tkzname{numprint}\NamePack{numprint} avec l'option \tkzname{np} pour le raccourci.
\end{itemize}}
 
\medskip
\begin{tabular}{lllc}
\hline
\texttt{options}   & \texttt{défaut}        & \texttt{définition}           \\
\hline
\IoptName{tkzTabLine}{style}  & |dotted|& style des traits verticaux       \\  
\IoptName{tkzTabLine}{help}   & no default & affiche la structure d'une ligne de signes    \\  
\end{tabular}

\medskip 
\noindent\emph{Il est possible de changer localement le style des filets verticaux et il est possible d'avoir des renseignements sur la structure de la ligne.}
\end{NewMacroBox}

\subsection{Nombre d'arguments utilisés.}
La syntaxe générale est :

\begin{center}
\begin{tkzexample}[code only]
 \tkzTabInit{ e(1),...,e(i),...,e(p)} % tableau à p lignes.
            { a(1),...,a(i),...,a(n)} % n antécédents
 \tkzTabLine{ s(1),...,s(i),...,s(2n-1)}\end{tkzexample}
\end{center}

\medskip
Si on utilise \tkzname{$n$} antécédents pour la première ligne alors il y aura \tkzname{$n$} symboles de rang impair et \tkzname{$n-1$} symboles de rang pair, soit \tkzname{$2n-1$} symboles. 

 Les principaux symboles  utilisés sont : \tkzname{z} pour un zéro placé sur un trait, \tkzname{t} pour un trait correspondant  à un zéro d'une autre ligne, \tkzname{d} pour une valeur pour laquelle l'expression n'est pas définie.
 
Voyons une illustration  simple : trois antécédents $a_1$, $a_2$, et $a_3$ permettront de mettre $2\times3 -1 =5$ symboles. Les $3$ valeurs de la première ligne impliquent pour l'argument de   \tkzcname{tkzTabLine} de posséder {$2\times 3-1=5$} éléments  c'est-à-dire être une liste comportant   $3$ symboles de rang impair et $2$ symboles de rang pair, soit un total de $5$ symboles qui seront séparés par $4$ virgules.

\begin{center}
	\begin{tikzpicture}
	  \tkzTabInit[espcl=3,lgt=2]%
	  {\colorbox{red!40}{\textcolor{white}{$x$}}    / 1,%
	   \colorbox{red!40}{\textcolor{white}{$f(x)$}} / 1}%
	  {\colorbox{blue!40}{\textcolor{white}{ $a_1$}},%
	   \colorbox{blue!40}{\textcolor{white}{ $a_2$}},%
	   \colorbox{blue!40}{\textcolor{white}{ $a_3$}}}%
	  \path (N11)--(N12) node[circle,draw, fill= lightgray,midway] {1};
	  \path (N12)--(N21) node[midway] {$,$};
	  \path (N21)--(N22) node[circle, draw, fill= lightgray,midway] {3};
	  \path (N31)--(N32) node[circle,draw,  fill= lightgray,midway] {5};
	  \path (M11)--(M12) node[circle, draw, fill= orange!30,midway] {2};
	  \path (M21)--(M22) node[circle,draw,  fill= orange!30,midway] {4};
	\end{tikzpicture} 
\end{center}

Pour obtenir cette ligne, il faut entrer
\begin{tkzexample}[code only]\tkzTabLine{ $1$ , $2$ , $3$ , $4$ , $5$}\end{tkzexample}
  




\subsection{Emploi minimum}
La deuxième ligne est vide mais l'argument \tkzcname{tkzTabLine} doit comporter \tkzname{$4$} virgules. C'est en effet une liste comportant \tkzname{$5 = 2\times3-1$} valeurs.

\begin{tkzexample}[code only]
 \tkzTabLine{,,,,} ou \tkzTabLine{ , , , , }\end{tkzexample}
 
\begin{tkzexample}[width=8cm,very small]
\begin{tikzpicture}
  \tkzTabInit[espcl=1.5]
     {$x$  / 1 ,$f(x)$ /1 }%
     {$v_1$ , $v_2$ , $v_3$ }%
  \tkzTabLine{ , , , , }
\end{tikzpicture}\end{tkzexample}

\subsubsection{\texttt{\textcolor{red}{t}} : ajout d'un trait} 
Cette option place un simple trait verticalement.
\begin{tkzexample}[width=8cm,very small]
\begin{tikzpicture}
  \tkzTabInit[espcl=1.5]
     {$x$  / 1 ,$f(x)$ /1 }%
     {$v_1$ , $v_2$ , $v_3$ }%
  \tkzTabLine{ t, , t , ,t }
\end{tikzpicture}\end{tkzexample}

\subsubsection{\texttt{\textcolor{red}{z}} : ajout d'un zéro sur un trait vertical}
\begin{tkzexample}[width=8cm,very small]
\begin{tikzpicture}
  \tkzTabInit[espcl=1.5]
     {$x$  / 1 ,$f(x)$ /1 }%
     {$v_1$ , $v_2$ , $v_3$ }%
  \tkzTabLine{ z, , z , ,z }
\end{tikzpicture}\end{tkzexample}

\subsubsection{\texttt{\textcolor{red}{d}} : double barre}

On peut aussi avoir le cas d'une fonction  non définie en $0$ et en $2$ mais s'annulant en $1$. On place à chaque extrémité le symbole |d|.

\begin{tkzexample}[width=7cm,very small]
\begin{tikzpicture}
  \tkzTabInit[espcl=1.5]%
    {$x$ / 1,$g(x)$ / 1}%
    {$0$,$1$,$2$}%
\tkzTabLine{d,+,0,-,d}
\end{tikzpicture}\end{tkzexample}
  
On peut aussi avoir le cas d'une fonction admettant une dérivée à droite différente de la dérivée à gauche

\begin{tkzexample}[width=7cm,very small]
\begin{tikzpicture}
   \tkzTabInit[lgt=1.5,espcl=1.75]%
       {$x$ / 1,$f'(x)$ / 1}%
       {$-\infty$,$0$,$+\infty$}%
   \tkzTabLine{,+,d,-,}
\end{tikzpicture}\end{tkzexample}

\subsection{Utilisation des symboles de rang pair}  

Pour un tableau de signe, en principe les symboles de rang pair mais il est possible de détourner l'emploi de base de cette macro. L'exemple suivant montre un cas classique d'une zone du tableau qui correspond à des valeurs interdites. par défaut avec le symbole \tkzname{h}, la zone est grisée mais on peut hachurer cette zone si on préfère.
Le dernier exemple montre comment détourner l'usage principal.

\subsubsection{\texttt{\textcolor{red}{h}} : zone interdite}

Une fonction peut ne pas être définie sur un intervalle, ici $[1~;~2]$. La partie du tableau qui correspond à cet intervalle sera hachurée ou bien colorée (par défaut, la zone est grisée). Des options permettant de personnaliser seront offertes. Pour l'exemple suivant, il suffit de placer |h| entre les deux |d| qui correspondent aux valeurs interdites\index{valeurs interdites} $1$ et  $2$.

\begin{tkzexample}[width=8cm,very small]
\begin{tikzpicture}
  \tkzTabInit[color,espcl=1.5]
  {$x$ / 1,$g(x)$ / 1}
  {$0$,$1$,$2$,$3$}%
  \tkzTabLine{z, + , d , h , d , - , t}
\end{tikzpicture}\end{tkzexample}

\subsection{Utilisation des options} 

\subsubsection{\texttt{\textcolor{red}{t style}} : modification du style des traits verticaux}
\Istyle{tkzTabLine}{t style}
  \tikzset{t style/.style = {style = dashed}}
\begin{tkzexample}[width=8cm,very small]
\begin{tikzpicture}
  \tkzTabInit[espcl=1.5]
     {$x$  / 1 ,$f(x)$ /1 }%
     {$v_1$ , $v_2$ , $v_3$ }%
  \tkzTabLine{ t, , t , ,t }
\end{tikzpicture}\end{tkzexample}

  \tikzset{t style/.style = {style = densely dashed}}
\begin{tkzexample}[width=8cm,very small]
\begin{tikzpicture}
  \tkzTabInit[espcl=1.5]
     {$x$  / 1 ,$f(x)$ /1 }%
     {$v_1$ , $v_2$ , $v_3$ }%
  \tkzTabLine{ z, , z , ,z }
\end{tikzpicture}\end{tkzexample}

\subsubsection{\texttt{\textcolor{red}{help}} : Affiche la structure du tableau} 
\Iopt{tkzTabLine}{help}   
Voir la section \og personnalisation \fg\ (\ref{pers}).


\subsection{Utilisation des styles}

\subsubsection{\texttt{\textcolor{red}{h style}} : modification de la couleur d'une zone interdite}
\Istyle{tkzTabLine}{h style} \index{zone interdite}
Si vous préférez hachurer une zone du tableau, alors  il faut modifier un style. 
\begin{tkzexample}[very small]
\begin{tikzpicture}
		  \tikzset{h style/.style = {fill=red!50}}
		  \tkzTabInit[color,espcl=1.5]%
		    {$x$ / 1,$g(x)$ / 1}%
		    {$0$,$1$,$2$,$3$}%
		  \tkzTabLine{z,+,d,h,d,-,t}
\end{tikzpicture}
\end{tkzexample}


Cette fois la zone est hachurée.
 \index{hachures}
\begin{tkzexample}[very small]
\begin{tikzpicture}
  \tikzset{h style/.style =
          {pattern=north west lines}}
  \tkzTabInit[color,espcl=1.5]%
    {$x$ / 1,$g(x)$ / 1}%
    {$0$,$1$,$2$,$3$}%
  \tkzTabLine{z,+,,h,d,-,t}
\end{tikzpicture}
\end{tkzexample}


 
\subsection{Exemples}

\subsubsection{Simplification d'une expression comportant une valeur absolue }

\begin{tkzexample}[width=7cm,very small]
 \begin{tikzpicture}
 \tkzTabInit[lgt=2,espcl=1.75]%
  {$x$/1,$2-x$/1, $\vert 2-x \vert $/1}%
  {$-\infty$,$2$,$+\infty$}%
 \tkzTabLine{ , + , z , - , }
 \tkzTabLine{ , 2-x ,z, x-2, }
\end{tikzpicture}\end{tkzexample}  

\subsubsection{Tableau de signes}

\begin{tkzexample}[,very small]
\begin{tikzpicture}
	\tkzTabInit[lgt=3,espcl=1.5]%
	   {$x$                                   /1,
	    $x^2-3x+2$                            /1,
	    $(x-\E)\ln x$                   /1,
	    $\dfrac{x^2-3x+2}{(x-\E)\ln x}$ /2}
	            {$0$  , $1$  , $2$  , $\E$  ,$+\infty$}
	            \tkzTabLine{ t,+,z,-,z,+,t,+,}
	            \tkzTabLine{ d,+,z,-,t,-,z,+,}
	            \tkzTabLine{ d,+,d,+,z,-,d,+,}
\end{tikzpicture}\end{tkzexample}

	
\subsubsection{Signe d'une expression du second degré}

Si $\Delta  \geq 0$ on peut écrire  $\displaystyle ax^2+bx+c=a\left(x-\dfrac{-b-\sqrt{b^2-4ac}}{2a}\right)\left(x-\dfrac{-b+\sqrt{b^2-4ac}}{2a}\right)$


\begin{tkzexample}[vbox,very small]
\begin{tikzpicture}
 \tkzTabInit[color,lgt=5,espcl=3]%
   {$x$ / .8,$\Delta>0$\\ Le signe de\\ $ax^2+bx+c$ /1.5}%
   {$-\infty$,$x_1$,$x_2$,$+\infty$}%
 \tkzTabLine{ , \genfrac{}{}{0pt}{0}{\text{signe de}}{a}, z
              , \genfrac{}{}{0pt}{0}{\text{signe}}{\text{opposé de}\ a}, z
              , \genfrac{}{}{0pt}{0}{\text{signe de}}{a},  }
 \end{tikzpicture}\end{tkzexample}
 Il faut noter l'emploi de la macro \tkzcname{genfrac}\footnote{\tkzcname{genfrac} est une macro du package \tkzname{amsmath}}.

\medskip
Si $\Delta  = 0$ alors on peut écrire   $\displaystyle ax^2+bx+c=a\left(x+\dfrac{b}{2a}\right)^2$

\begin{tkzexample}[vbox,width=7cm,very small]
\begin{tikzpicture}
  \tkzTabInit[color,lgt=5,espcl=3]%
   {$x$ / 1 , $\Delta=0$\\ Le signe de\\ $ax^2+bx+c$  / 2}%
   {$-\infty$,$\dfrac{-b}{2a}$,$+\infty$}%
  \tkzTabLine{ , \genfrac{}{}{0pt}{0}{\text{signe de}}{ a} , z
               , \genfrac{}{}{0pt}{0}{\text{signe de}}{a}, }
\end{tikzpicture}\end{tkzexample}

Si $\Delta  < 0$  alors  $\displaystyle ax^2+bx+c=a\left[\left(x+\dfrac{b}{2a}\right)^2 -\dfrac{b^2-4ac}{4a^2}\right]$

\begin{tkzexample}[vbox,width=7cm,very small]
\begin{tikzpicture}
  \tkzTabInit[color,lgt=5,espcl=5]%
   {$x$/.8,$\Delta<0$\\ Le signe de\\ $ax^2+bx+c$/2}%
   {$-\infty$,$+\infty$}%
 \tkzTabLine{ , \genfrac{}{}{0pt}{0}{\text{signe de}}{ a}, }
\end{tikzpicture}\end{tkzexample}


\endinput