<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\section{Quelques remarques}

\begin{enumerate}
\item Modification avec les anciennes versions~:
  \begin{itemize}
   \item \tkzcname{tkzTan} est devenu \tkzcname{tkzDrawTangentLine}
   \item DÃ©sormais le domaine est donnÃ© comme avec \TIKZ\ et ce n'est plus
    \parg{$x_a..x_b$}
   \item \tkzcname{tkzFctPt} est devenu \tkzcname{tkzDefPointByFct}
  \end{itemize}

\item  Quand \tkzname{xstep} est diffÃ©rent de 1, la variable doit Ãªtre \tkzcname{x}.
\item Quand une fonction est passÃ©e en argument Ã&nbsp; la macro \tkzcname{tkzFct}, elle est stockÃ©e avec la syntaxe de \tkzname{gnuplot} dans la macro \tkzcname{tkzFctgnua}. \tkzname{tkzFctgnu} est un prÃ©fixe, Â« a Â» est la rÃ©fÃ©rence associÃ©e Ã&nbsp; la fonction, la fonction suivante dans le mÃªme environnement \tkzname{tikzpicture} sera rÃ©fÃ©rencÃ©e Â« b Â» et ainsi de suite...

Elle est aussi stockÃ©e avec la syntaxe de \tkzname{fp.sty} dans la macro  \tkzcname{tkzFcta} avec le prÃ©fixe \tkzname{tkzFcta}.

La derniÃ¨re macro utilisÃ©e est Ã©galement sauvegardÃ©e sous les deux syntaxes  avec \tkzcname{tkzFctgnuLast}   et \tkzcname{tkzFctLast}.
\item Attention dans \tkzname{gnuplot} un quotient doit Ãªtre entrÃ© sous la forme 1./3, car 1/3 donne le quotient d'une division euclidienne (ici 0).
\item ProblÃ¨me avec gnuplot~:
  \begin{itemize}
   \item Si le fichier xxx.table n'est pas crÃ©Ã©, la cause probable est~:
     \begin{itemize}
     \item  soit que \TEX\ ne trouve pas \tkzname{gnuplot}, c'est en gÃ©nÃ©ral un problÃ¨me de Â« PATH Â»,
     \item  soit \TEX\  n'autorise pas le lancement de \tkzname{gnuplot} alors c'est que l'option \tkzname{shell-escape} n'est pas autorisÃ©. 
    \end{itemize} 
 
Une autre possibilitÃ© est que le fichier xxx.gnuplot soit incorrect. Il suffit de l'ouvrir avec un Ã©diteur pour lire les commandes passÃ©es Ã&nbsp; \tkzname{gnuplot}. Il est Ã&nbsp; remarquer un changement de syntaxe de \tkzname{gnuplot} autour de la version 4.2. La syntaxe pour crÃ©er une table avec des versions ultÃ©rieures (4.4 et bientÃ´t 4.5), est dÃ©sormais  \tkzname{set table}. 


   \item $\pi$ est, avec \tkzname{gnuplot}, dÃ©fini par \tkzname{pi}
   \item  $\pi$ est, avec \tkzname{fp.sty} dÃ©fini par \tkzcname{FPpi}.   
   \item (set) samples =2 est suffisant pour tracer une droite.
  \end{itemize}
 
 \item La puissance $a^b$ est notÃ©e $a \wedge b$ avec fp et pgfmath mais $a**b$ avec gnuplot.
 
 \item \tkzname{tkz-fct} modife FP@pow  (code modifiÃ© de Christian Tellechea 2009) afin d'autoriser les puissances entiÃ¨res de nombres  nÃ©gatifs.


\item ({1/exp(1)}) est correct mais (1/exp(1)) donne une erreur
\end{enumerate}

\subsection{Fonctions de \tkzname{gnuplot}}


\begin{tabular}{lll}
\toprule      
Gnuplot&amp;fp&amp;Description \\
+  &amp; +  &amp;  addition\\
-  &amp; -   &amp;  soustraction\\
*  &amp; *  &amp;  multiplication\\
/  &amp; /  &amp;  division\\ 
**  &amp; \upp  &amp;  exponentiation\\ 
\%  &amp; absente &amp; modulo \\
pi  &amp;  pi  &amp;  constante 3.1415   \\
abs(x) &amp; abs  &amp; Valeur absolue                              \\
cos(x) &amp; cos &amp;  Arc -cosinus                                \\
sin(x) &amp; sin &amp;  Arc -cosinus                                \\
tan(x) &amp; tan &amp;  Arc -cosinus                                \\
acos(x) &amp; arccos &amp;  Arc -cosinus                            \\
asin(x) &amp;  arcsin &amp;  Arc-sinus                              \\
atan(x) &amp;  arctan &amp;  Arc-tangente                           \\
atan2(y,x) &amp; absente &amp; Arc-tangente                  \\ 
\midrule
cosh(x) &amp; absente &amp; Cosinus hyperbolique                       \\
sinh(x) &amp; absente &amp; Sinus hyperbolique                         \\
acosh(x) &amp; absente &amp; Arc-cosinus hyperbolique                  \\
asinh(x) &amp; absente &amp; Arc-sinus hyperbolique                  \\
atanh(x) &amp; absente &amp; Arc-tangente hyperbolique                 \\ 
\midrule
besj0(x) &amp; absente  &amp; Bessel j0                       \\
besj1(x) &amp; absente &amp; Bessel j1                       \\
besy0(x) &amp; absente &amp; Bessel y0                       \\
besy1(x) &amp; absente &amp; Bessel y1                       \\
\midrule  
ceil(x) &amp; absente &amp;  Le plus petit entier plus grand que       \\
floor(x) &amp; absente &amp;  Plus grand entier plus petit que         \\
absente &amp; trunc(x,n) &amp;  troncature $n$ nombre de dÃ©cimales        \\ 
absente &amp; round(x,n) &amp;  arrondi $n$ nombre de dÃ©cimales         \\ 
exp(x) &amp; exp  &amp; Exponentielle                               \\
log(x) &amp; ln &amp;  Logarithme nÃ©pÃ©rien (base e)                 \\
log10(x) &amp; absente &amp; Logarithme base 10                      \\
norm(x) &amp; absente &amp; Distribution normale                       \\
rand(x) &amp; random &amp;  GÃ©nÃ©rateur de nombre pseudo-alÃ©atoire     \\
sgn(x) &amp; absente &amp; Signe                                       \\
sqrt(x) &amp; absente &amp;  Racine carrÃ©e                             \\
tanh(x) &amp; absente &amp; Tangente hyperbolique                      \\
\bottomrule
\end{tabular}  
 \endinput 
fp

 fp.sty    ,neg,min,max,
	   round,trunc,clip,e,pow,root     
	   
	   
	    
Toutes les fonctions qui prennent un angle en paramÃ¨tre considÃ¨rent par dÃ©faut la valeur donnÃ©e comme Ã©tant en radians. Pour changer l'unitÃ©, il faut utiliser la commande set angles .
Les fonctions ceil et floor renvoient un rÃ©el.
 Les fonctions erf, erfc, gamma, ibeta, inverf, igamma, invnorm, lgamma et norm agissent sur la partie rÃ©elle de leur paramÃ¨tre. Enfin, la fonction sgn ignore la partie imaginaire   
 




   rand   random (renvoi un nombre entre 0 et 1)
   real   partie real
   sgn    renvoi 1 si l'argument est positif, 0 s'il
          est nulle, et -1 s'il est nÃ©gatif


   help expressions functions pour avoir la liste totale


     fp
     
     
     
     	 The following macros are public ones to be used in the document:
	   %controlling messages
	     \FPmessagestrue	% print standard FP-messages (default)
	     \FPmessagesfalse   % suppress standard FP-messages
	     \FPdebugtrue    	% print debug messages (mainly for upn)
	     \FPdebugfalse	% suppress debug messages (default)
	   %introduction of new values
	     \FPset#1#2		% #1 := #2  (#1 may be macro or string)
	   %print values
	     \FPprint#1		% prints #1 (#1 may be macro or string)
           %binary operations
             \FPadd#1#2#3	% #1 := #2+#3
             \FPdiv#1#2#3	% #1 := #2/#3
             \FPmul#1#2#3	% #1 := #2*#3
             \FPsub#1#2#3	% #1 := #2-#3
           %unary operations
             \FPabs#1#2		% #1 := abs(#2)
             \FPneg#1#2		% #1 := -#2
           %binary relations
             \FPiflt#1#2...\else...\fi % #1 &lt; #2 ?
             \FPifeq#1#2...\else...\fi % #1 = #2 ?
             \FPifgt#1#2...\else...\fi % #1 &gt; #2 ?
           %unary relations
             \FPifneg#1 ...\else...\fi % #1 &lt;  0 ?
             \FPifpos#1 ...\else...\fi % #1 &gt;= 0 ?
             \FPifzero#1...\else...\fi % #1 =  0 ?
             \FPifint#1 ...\else...\fi % #1 is integer ?
           %repeat last test
             \ifFPtest  ...\else...\fi % repeat last test
     - fp-addons.sty
	 The following macros are public ones to be used in the document:
	   %binary operations
	     \FPmin#1#2#3	% #1 = min(#2,#3)
	     \FPmax#1#2#3	% #1 = max(#2,#3)
     - fp-eqn.sty (No warranty on correctness and especially on numerical problems!)
         The following macros are public ones to be used in the document:
	   \FPlsolve#1#2#3           
		% #1 := x with #2*x+#3=0
	   \FPqsolve#1#2#3#4#5 
		% #1,#2 := x with #3*x^2+#4*x+#5 = 0
	   \FPcsolve#1#2#3#4#5#6#7
		% #1,#2,#3 := x with #4*x^3+#5*x^2+#6*x+#7 = 0
	   \FPqqsolve#1#2#3#4#5#6#7#8#9
		% #1,#2,#3,#4 := x with #5*x^4+#6*x^3+#7*x^2+#8*x+#9 = 0
	 The resulting solutions are all real values. If there do not
	 exist as much solutions you get a warning message and some
	 other solutions occur several times in the solution vector.
     - fp-exp.sty
         The following macros are public ones to be used in the document:
           \FPe			% 2.718281828459045235
	   \FPexp#1#2 		% #1 := e^(#2)
	   \FPln#1#2		% #1 := ln(#2)
	   \FPpow#1#2#3  	% #1 := (#2)^(#3)
	   \FProot#1#2#3        % #1 := (#2)^(1/#3)
     - fp-random.sty
         The following macros are public ones to be used in the document:
	   \FPseed=#1		% set seed counter for random number generation
	   \FPrandom#1		% #1 := a random number between 0 and 1
     - fp-pas.sty
         The following macros are public ones to be used in the document:
           \FPpascal#1#2 	% #1 := #2-th line of the pascal triangle
     - fp-snap.sty:
         The following macros are public ones to be used in the document:
	   \FPround#1#2#3       % #1 := #2 rounded   to #3 digits after '.'
	   \FPtrunc#1#2#3       % #1 := #2 truncated to #3 digits after '.'
           \FPclip#1#2		% #1 := #2 with all unnecessary 0's removed
     - fp-trigo.sty:
         The following macros are public ones to be used in the document:
	   \FPpi 		% 3.141592653589793238
	   \FPsin#1#2		% #1 := sin(#2)
	   \FPcos#1#2 		% #1 := cos(#2)
	   \FPsincos#1#2#3	% #1 := sin(#3), #2 := cos(#3)
	   \FPtan#1#2		% #1 := tan(#2)
	   \FPcot#1#2 		% #1 := cot(#2)
	   \FPtancot#1#2#3 	% #1 := tan(#3), #2 := cot(#3)
   	   \FParcsin#1#2	% #1 := arcsin(#2)
	   \FParccos#1#2     	% #1 := arccos(#2)
	   \FParcsincos#1#2#3   % #1 := arcsin(#3), #2 := arccos(#3)
	   \FParctan#1#2 	% #1 := arctan(#2)
	   \FParccot#1#2 	% #1 := arccot(#2)
	   \FParctancot#1#2#3	% #1 := arctan(#3), #2 := arccot(#3)
     - fp-upn.sty:
         The following macros are public ones to be used in the document:
           \FPupn#1#2 		% #1 := eval(#2) where eval evaluates the
	 upn-expression #2
	 Known operations are:
	   +,add,-,sub,*,mul,/,div,abs,neg,min,max,
	   round,trunc,clip,e,exp,ln,pow,root,pi,sin,cos,
	   sincos,tan,cot,tancot,arcsin,arccos,arcsincos,
	   arctan,arccot,arctancot,pop,swap,copy
	   where
	     pop  removes the top element
	     swap exchanges the first two elements
	     copy copies the top element
	 Example 1:
	   The macro call
             \FPupn\result{17 2.5 + 17.5 - 2 1 + * 2 swap /} 
	   is equivalent to
	     \result := ((17.5 - (17 + 2.5)) * (2 + 1)) / 2
	   and evaluates to
	     \def\result{-3.000000000000000000}
	   Afterwards the macro call
             \FPupn\result{\result{} -1 * 0.2 + sin 2 round}
	                          ^^ the "{}" is necessary!
	   is equivalent to
	     \result := round_2(sin((\result * -1) + 0.2))
	   and evaluates to
             \def\result{-0.06}
	 Example 2:
	   As "result" is an abbreviation of "\result{}" you may
	   write
	     \FPupn{result}{17 2.5 + 17.5 - 2 1 + * 2 swap /}
	   and
	     \FPupn{result}{result -1 * 0.2 + sin 2 round}
	   instead leading to the same results.
	   This is even true for other macro names using e.g. "x" for "\x{}"
	   and so on. But be careful with it. We may introduce new constants
	   in further versions overwriting these abbreviations.
     - fp-eval.sty:
         The following macros are public ones to be used in the document:
           \FPeval#1#2 		% #1 := eval(#2) where eval evaluates the
	   					 expression #2
	 ATTENTION: Do not use macro names with \. for its own
	 Use only the name or the macro surrounded by (, and ) instead,
	 i.e. do not write "\value{}" but "value" or "(\value)".
	 This is needed to avoid problems with a prefix "-" of numbers.
	 (I do not intend to write a more complex parsing routine in future.
	  But if you do so, just send it to me.
	 )
	 Known infix operations are
	   +, -, *, /, ^ for add, sub, mul, div, pow
	 Each other operation is a prefix one that needs 
	 a (comma or colon seperated) list of subexpressions.
	 Exception: The unary prefix operation - is not known! 
	 (Use the function neg instead.)
	 Example 1:
	   With
	     \edef\result{11}
	   and
	     \FPeval\result{round(root(2,sin(result + 2.5)):2)}
	   or
	     \FPeval{result}{round(root(2,sin(result + 2.5)):2)}
	   \result becomes the value 0.90
	Example 2:
	  \FPeval\result{clip(2*3+5*6)}   results to 36
	  \FPeval\result{clip(2*(3+5)*6)} results to 96    </pre></body></html>