summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tkz/tkz-base
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-01-25 03:01:31 +0000
committerNorbert Preining <norbert@preining.info>2020-01-25 03:01:31 +0000
commit75672286990bb55c7b46277f845d14eafcf2ba61 (patch)
tree29456eb5880d5a2629b2ae329423c9ceaaaf6887 /macros/latex/contrib/tkz/tkz-base
parente1192611f0655a1ccaff0dff2f53c7c65fa5db07 (diff)
CTAN sync 202001250301
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-base')
-rw-r--r--macros/latex/contrib/tkz/tkz-base/README90
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/README24
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/TKZdoc-base.pdfbin0 -> 392458 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-base/doc/tkz-base-screen.pdfbin443650 -> 0 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/Makefile7
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/how_to_compile.txt2
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/info_base_tex.txt15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/main.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-10-2-0.tex7
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-1-1.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-2-1.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-3-1.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-4-0.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-5-1.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-6-1.tex7
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-6-2.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-7-0.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-9-0.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-1-0.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-1-1.tex18
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-10-1.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-10-2.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-10-3.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-2-0.tex17
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-3-1.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-5-0.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-7-0.tex20
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-8-1.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-13-2-0.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-14-1-2.tex9
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-1-1.tex7
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-1-2.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-2-1.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-3-1.tex7
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-3-2.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-4-1.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-16-1-1.tex7
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-1-1.tex9
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-2-1.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-2-2.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-3-1.tex24
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-4-0.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-5-1.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-1.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-2.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-3.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-4.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-2-1.tex21
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-1-1.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-1-2.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-0.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-1.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-2.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-3.tex9
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-1.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-2.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-3.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-4.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-5.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-6.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-10-1.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-1.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-10.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-11.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-2.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-3.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-4.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-5.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-6.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-7.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-8.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-9.tex7
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-3-1.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-3-2.tex7
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-3-3.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-7-1.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-7-2.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-7-3.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-8-1.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-8-2.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-9-1.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-1.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-10.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-11.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-2.tex9
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-3.tex5
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-4.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-5.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-6.tex9
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-7.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-8.tex9
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-9.tex9
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-1.tex7
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-2.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-3.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-4.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-5.tex13
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-10-1.tex9
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-10-2.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-10-3.tex16
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-11-2.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-11-3.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-12-1.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-2-0.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-3-1.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-4-1.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-4-2.tex9
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-5-1.tex4
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-5-2.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-5-3.tex9
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-6-1.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-6-2.tex14
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-7-1.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-7-2.tex7
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-8-1.tex7
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-9-1.tex15
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-9-2.tex12
-rw-r--r--macros/latex/contrib/tkz/tkz-base/examples/tkzbasepreamble.ltx18
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-base.cfg169
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty119
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex108
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axes.tex462
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex78
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex (renamed from macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-marks.tex)122
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-points.tex327
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex62
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-BB.tex63
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-arith.tex (renamed from macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-arith.tex)34
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex83
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-math.tex117
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex82
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-modules.tex60
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex79
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex82
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex182
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-base.cfg131
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-base.sty197
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-points.tex519
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-segments.tex142
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-base.tex700
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-math.tex688
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-misc.tex181
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-obsolete.tex219
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-utilities.tex338
144 files changed, 3180 insertions, 3321 deletions
diff --git a/macros/latex/contrib/tkz/tkz-base/README b/macros/latex/contrib/tkz/tkz-base/README
index 6e648a23e4..58252fe03e 100644
--- a/macros/latex/contrib/tkz/tkz-base/README
+++ b/macros/latex/contrib/tkz/tkz-base/README
@@ -1,14 +1,10 @@
-% encodage utf8
-%%%%%%%%%%%%%%%%%%%%%% english readme %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% encodage utf8
-readme-tkz-base.txt V1.16d 19/09/20118
+readme-tkz-base.txt V3.01 c 2020/01/24
-Purpose
--------
-
-The tkz-base package is the base of a set of packages, designed to give math teachers (and students) easy access at the programmation of drawings with TikZ. I therefore hope that my packages provide ideal tools for teachers wanting to offer their students fine documents of maths.
-
-The tkz-base package is built on top of PGF and its associated front-end, TikZ and is a (La)TeX-friendly drawing package. The aim is to provide some useful macros to help others packages to build drawings like graph of functions, or constructions in elementary plane geometry but also graphic representations of data in statistics.
+The package tkz-base provides some tools like a Cartesian (rectangular) coordinate system to other packages like tkz-euclide or tkz-fct.
+With this package, you can draw coordinate axis, grids, draw points, the
+principle is to specify the position of any point in two-dimensional space by an unique couple of coordinates.
Licence
-------
@@ -17,73 +13,65 @@ This program can be redistributed and/or modified under the terms
of the LaTeX Project Public License Distributed from CTAN
archives in directory macros/latex/base/lppl.txt.
+
Features
--------
- -- needs etex and fp.sty;
- -- allows to use TikZ;
- -- works with utf8, pdflatex;
- -- works with the chain dvi->dvips->ps2pdf;
- -- not ready to TeX and ConText (I need more time and ideas).
+ -- needs xfp.sty, numprint;
+ -- requires and automatically loads PGF/TikZ > 3.0;
+ -- compiles with utf8, pdflatex, lualatex;
+
Installation
------------
-If you want to just test it quickly or if you need to install it by yourself, save the files (below) in a directory, which is part of your
-local TeX tree.
-
-tkz-base.sty uses a lot of files. The package is inside a folder that contains others files :
-
-_ tkz-base.cfg .................. configuration file
-_ tkz-base.sty .................. the head file
-_ tkz-obj-marks.tex ..............adds marks and tools for marks
-_ tkz-obj-points.tex ............. adds points and tools for points
-_ tkz-obj-segments.tex ........... adds segments and tools for segments
-_ tkz-tools-arith.tex ............ some useful tool for integers
-_ tkz-tools-base.tex ............ the main file
-_ tkz-tools-math.tex ............ mathematic tools
-_ tkz-tools-misc.tex ............. misc tools
-_ tkz-tools-utilities.tex
+You can experiment with the tkz-base package by placing all of the
+distribution files in the directory containing your current tex file.
+You can also placing all of the distribution files in the directory :
+/texmf/tex/latex/tkz.
+
How to use it
-------------
-\usepackage{tkz-base} loads TikZ, so if you need to use some options for xcolor.sty, you need to launch xcolor before tkz-base.
-
-The main macro is \tkzInit to define a Cartesian coordinate system or rectangular coordinate system. This system is in two dimensions and defined by a pair of perpendicular axes. The user needs only to define the single unit of length for both axes.
+To use the package tkz-base, place the following lines in the preamble of
+ your LaTeX document.
-\tkzAxeX, \tkzDrawX, \tkzLabelX are macros for axes.
-\tkzDefPoint \tkzDrawPoint \tkzLabelPoint are macros for points.
-But other objects have specific macros like segments.
-
-tkz-base provides some useful tools for packages like tkz-euclide and tkz-fct.
+\usepackage{tkz-base}
+
+\usepackage{tkz-base} loads TikZ.
+\usetkzobj{all} loads all objects used by tkz-euclide.
+With \usepackage{tkz-euclide} you don't need to use \usetkzobj
-Extension
----------
-tkz-base can use some objects like points and segments, but it is possible to use some objects created for tkz-euclide. Thus to use the macros associated with the polygons, just put in the preamble:
+To avoid package conflicts, you need to load xcolor before TikZ or tkz-base or tkz-euclide
-\usetkzobj{polygons}.
+Documentation
+-------------
+Documentations for tkz-base and tkz-euclide are available on CTAN and your distribution.
+
+
Examples
--------
-All examples of documentation will be on my sites:
- http://altermundus.fr ou http://altermundus.com
-Documentation
--------------
- tkz-base-screen.pdf is in french actually but a lot of examples are given in the documentation.
-Documentation for printing will be ready soon.
+All examples given in documentation will be stored on CTAN as standalone
+ files, ready for compilation. You can use the main.tex file to load and compile an example.
+
+Other examples can be found on my site http://altermundus.fr (en français)
Compatibility
--------------
-This new package is not compatible with older packages tkz-base, tkz-2d and especially tkz-arith.
+-------------
+
+The new package tkz-base 3.01c is *not* fully compatible with the version 1.16 but the differences are minor
History
-------
+
+-- 3.01c this version
-- 1.16 correction of bugs
--- 1.13 first version
+-- 1.13 first version
Alain Matthes
5 rue de Valence
Paris 75005
- al (dot) ma (at) mac (dot) com \ No newline at end of file
+ al (dot) ma (at) mac (dot) com \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/README b/macros/latex/contrib/tkz/tkz-base/doc/README
deleted file mode 100644
index b7a2bce4e1..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/doc/README
+++ /dev/null
@@ -1,24 +0,0 @@
-% encodage utf8
-
-How to compile the sources
---------------------------
-
-All these files are in utf8.
-
-You only need to run
-
-$ pdflatex TKZdoc-base-main.tex
-
-If you want the same index of my documentation
-$ cd path-to-the-sources
-$ pdflatex TKZdoc-base-main.tex
-$ makeindex -s base.ist TKZdoc-base-main.idx
-$ pdflatex TKZdoc-base-main.tex
-
-The end
-
- Alain Matthes
- 5 rue de Valence
- Paris 75005
-
- al (dot) ma (at) mac (dot) com \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/TKZdoc-base.pdf b/macros/latex/contrib/tkz/tkz-base/doc/TKZdoc-base.pdf
new file mode 100644
index 0000000000..f89b3b18d5
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/doc/TKZdoc-base.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-base/doc/tkz-base-screen.pdf b/macros/latex/contrib/tkz/tkz-base/doc/tkz-base-screen.pdf
deleted file mode 100644
index 1408d5130c..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/doc/tkz-base-screen.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/Makefile b/macros/latex/contrib/tkz/tkz-base/examples/Makefile
deleted file mode 100644
index e6d2c02491..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-all: doc
-
-doc:
- for datei in $$(ls *tex | cut -d \. -f 1) ; do make $$datei.pdf ; done
-
-%.pdf: %.tex
- pdflatex --shell-escape $*.tex \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/how_to_compile.txt b/macros/latex/contrib/tkz/tkz-base/examples/how_to_compile.txt
new file mode 100644
index 0000000000..784c4a6fd0
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/how_to_compile.txt
@@ -0,0 +1,2 @@
+If you want to compile the file tkzbase-6-1-1.tex.
+You add \input{tkzbase-6-1-1} inside the environment "document" \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/info_base_tex.txt b/macros/latex/contrib/tkz/tkz-base/examples/info_base_tex.txt
deleted file mode 100644
index c23c4fa144..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/info_base_tex.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-2018/09/19
-
-This archive contains all the examples of the documentation about tkz-base.
-
-You need to compile a file with pdflatex to have in the same directory the file tkzbasepreamble.ltx. This file is present in the archive.
-
-You can also find Makefile in the archive. The way to use the Makefile is :
-
-$ cd <path of the archive>
-$ make
-
-Best regards
-
-Alain Matthes
-
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/main.tex b/macros/latex/contrib/tkz/tkz-base/examples/main.tex
new file mode 100644
index 0000000000..831c906046
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/main.tex
@@ -0,0 +1,11 @@
+% !TEX TS-program = pdflatex
+% Created by Alain Matthes on 2020-01-23.
+% Copyright (c) 2020 __ AlterMundus __.
+
+\documentclass{standalone}
+%\usepackage{xcolor}
+\usepackage{tkz-euclide} %you can add tkz-fct etc.
+
+\begin{document}
+\input{tkzeuclide-5-0-0}
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-10-2-0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-10-2-0.tex
new file mode 100644
index 0000000000..cf627547bc
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-10-2-0.tex
@@ -0,0 +1,7 @@
+\tikzset{xaxe style/.style = {<->}}
+\tikzset{xlabel style/.style={below=6pt}}
+\begin{tikzpicture}
+ \tkzInit[xmin=-0.5,xmax=5]
+ \tkzDrawX
+ \tkzLabelX
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-1-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-1-1.tex
new file mode 100644
index 0000000000..447f11373e
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-1-1.tex
@@ -0,0 +1,11 @@
+\begin{tikzpicture}[scale=.5]
+ \tkzInit[ymax=5,xmax=8]
+ \tkzGrid
+ \tkzDefPoint(3,0){A}
+ \begin{scope}
+ \tkzClipBB
+ \tkzDrawCircle[R](A,5 cm)
+ \tkzShowBB
+ \end{scope}
+\tkzDrawCircle[R,red](A,4 cm)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-2-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-2-1.tex
new file mode 100644
index 0000000000..aacd2388f1
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-2-1.tex
@@ -0,0 +1,12 @@
+ \begin{tikzpicture}
+ \tkzInit[xmin=-3,xmax=6, ymin=-1,ymax=6]
+ \tkzDefPoint(0,0){O}\tkzDefPoint(3,1){I}
+ \tkzDefPoint(1,4){J}
+ \tkzDefLine[bisector](I,O,J) \tkzGetPoint{i}
+ \tkzDefLine[bisector out](I,O,J) \tkzGetPoint{j}
+ \tkzDrawPoints(O,I,J,i,j)
+ \tkzClipBB
+ \tkzDrawLines[add = 1 and 2,color=red](O,I O,J)
+ \tkzDrawLines[add = 1 and 2,color=blue](O,i O,j)
+ \tkzShowBB
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-3-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-3-1.tex
new file mode 100644
index 0000000000..101bed7930
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-3-1.tex
@@ -0,0 +1,11 @@
+above\\
+left
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(3,3){B}
+ \tkzDefPoint(1,1){C}
+ \tkzSetBB(A)(2,2)
+ \tkzDrawSegment(A,B)
+ \tkzDrawPoints(A,C)
+ \tkzShowBB
+\end{tikzpicture}right
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-4-0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-4-0.tex
new file mode 100644
index 0000000000..20a3b8acad
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-4-0.tex
@@ -0,0 +1,10 @@
+Une figure au-dessus du texte\\
+\begin{tikzpicture}
+ \begin{scope}
+ \tkzSetBB(0,0)(6,2) \tkzShowBB[fill=blue!20]
+ \tkzSaveBB
+ \end{scope}
+ \tkzDefPoint(3,3){A}\tkzShowBB
+ \tkzDrawCircle[R,fill=yellow,opacity=.2](A,2cm)
+ \tkzRestoreBB
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-5-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-5-1.tex
new file mode 100644
index 0000000000..5667f1eeb2
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-5-1.tex
@@ -0,0 +1,14 @@
+ \vspace{ 2cm}
+Start\\
+\begin{tikzpicture}
+ \tkzDefPoint(-2,-2){A}
+ \tkzDefPoint(2,1){B}
+ \tkzDefPoint(0,0){O}
+ \tkzSaveBB
+ \tkzShowBB[red,line width=1pt]
+ \tkzRestoreBB
+ \tkzDrawCircle(O,B)
+ \tkzClipBB
+ \tkzFillCircle[gray!20](O,B)
+\end{tikzpicture}
+End
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-6-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-6-1.tex
new file mode 100644
index 0000000000..022d31c9c6
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-6-1.tex
@@ -0,0 +1,7 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=3, ymax=3]
+ \tkzGrid
+ \tkzAxeXY
+ \tkzClip
+ \draw[red] (-1,-1)--(5,5);
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-6-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-6-2.tex
new file mode 100644
index 0000000000..483673326c
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-6-2.tex
@@ -0,0 +1,6 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=3, ymax=3]
+ \tkzGrid \tkzAxeXY
+ \tkzClip[space=-0.5]
+ \draw[red] (-0.5,-0.5)--(3.5,3.5);
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-7-0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-7-0.tex
new file mode 100644
index 0000000000..b8bbbb37e8
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-7-0.tex
@@ -0,0 +1,18 @@
+\begin{tikzpicture}[scale=.5]
+ \tkzInit[xmin=-5,xmax=5,ymin=-5,ymax=5]
+ \pgfinterruptboundingbox
+ \tkzDefPoints{-.5/0/P1,.5/0/P2}
+ \foreach \i [count=\j from 3] in {2,...,7}{%
+ \tkzDefShiftPoint[P\i]({45*(\i-1)}:1 cm){P\j}
+ }
+ \endpgfinterruptboundingbox
+ \tkzClipOutPolygon(P1,P2,P3,P4,P5,P6,P7,P8)
+ \tkzCalcLength[cm](P1,P5)\tkzGetLength{r}
+ \begin{scope}[blend group=screen]
+ \foreach \i in {1,...,8}{%
+ \pgfmathparse{100-5*\i}
+ \tkzFillCircle[R,color=MidnightBlue!%
+ \pgfmathresult](P\i,\r)
+ }
+ \end{scope}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-9-0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-9-0.tex
new file mode 100644
index 0000000000..52b79d04b0
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-11-9-0.tex
@@ -0,0 +1,10 @@
+\begin{tikzpicture}
+\tkzDefPoint(0,5){A}\tkzDefPoint(5,4){B}
+\tkzDefPoint(0,0){C}\tkzDefPoint(5,1){D}
+\pgfinterruptboundingbox
+ \tkzInterLL(A,B)(C,D)\tkzGetPoint{I}
+\endpgfinterruptboundingbox
+\tkzClipBB
+ \tkzDrawCircle(I,B)
+\tkzDrawSegments(A,B C,D A,C)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-1-0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-1-0.tex
new file mode 100644
index 0000000000..65822571b6
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-1-0.tex
@@ -0,0 +1,10 @@
+ \begin{tikzpicture}
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(2,-3){B}
+ \tkzDefPoint(2,5){C}
+ \tkzDrawSegments[red](A,B A,C)
+ \tkzDuplicateSegment(A,B)(A,C) \tkzGetPoint{D}
+ \tkzDrawSegment[green](A,D)
+ \tkzDrawPoints[color=red](A,B,C,D)
+ \tkzLabelPoints[above right=3pt](A,B,C,D)
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-1-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-1-1.tex
new file mode 100644
index 0000000000..ae926c1f1a
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-1-1.tex
@@ -0,0 +1,18 @@
+\begin{tikzpicture}[rotate=-90,scale=.75]
+ \tkzInit[xmax=10,ymax=10]
+ \tkzClip[space=1]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(10,0){B}
+ \tkzDefMidPoint(A,B) \tkzGetPoint{I}
+ \tkzDefPointWith[orthogonal,K=-.75](B,A)
+ \tkzGetPoint{C}
+ \tkzInterLC(B,C)(B,I) \tkzGetSecondPoint{D}
+ \tkzDuplicateSegment(B,D)(D,A) \tkzGetPoint{E}
+ \tkzInterLC(A,B)(A,E) \tkzGetPoints{N}{M}
+ \tkzDrawArc[delta=10](D,E)(B)
+ \tkzDrawArc[delta=10](A,M)(E)
+ \tkzDrawLines(A,B B,C A,D)
+ \tkzDrawArc[delta=10](B,D)(I)
+ \tkzDrawPoints(A,B,D,C,M,I,N)
+ \tkzLabelPoints(A,B,D,C,M,I,N)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-10-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-10-1.tex
new file mode 100644
index 0000000000..bb3223027d
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-10-1.tex
@@ -0,0 +1,13 @@
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(3,-4){B}
+ \tkzDefCircle[through](A,B)
+ \tkzGetLength{rABpt}
+ \tkzpttocm(\rABpt){rABcm}
+ \tkzDrawCircle(A,B)
+ \tkzDrawPoints(A,B)
+ \tkzLabelPoints(A,B)
+ \tkzDrawSegment[dashed](A,B)
+ \tkzLabelSegment(A,B){%
+ $\pgfmathprintnumber{\rABcm}$}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-10-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-10-2.tex
new file mode 100644
index 0000000000..3a975adeb6
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-10-2.tex
@@ -0,0 +1,12 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=5,ymax=3]
+ \tkzGrid[sub,orange]
+ \tkzAxeXY
+ \tkzDefPoint(1,0){A}
+ \tkzDefPoint(4,2){B}
+ \tkzGetPointCoord(A){a}
+ \tkzGetPointCoord(B){b}
+ \tkzDefPoint(\ax,\ay){C}
+ \tkzDefPoint(\bx,\by){D}
+ \tkzDrawPoints[color=red](C,D)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-10-3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-10-3.tex
new file mode 100644
index 0000000000..600cc01cfc
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-10-3.tex
@@ -0,0 +1,11 @@
+\begin{tikzpicture}[>=latex]
+ \tkzDefPoint(1,4){a}
+ \tkzDefPoint(3,2){b}
+ \tkzDefPoint(1,1){c}
+ \tkzDrawSegment[->,red](a,b)
+ \tkzGetPointCoord(c){c}
+ \draw[color=blue,->](a) -- ([shift=(b)]\cx,\cy) ;
+ \draw[color=purple,->](b) -- ([shift=(b)]\cx,\cy) ;
+ \tkzDrawSegment[->,blue](a,c)
+ \tkzDrawSegment[->,purple](b,c)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-2-0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-2-0.tex
new file mode 100644
index 0000000000..c367b54f8f
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-2-0.tex
@@ -0,0 +1,17 @@
+\begin{tikzpicture}[scale=1.5]
+ \tkzInit[xmax=4,ymax=5]\tkzGrid[sub]
+ \tkzDefPoint(1,2){A} \tkzDefPoint(3,4){B}
+ \tkzDefPoint(3,2){C} \tkzDefPoint(3,1){D}
+ \tkzDrawSegments(A,B A,C A,D)
+ \tkzDrawPoints[color=red](A,B,C,D)
+ \tkzLabelPoints(A,B,C,D)
+ \tkzFindSlope(A,B){SAB} \tkzFindSlope(A,C){SAC}
+ \tkzFindSlope(A,D){SAD}
+ \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
+ \tkzText[fill=Gold!50,draw=brown](1,4)%
+ {La pente de (AB) est : $\pgfmathprintnumber{\SAB}$}
+ \tkzText[fill=Gold!50,draw=brown](1,3.5)%
+ {La pente de (AC) est : $\pgfmathprintnumber{\SAC}$}
+ \tkzText[fill=Gold!50,draw=brown](1,3)%
+ {La pente de (AD) est : $\pgfmathprintnumber{\SAD}$}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-3-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-3-1.tex
new file mode 100644
index 0000000000..43b62c1276
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-3-1.tex
@@ -0,0 +1,15 @@
+\begin{tikzpicture}
+ \tkzInit
+ \tkzDefPoint(0,0){A} \tkzDefPoint(3,2){B}
+ \tkzDefLine[mediator](A,B) \tkzGetPoints{I}{J}
+ \tkzCalcLength[cm](A,B) \tkzGetLength{dAB}
+ \tkzFindSlopeAngle(A,B) \tkzGetAngle{tkzangle}
+ \begin{scope}[rotate=\tkzangle]
+ \tikzset{arc/.style={color=gray,delta=10}}
+ \tkzDrawArc[R,arc](B,3/4*\dAB)(120,240)
+ \tkzDrawArc[R,arc](A,3/4*\dAB)(-45,60)
+ \tkzDrawLine(I,J) \tkzDrawSegment(A,B)
+ \end{scope}
+ \tkzDrawPoints(A,B,I,J) \tkzLabelPoints(A,B)
+ \tkzLabelPoints[right](I,J)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-5-0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-5-0.tex
new file mode 100644
index 0000000000..ac826cc80a
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-5-0.tex
@@ -0,0 +1,16 @@
+\begin{tikzpicture}
+ \tkzInit
+ \tkzDefPoint(1,5){A} \tkzDefPoint(5,2){B}
+ \tkzDrawSegment(A,B)
+ \tkzFindSlopeAngle(A,B)\tkzGetAngle{tkzang}
+ \tkzDefPointBy[rotation= center A angle \tkzang ](B)
+ \tkzGetPoint{C}
+ \tkzDefPointBy[rotation= center A angle -\tkzang ](B)
+ \tkzGetPoint{D}
+ \tkzCompass[length=1,dashed,color=red](A,C)
+ \tkzCompass[delta=10,Maroon](B,C)
+ \tkzDrawPoints(A,B,C,D)
+ \tkzLabelPoints(B,C,D)
+ \tkzLabelPoints[above left](A)
+ \tkzDrawSegments[style=dashed,color=bistre](A,C A,D)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-7-0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-7-0.tex
new file mode 100644
index 0000000000..722cf5e2bc
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-7-0.tex
@@ -0,0 +1,20 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=-1,ymin=-1,xmax=7,ymax=7]
+ \tkzClip
+ \tkzDefPoint (0,0){O} \tkzDefPoint (6,0){A}
+ \tkzDefPoint (5,5){B} \tkzDefPoint (3,4){M}
+ \tkzFindAngle (A,O,M) \tkzGetAngle{an}
+ \tkzDefPointBy[rotation=center O angle \an](A)
+ \tkzGetPoint{C}
+ \tkzDrawSector[fill = blue!50,opacity=.5](O,A)(C)
+ \tkzFindAngle(M,B,A) \tkzGetAngle{am}
+ \tkzDefPointBy[rotation = center O angle \am](A)
+ \tkzGetPoint{D}
+ \tkzDrawSector[fill = red!50,opacity = .5](O,A)(D)
+ \tkzDrawPoints(O,A,B,M,C,D)
+ \tkzLabelPoints(O,A,B,M,C,D)
+ \edef\an{\fpeval{round(\an,2)}}\edef\am{\fpeval{round(\am,2)}}
+ \tkzDrawSegments(M,B B,A)
+ \tkzText(4,2){$\widehat{AOC}=\widehat{AOM}=\an^{\circ}$}
+ \tkzText(1,4){$\widehat{AOD}=\widehat{MBA}=\am^{\circ}$}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-8-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-8-1.tex
new file mode 100644
index 0000000000..4fce5d5edf
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-12-8-1.tex
@@ -0,0 +1,15 @@
+\begin{tikzpicture}[scale=1]
+ \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
+ \tkzDrawLine[add= .6 and .2](A,B)
+ \tkzCalcLength[cm](A,B)\tkzGetLength{dAB}
+ \tkzDefLine[perpendicular=through A](A,B)
+ \tkzDrawLine(A,tkzPointResult) \tkzGetPoint{D}
+ \tkzShowLine[orthogonal=through A,gap=2](A,B)
+ \tkzMarkRightAngle(B,A,D)
+ \tkzVecKOrth[-1](B,A)\tkzGetPoint{C}
+ \tkzCompasss(A,D D,C)
+ \tkzDrawArc[R](B,\dAB)(80,110)
+ \tkzDrawPoints(A,B,C,D)
+ \tkzDrawSegments[color=gray,style=dashed](B,C C,D)
+ \tkzLabelPoints(A,B,C,D)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-13-2-0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-13-2-0.tex
new file mode 100644
index 0000000000..50a329e519
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-13-2-0.tex
@@ -0,0 +1,11 @@
+\begin{tikzpicture}[scale=0.75]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(4,0){B}
+ \tkzDefPoint(3,3){C}
+ \tkzDefCircle[in](A,B,C)
+ \tkzGetPoint{I}\tkzGetLength{rI}
+ \tkzDrawCircle[R](I,\rI)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C,I)
+ \tkzLabelPoints(A,B,C,I)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-14-1-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-14-1-2.tex
new file mode 100644
index 0000000000..c4953be507
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-14-1-2.tex
@@ -0,0 +1,9 @@
+\begin{tikzpicture}
+ \tikzset{xaxe style/.style={-}}
+ \tikzset{yaxe style/.style={-}}
+ \tkzInit[xmax=4,ymax=4]
+ \tkzGrid
+ \tkzDrawX
+ \tkzDrawY
+ \tkzRep[color=red,ynorm=2]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-1-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-1-1.tex
new file mode 100644
index 0000000000..c74e062ca0
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-1-1.tex
@@ -0,0 +1,7 @@
+\begin{tikzpicture}[scale=2]
+ \tkzInit[xmax=3,ymax=1.5]
+ \tkzAxeXY
+ \tkzHLine[color = blue,
+ style = dashed,
+ line width = 2pt]{1}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-1-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-1-2.tex
new file mode 100644
index 0000000000..491659cdc7
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-1-2.tex
@@ -0,0 +1,8 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=-3,xmax=3,ymin=-2,ymax=1.5]
+ \foreach\v in {-1,1}
+ {\tkzHLine[color=red]{\v*pi/2}}
+ \tkzDrawY
+ \tkzAxeX[trig=2]
+ \tkzLabelY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-2-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-2-1.tex
new file mode 100644
index 0000000000..8d6f47fdf2
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-2-1.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=5,ymax=4]
+ \tkzAxeXY
+ \tkzHLines[color = magenta]{1,...,3}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-3-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-3-1.tex
new file mode 100644
index 0000000000..1280ab3e36
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-3-1.tex
@@ -0,0 +1,7 @@
+\begin{tikzpicture}[scale=2]
+ \tkzInit[xmax=3,ymax=1]
+ \tkzAxeXY
+ \tkzVLine[color = blue,
+ style = dashed,
+ line width = 2pt]{1/3}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-3-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-3-2.tex
new file mode 100644
index 0000000000..f80b01cfc7
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-3-2.tex
@@ -0,0 +1,8 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=7,ymin=-1,ymax=1]
+ \foreach\v in {1,2}
+ {\tkzVLine[color=red]{\v*pi}}
+ \tkzDrawY
+ \tkzAxeX[trig=2]
+ \tkzLabelY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-4-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-4-1.tex
new file mode 100644
index 0000000000..140faf25c4
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-15-4-1.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=5,ymax=2]
+ \tkzAxeXY
+ \tkzVLines[color = green]{1,2,...,4}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-16-1-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-16-1-1.tex
new file mode 100644
index 0000000000..c58f08c1d9
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-16-1-1.tex
@@ -0,0 +1,7 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=6]
+ \tkzDrawX
+ \tkzHTick[mark=ball,mark size=3pt]{pi/2}
+ \tkzHTick[mark=*,
+ mark options={color=purple}]{2*exp(1)}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-1-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-1-1.tex
new file mode 100644
index 0000000000..5414b56805
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-1-1.tex
@@ -0,0 +1,9 @@
+\begin{tikzpicture}[scale=0.75]
+\tkzInit[xmax=6,ymin=1000,ymax=5000,ystep=1000]
+\tkzDrawX[label=$m$,below=10pt]
+\tkzDrawY[label=$R(m)$,above=10pt]
+\tkzLabelX[font=\scriptsize]
+\tkzLabelY[font=\scriptsize]
+\tkzDefSetOfPoints[show]{1/2000,2/3000,4/2500,5/4200}
+\tkzDrawSetOfPoints[mark=ball,mark size=3pt]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-2-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-2-1.tex
new file mode 100644
index 0000000000..79a1a993e2
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-2-1.tex
@@ -0,0 +1,16 @@
+\begin{tikzpicture}[scale=1]
+\tkzInit[xmax=5,
+ ymin=1000,ymax=6000,ystep=1000]
+\tkzDrawX[label=$m$,below=13pt]
+\tkzDrawY[label=$R(m)$]
+\tkzLabelX[font=\scriptsize]
+\tkzLabelY[font=\scriptsize]
+\tkzDefSetOfPoints{%
+ 1/2000,2/3000,4/2500,5/4200}
+\tkzJoinSetOfPoints[%
+ thick,
+ color=Maroon]
+\tkzDrawSetOfPoints[%
+ mark=ball
+ ,mark size=3pt]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-2-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-2-2.tex
new file mode 100644
index 0000000000..4f02808f0c
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-2-2.tex
@@ -0,0 +1,14 @@
+\begin{tikzpicture}[scale=.5]
+\tkzInit[xmax=5,ymin=1000,
+ ymax=6000,ystep=1000]
+\tkzGrid[color=orange!30]
+\tkzDrawX[label=$m$,below=13pt]
+\tkzDrawY[label=$R(m)$]
+\tkzLabelX[font=\scriptsize]
+\tkzLabelY[font=\scriptsize]
+\tkzDefSetOfPoints[prefix=P]{%
+ 1/2000,2/3000,3/2000,4/2500,5/4200}
+\tkzDrawPolySeg[%
+ color=Maroon!50,
+ line width=2pt](P1,P2,P3,P4,P5)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-3-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-3-1.tex
new file mode 100644
index 0000000000..e6a73da41b
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-3-1.tex
@@ -0,0 +1,24 @@
+\begin{tikzpicture}
+\tkzInit[xmax=5.5,ymin=1000,%
+ ymax=6000,ystep=2000]
+\tkzGrid[color=orange!30]
+\tkzDrawX[label=$m$,below=13pt]
+\tkzDrawY[above left,label=$R(m)$]
+\tkzLabelX[below right,font=\scriptsize]
+\tkzLabelY[font=\scriptsize]
+\tkzDefSetOfPoints{1/2000,2/3000,3/2000,
+ 4/2500,5/4200}
+\tkzDefSetOfPoints[prefix=P]{1/3200,2/4100,
+ 3/3300,4/3300,5/5000}
+\tkzSetUpMark[mark=heart,color=black,
+ fill=red!30,size=4pt]
+\tkzJoinSetOfPoints[thick,color=blue,double]
+\tkzDrawSetOfPoints
+\tkzJoinSetOfPoints[prefix=P,thick,color=orange]
+\tkzDrawSetOfPoints[prefix=P,mark=square*,
+ mark size=4pt,
+ mark options={color=blue,fill=blue!40}]
+\tkzText[draw,color = red,
+ fill = orange!20](3,5800)%
+ {Recette en fonction du mois}
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-4-0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-4-0.tex
new file mode 100644
index 0000000000..0e4f49f1cc
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-4-0.tex
@@ -0,0 +1,5 @@
+ \begin{tikzpicture}
+ \tkzInit[xmax=3,ymax=1]
+ \tkzAxeXY
+ \tkzDrawMark[mark=ball](1,.5)
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-5-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-5-1.tex
new file mode 100644
index 0000000000..4cc9233acf
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-17-5-1.tex
@@ -0,0 +1,13 @@
+ \begin{tikzpicture}
+ \tkzInit[xmax=6,ymin=1000,
+ ymax=5000,ystep=1000]
+ \tkzAxeXY
+ \tkzDefSetOfPoints[prefix=P]{%
+ 1/2000,
+ 2/3000,
+ 4/2500,
+ 5/4200}
+ \tkzDrawSegments[color=Maroon!50]%
+(P1,P2 P2,P3 P3,P4)
+ \tkzDrawMarks[mark=ball](P1,P2,P3,P4)
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-1.tex
new file mode 100644
index 0000000000..b5bf9c0a67
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-1.tex
@@ -0,0 +1,10 @@
+\begin{tikzpicture}
+ \tkzInit[xmax = 6, ymin = 1000,%
+ ymax = 4000,ystep = 1000]
+ \tkzAxeXY
+ \tkzText[draw,
+ line width = 1pt,%
+ color = red,%
+ fill = orange!20](3,4000)%
+ {Recette en fonction du mois}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-2.tex
new file mode 100644
index 0000000000..035e8b7cff
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-2.tex
@@ -0,0 +1,11 @@
+\begin{tikzpicture}
+ \tkzInit[xmax = 6, ymin = 1000,%
+ ymax = 4000,ystep = 1000]
+ \tkzGrid \tkzAxeXY
+ \tkzText[draw,opacity=.2,
+ rotate=45,inner sep=.6 cm,
+ line width = 1pt,
+ color = black,
+ fill = purple!20](3,2500)
+ {\Huge DRAFT}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-3.tex
new file mode 100644
index 0000000000..2e9627af54
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-3.tex
@@ -0,0 +1,11 @@
+\begin{tikzpicture}
+ \tkzInit[ymax=5,xmax=6]
+ \tkzAxeXY
+ \tkzDefPoint(3,3){A}
+ \tkzText[draw,opacity=.6,
+ inner sep=.6 cm,
+ line width = 1pt,
+ color = black,
+ fill = purple!20](A)
+ {Mon texte}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-4.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-4.tex
new file mode 100644
index 0000000000..dd7c64ab26
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-1-4.tex
@@ -0,0 +1,11 @@
+\begin{tikzpicture}
+ \tkzInit[ymax=5,xmax=6]
+ \tkzAxeXY
+ \tkzText[draw,opacity=.6,
+ inner sep=.6 cm,
+ line width = 1pt,
+ color = black,
+ fill = purple!20,
+ text width=3cm](3,3)
+ {Mon texte\\ Référence}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-2-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-2-1.tex
new file mode 100644
index 0000000000..a51b858f6f
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-18-2-1.tex
@@ -0,0 +1,21 @@
+ \begin{tikzpicture}
+\tkzInit[xmax=12,ymin=1000,ymax=11000,ystep=2000]
+\tkzGrid[color=orange!30]
+\tkzDrawX[below right,label=Mois]
+\tkzDrawY[above left,label=Recette]
+\tkzLabelX
+\tkzLabelY
+\tkzDefSetOfPoints{1/2000,2/3000,3/2000,4/2500,5/4200,6/4800,7/4600,
+ 8/5200,9/6200,10/7000,11/7400,12/10000}
+\tkzDefSetOfPoints[prefix=P]{1/3200,2/4100,3/3300,4/3300,5/5000,6/5500,7/5200,8/4000,
+ 9/3000,10/6000,11/8400,12/9000}
+\tkzSetUpMark[mark=heart,color=black,fill=red!30,size=4pt]
+\tkzJoinSetOfPoints[thick,color=Maroon,double]
+\tkzDrawSetOfPoints
+\tkzJoinSetOfPoints[prefix=P,thick,color=orange,double]
+\tkzDrawSetOfPoints[prefix=P,mark=square*,mark size=4pt,
+ mark options={color=blue,fill=blue!40}]
+\tkzLegend[draw,rounded corners,fill=fondpaille,text=Maroon,
+ line width=2pt](5,10000){heart/1ex/red!30/Recette produit A,%
+ square*/0.75ex/blue!40/Recette produit B}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-1-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-1-1.tex
new file mode 100644
index 0000000000..baee4179a9
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-1-1.tex
@@ -0,0 +1,6 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=8,ymax=6]
+ \tkzGrid
+ \tkzAxeXY
+ \draw[blue](-1,0)--(6,7);
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-1-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-1-2.tex
new file mode 100644
index 0000000000..ea7015f9cc
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-1-2.tex
@@ -0,0 +1,6 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=10,xstep=2,ymax=800,ystep=400]
+ \tkzGrid
+ \tkzAxeXY
+
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-0.tex
new file mode 100644
index 0000000000..25063c640b
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-0.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=5,xstep=1,ymax=2,ystep=.5]
+ \tkzGrid
+ \tkzAxeXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-1.tex
new file mode 100644
index 0000000000..be997b8ec2
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-1.tex
@@ -0,0 +1,11 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=20,
+ xmax=50,
+ xstep=10,
+ ymin=5000,
+ ymax=5150,
+ ystep=50]
+ \tkzAxeXY
+ \tkzDefPoint(30,5100){A}
+ \tkzDrawPoint(A)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-2.tex
new file mode 100644
index 0000000000..7e58acc5f5
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-2.tex
@@ -0,0 +1,8 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=0.00, xmax=0.05,
+ ymin=1.2200,ymax=1.2215,
+ xstep=0.01, ystep=0.0005]
+ \tkzAxeXY
+ \tkzDefPoint(.04,1.22025){I}
+ \tkzDrawPoint(I)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-3.tex
new file mode 100644
index 0000000000..2270c44d0a
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-6-2-3.tex
@@ -0,0 +1,9 @@
+\begin{tikzpicture}
+ \tkzInit[xmin = -40,
+ xmax = 60,
+ ymin = -40,
+ ymax = 60,
+ xstep = 20,
+ ystep = 20]
+ \tkzAxeXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-1.tex
new file mode 100644
index 0000000000..6775c8ebb7
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-1.tex
@@ -0,0 +1,4 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=5]
+ \tkzDrawX[label={},noticks]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-2.tex
new file mode 100644
index 0000000000..cadb2d3273
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-2.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=5]
+ \tkzDrawX[label = quantité,
+ above left = 8pt]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-3.tex
new file mode 100644
index 0000000000..838efdfffe
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-3.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=5]
+ \tkzDrawX[text=blue,color=red,
+ right=12pt]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-4.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-4.tex
new file mode 100644
index 0000000000..02f19c31f7
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-4.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+\tkzInit[xmax=0.4,xstep=0.1]
+\tkzDrawX[text=blue,color=red,
+ right=12pt,right space=1]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-5.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-5.tex
new file mode 100644
index 0000000000..a4bb316888
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-5.tex
@@ -0,0 +1,4 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=0,xmax=4,ymin=-1,ymax=1]
+ \tkzDrawX[trig=1]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-6.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-6.tex
new file mode 100644
index 0000000000..718bfec395
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-1-6.tex
@@ -0,0 +1,4 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=0,xmax=4,ymin=-1,ymax=1]
+ \tkzDrawX[trig=2]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-10-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-10-1.tex
new file mode 100644
index 0000000000..6502cc53fd
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-10-1.tex
@@ -0,0 +1,6 @@
+ \begin{tikzpicture}[scale=1]
+ \tkzInit[ymax=2,xmax=4]
+ \tkzSetUpAxis[line width=1pt,tickwd=1pt,
+ ticka=3pt, tickb=0pt]
+ \tkzAxeXY
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-1.tex
new file mode 100644
index 0000000000..c801c49345
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-1.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+\tkzInit[xmax=.5,xstep=0.1]
+\tkzDrawX[label=$t$,text=blue,color=red]
+\tkzLabelX[text=blue,below = 3pt]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-10.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-10.tex
new file mode 100644
index 0000000000..0fb251c111
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-10.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=2,ymin=2,xmax=4,ymax=4]
+ \tkzLabelX \tkzLabelY
+ \tkzDrawXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-11.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-11.tex
new file mode 100644
index 0000000000..f1a1d5c2d5
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-11.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=2,ymin=2,xmax=4,ymax=4]
+ \tkzLabelX[orig] \tkzLabelY[orig]
+ \tkzDrawXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-2.tex
new file mode 100644
index 0000000000..ed8ac64b13
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-2.tex
@@ -0,0 +1,6 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=1000,xmax=4000,xstep=1000]
+ \tkzDrawX
+ \tikzset{xlabel style/.append style={rotate=-30}}
+ \tkzLabelX[below right=3 pt,inner sep = 1pt]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-3.tex
new file mode 100644
index 0000000000..5d69b33581
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-3.tex
@@ -0,0 +1,6 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=2000,xmax=2004]
+ \tkzDrawX
+ \tikzset{xlabel style/.append style={rotate=-30}}
+ \tkzLabelX[np off,below right=3 pt,inner sep =1pt]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-4.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-4.tex
new file mode 100644
index 0000000000..eb6b46d9f7
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-4.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+\tkzInit[xmax=1.75,xstep=0.33333]
+\tkzDrawX[label=$t$,text=blue,color=red]
+\tkzLabelX[frac=3,text=blue,below = 6pt]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-5.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-5.tex
new file mode 100644
index 0000000000..1c24c2cb3a
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-5.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=0,xmax=5,ymin=-1,ymax=1]
+ \tkzDrawX[trig=2]
+ \tkzLabelX[trig=2,text=blue,below = 8pt]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-6.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-6.tex
new file mode 100644
index 0000000000..134dccc7a7
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-6.tex
@@ -0,0 +1,6 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=0,xmax=5,ymin=-1,ymax=1]
+ \tkzDrawX[trig=2]
+ \tkzLabelX[trig=2,text=blue,
+ below = 8pt,node font=\scriptsize]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-7.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-7.tex
new file mode 100644
index 0000000000..f7d9ebe0a8
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-7.tex
@@ -0,0 +1,8 @@
+\begin{tikzpicture}
+ \tkzInit[xmin = -2,xmax = 3,
+ ymin = -2,ymax = 2]
+ \tkzDrawX[color = red,
+ label = $\displaystyle\frac{1}{t}$,
+ below = 6pt]
+ \tkzLabelX[text=blue]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-8.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-8.tex
new file mode 100644
index 0000000000..ce7e698216
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-8.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+\tkzInit[xmin = -1,xmax = 4,
+ ymin = -1,ymax = 1]
+\tkzDrawXY \tkzLabelX \tkzLabelY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-9.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-9.tex
new file mode 100644
index 0000000000..a578543157
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-2-9.tex
@@ -0,0 +1,7 @@
+\begin{tikzpicture}
+ \tkzInit[xmin = -1,xmax = 4,
+ ymin = -1,ymax = 1]
+ \tkzLabelX[orig=false]
+ \tkzLabelY[orig=false]
+ \tkzDrawXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-3-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-3-1.tex
new file mode 100644
index 0000000000..a36bb1baf7
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-3-1.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=0.5,xstep=0.1,ymax=1]
+ \tkzGrid
+ \tkzAxeX[text=blue]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-3-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-3-2.tex
new file mode 100644
index 0000000000..cdc65a97e4
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-3-2.tex
@@ -0,0 +1,7 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=4,ymax=3.5]
+ \let\tkzmathstyle\displaystyle
+ \tkzLabelX[orig = false, frac = 4,below = 10pt]
+ \tkzDrawX[label = $t$]
+ \tkzAxeY[trig=2]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-3-3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-3-3.tex
new file mode 100644
index 0000000000..a9aecd51e6
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-3-3.tex
@@ -0,0 +1,6 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=9,xstep=3,ymax=3.5]
+ \tkzLabelX[below=10pt,orig=false,frac=3]
+ \tkzDrawX[label = $t$]
+ \tkzAxeY[trig=2]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-7-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-7-1.tex
new file mode 100644
index 0000000000..f82f71d985
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-7-1.tex
@@ -0,0 +1,4 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=3]
+ \tkzAxeXY[label={},text=blue]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-7-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-7-2.tex
new file mode 100644
index 0000000000..12fd934bf2
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-7-2.tex
@@ -0,0 +1,4 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=2]
+ \tkzAxeXY[label={},text=blue,trig=2]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-7-3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-7-3.tex
new file mode 100644
index 0000000000..1958d523b9
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-7-3.tex
@@ -0,0 +1,4 @@
+\begin{tikzpicture}
+\tkzInit[xmin=-2,xmax=2,ymin=-2,ymax=2]
+\tkzAxeXY[label={},swap]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-8-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-8-1.tex
new file mode 100644
index 0000000000..ff87ca281b
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-8-1.tex
@@ -0,0 +1,4 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=1]
+ \tkzDrawXY[label={},color=red]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-8-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-8-2.tex
new file mode 100644
index 0000000000..56d8cc12cb
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-8-2.tex
@@ -0,0 +1,4 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=2]
+ \tkzDrawXY[label={},color=red,trig=4]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-9-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-9-1.tex
new file mode 100644
index 0000000000..a7c0e02916
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-7-9-1.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+ \tkzInit[xmin=-1,xmax=4,ymin=-1,ymax=1]
+ \tkzDrawXY[label={},color=red]
+ \tkzLabelXY[text=blue]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-1.tex
new file mode 100644
index 0000000000..cd881a455b
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-1.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=4, ymax=2]
+ \tkzGrid[sub]
+ \tkzAxeXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-10.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-10.tex
new file mode 100644
index 0000000000..ae10a76778
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-10.tex
@@ -0,0 +1,8 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=9,xstep=3,ymax=4]
+ \tkzGrid[xstep=1,ystep=pi/2,sub,
+ subxstep=1,subystep=pi/4]
+ \tkzLabelX[label=$t$,orig=false,frac=3,
+ below=6pt,font=\scriptsize]
+ \tkzLabelY[trig=2,font=\scriptsize]
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-11.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-11.tex
new file mode 100644
index 0000000000..20ef6c25ea
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-11.tex
@@ -0,0 +1,10 @@
+\begin{tikzpicture}[scale=.5]
+ \tikzset{xaxe style/.style ={-}}
+ \tkzInit[xmax=15,ymax=15]
+ \tkzClip
+ \tkzGrid[sub,color=orange]
+ \tkzLabelX[label= ] \tkzLabelY[label= ]
+ \tkzDrawXY
+ \node[opacity=.5] at (8,6){%
+ \includegraphics[scale=.5]{tiger}};
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-2.tex
new file mode 100644
index 0000000000..fef08eda5c
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-2.tex
@@ -0,0 +1,9 @@
+\def\tkzCoeffSubColor{20}
+\def\tkzCoeffSubLw{0.2}
+\begin{tikzpicture}
+ \tkzInit[xmax=4, ymax=2]
+ % on peut modifier le pas pour la seconde grille
+ \tkzGrid[sub,color=bistre,
+ subxstep=.5,subystep=.5]
+ \tkzAxeXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-3.tex
new file mode 100644
index 0000000000..2640a9e2eb
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-3.tex
@@ -0,0 +1,5 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=5,ymax=2]
+ \tkzGrid[color=orange]
+ \tkzAxeXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-4.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-4.tex
new file mode 100644
index 0000000000..1cbbce4c31
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-4.tex
@@ -0,0 +1,6 @@
+ \begin{tikzpicture}
+ \tkzInit[xmax=5,ymax=2]
+ \tkzGrid[sub,color=orange]
+ \tkzGrid[color=orange]
+ \tkzAxeXY
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-5.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-5.tex
new file mode 100644
index 0000000000..6493d712cb
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-5.tex
@@ -0,0 +1,8 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=5,ymax=2]
+ \tkzGrid[color = orange,
+ sub,
+ subxstep = 0.1,
+ subystep = 0.1]
+ \tkzAxeXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-6.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-6.tex
new file mode 100644
index 0000000000..96f7cd217a
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-6.tex
@@ -0,0 +1,9 @@
+\begin{tikzpicture}
+\tkzInit[xmax=.5,xstep=.1,
+ ymax=.2,ystep=.1]
+\tkzGrid[sub,
+ subxstep = 0.05,
+ subystep = 0.05,
+ color=bistre]
+\tkzAxeXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-7.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-7.tex
new file mode 100644
index 0000000000..1588569118
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-7.tex
@@ -0,0 +1,8 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=100,xstep=20,
+ ymax=3000,ystep=1000]
+ \tkzGrid[sub,subxstep=10,
+ subystep=500,
+ color=bistre]
+ \tkzAxeXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-8.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-8.tex
new file mode 100644
index 0000000000..33d3007ef5
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-8.tex
@@ -0,0 +1,9 @@
+\begin{tikzpicture}
+ \tkzInit[xmax=100,xstep=20,
+ ymax=3000,ystep=1000]
+ \tkzGrid[sub,subxstep=10,
+ subystep=500,
+ color=orange]
+ (-20,-1000)(115,4000)%
+ \tkzAxeXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-9.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-9.tex
new file mode 100644
index 0000000000..9426c131df
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-8-0-9.tex
@@ -0,0 +1,9 @@
+\begin{tikzpicture}[scale=.75]
+ \tkzInit[xmax=6.5,ymax=6.5]
+ \tkzGrid[xstep=pi,ystep=pi/2,sub,
+ subxstep=pi/4,subystep=pi/4]
+ \tkzLabelX[label=$t$,orig=false,trig=4,
+ below=6pt,font=\scriptsize]
+ \tkzLabelY[trig=2,font=\scriptsize]
+ \tkzDrawXY
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-1.tex
new file mode 100644
index 0000000000..e55a31ca55
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-1.tex
@@ -0,0 +1,7 @@
+\begin{tikzpicture}[trim left=-1cm]
+ \tkzDefPoint(2,3){A}
+ \tkzDefPoint[shift={(2,3)}](31:3){B}
+ \tkzDefPoint[shift={(2,3)}](158:3){C}
+ \tkzDrawSegments[color=red,line width=1pt](A,B A,C)
+ \tkzDrawPoints[color=red](A,B,C)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-2.tex
new file mode 100644
index 0000000000..3f50d28330
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-2.tex
@@ -0,0 +1,10 @@
+\begin{tikzpicture}[trim left=-1cm]
+ \tkzDefPoint["-60:$A_n$" ](2,3){A}
+ \tkzDefPoint[shift={(2,3)},%
+ "$B_n$" above left](31:3){B}
+ \tkzDefPoint[shift={(2,3)},%
+ "$C_n$" above right](158:3){C}
+ \tkzDrawSegments[color=red,%
+ line width=1pt](A,B A,C)
+ \tkzDrawPoints[color=red](A,B,C)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-3.tex
new file mode 100644
index 0000000000..2a8c154194
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-3.tex
@@ -0,0 +1,10 @@
+\begin{tikzpicture}[scale=.75,rotate=90]
+ \tkzDefPoint[label=right:$A_n$](2,3){A}
+ \begin{scope}[shift={(A)}]
+ \tkzDefPoint[label= right:$B_n$](31:3){B}
+ \tkzDefPoint[label= right:$C_n$](158:3){C}
+ \end{scope}
+ \tkzDrawSegments[color=red,%
+ line width=1pt](A,B A,C)
+ \tkzDrawPoints[color=red](A,B,C)
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-4.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-4.tex
new file mode 100644
index 0000000000..49b5312299
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-4.tex
@@ -0,0 +1,14 @@
+\begin{tikzpicture}[scale=.75]
+ \tkzInit[xmax=6,ymax=6]
+ \tkzGrid
+ \tkzSetUpPoint[shape = circle,color = red,%
+ size = 4,fill = red!30]
+ \tkzDefPoint(-1+1,-1+4){O}
+ \tkzDefPoint({3*ln(exp(1))},{exp(1)}){A}
+ \tkzDefPoint({4*sin(pi/6)},{4*cos(pi/6)}){B}
+ \tkzDefPoint({4*sin(pi/3)},{4*cos(pi/3)}){B'}
+ \tkzDefPoint[shift={(1,3)}](30:3){A'}
+ \tkzDrawPoints(O,A,B)
+ \tkzDrawPoints[color=red,shape=cross out](B',A')
+ \tkzLabelPoints(A,O,B,B',A')
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-5.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-5.tex
new file mode 100644
index 0000000000..22ac90ccb0
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-1-5.tex
@@ -0,0 +1,13 @@
+\begin{tikzpicture}[scale=1]
+ \begin{scope}[rotate=30]
+ \tkzDefPoint(2,3){A}
+ \begin{scope}[shift=(A)]
+ \tkzDefPoint(90:5){B}
+ \tkzDefPoint(30:5){C}
+ \end{scope}
+ \end{scope}
+\tkzDrawSegments[color=blue](A,B B,C C,A)
+\tkzDrawPoints(A,B,C)
+\tkzLabelPoints[above](B,C)
+\tkzLabelPoints[below](A)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-10-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-10-1.tex
new file mode 100644
index 0000000000..433c45c6de
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-10-1.tex
@@ -0,0 +1,9 @@
+ \begin{tikzpicture}
+ \tkzSetUpPoint[shape = cross out,
+ color=blue]
+ \tkzInit[xmax=100,xstep=20,ymax=.5]
+ \tkzDefPoint(20,1){A}
+ \tkzDefPoint(80,0){B}
+ \tkzDrawLine(A,B)
+ \tkzDrawPoints(A,B)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-10-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-10-2.tex
new file mode 100644
index 0000000000..2e8364a34d
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-10-2.tex
@@ -0,0 +1,11 @@
+\begin{tikzpicture}
+ \tkzInit[ymin=-0.5,ymax=3,xmin=-0.5,xmax=7]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(02.25,04.25){B}
+ \tkzDefPoint(4,0){C}
+ \tkzDefPoint(3,2){D}
+ \tkzDrawSegments(A,B A,C A,D)
+ \tkzSetUpPoint[shape=cross out,size=4,]
+ \tkzDrawPoints(A,B,C,D)
+ \tkzLabelPoints(A,B,C,D)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-10-3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-10-3.tex
new file mode 100644
index 0000000000..4b69e98f7d
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-10-3.tex
@@ -0,0 +1,16 @@
+\begin{tikzpicture}
+ \tkzInit[ymin=-0.5,ymax=3,xmin=-0.5,xmax=7]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(02.25,04.25){B}
+ \tkzDefPoint(4,0){C}
+ \tkzDefPoint(3,2){D}
+ \tkzDrawSegments(A,B A,C A,D)
+{\tkzSetUpPoint[shape=cross out,
+ fill= MidnightBlue!50,
+ size=4,color=MidnightBlue]
+ \tkzDrawPoints(A,B)}
+ \tkzSetUpPoint[fill= MidnightBlue!50,size=4,
+ color=MidnightBlue]
+ \tkzDrawPoints(C,D)
+ \tkzLabelPoints(A,B,C,D)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-11-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-11-2.tex
new file mode 100644
index 0000000000..9737015487
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-11-2.tex
@@ -0,0 +1,11 @@
+ \begin{tikzpicture}[scale=1.5]
+ \tkzInit[xmax=3,ymax=2]
+ \tkzAxeXY
+ \tkzDefPoint(2,1){a}
+ \tkzPointShowCoord(a)
+ \tkzDrawPoint(a)
+ \tkzLabelPoint(a){$A_1$}
+ \tkzPointShowCoord({1,2})
+ \tkzDrawPoint({1,2})
+ \tkzLabelPoint({1,2}){$A_2$}
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-11-3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-11-3.tex
new file mode 100644
index 0000000000..5e1d6b6079
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-11-3.tex
@@ -0,0 +1,8 @@
+ \begin{tikzpicture}[xscale=3,yscale=2]
+ \tkzInit[xmax=15,ymax=15,
+ xstep=10,ystep=10]
+ \tkzAxeXY
+ \tkzDefPoint(10,10){a} \tkzDrawPoint(a)
+ \tkzPointShowCoord(a)
+ \tkzLabelPoint(a){$A_1$}
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-12-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-12-1.tex
new file mode 100644
index 0000000000..a9a9e5ca5d
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-12-1.tex
@@ -0,0 +1,8 @@
+\begin{tikzpicture}
+ \tkzInit[ymax=4,xmax=5]
+ \tkzAxeXY
+ \tkzDefSetOfPoints[prefix=P]%
+ {1/2,4/3,2/2.5}
+ \tkzDrawPoints(P1,P2,P3)
+ \tkzLabelPoints(P1,P2,P3)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-2-0.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-2-0.tex
new file mode 100644
index 0000000000..7efb14f1e3
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-2-0.tex
@@ -0,0 +1,11 @@
+\begin{tikzpicture}[scale=1]
+ \tkzDefPoints{% x y name
+ 0 /0 /A,
+ 2 /0 /B,
+ 2 /2 /C,
+ 0 /2 /D}
+ \tkzDrawSegments(D,A A,B B,C C,D)
+ % or with tkz-euclide
+ % \tkzDrawPolygon(A,...,D)
+ \tkzDrawPoints(A,B,C,D)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-3-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-3-1.tex
new file mode 100644
index 0000000000..0b77749050
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-3-1.tex
@@ -0,0 +1,10 @@
+\begin{tikzpicture}[rotate=-30]
+ \tkzDefPoint(2,3){A}
+ \tkzDefShiftPoint[A](0:4){B}
+ \tkzDefShiftPoint[A](30:4){C}
+ \tkzDrawSegments(A,B B,C C,A)
+ \tkzMarkSegments[mark=|,color=red](A,B A,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints[above](A,C)
+ \tkzLabelPoints(B)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-4-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-4-1.tex
new file mode 100644
index 0000000000..70b2f9fc35
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-4-1.tex
@@ -0,0 +1,10 @@
+\begin{tikzpicture}[scale=1]
+ \tkzDefPoint(2,3){A}
+ \tkzDefShiftPointCoord[2,3](30:4){B}
+ \tkzDefShiftPointCoord[2,3](-30:4){C}
+ \tkzDrawSegments(A,B B,C C,A)
+ % or \tkzDrawPolygon
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(B,C)
+ \tkzLabelPoint[left](A){$A$}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-4-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-4-2.tex
new file mode 100644
index 0000000000..63f7a3258f
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-4-2.tex
@@ -0,0 +1,9 @@
+\begin{tikzpicture}[rotate=15]
+ \tkzDefPoint(2,3){A}
+ \tkzDefShiftPointCoord[2,3](15:5){B}
+ \tkzDefShiftPointCoord[2,3](-15:5){C}
+ \tkzDrawSegments(A,B B,C C,A)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(B,C)
+ \tkzLabelPoint[left](A){$A$}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-5-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-5-1.tex
new file mode 100644
index 0000000000..2fcc778e07
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-5-1.tex
@@ -0,0 +1,4 @@
+ \begin{tikzpicture}
+ \tkzDefPoint(1,3){A}
+ \tkzDrawPoint(A)
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-5-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-5-2.tex
new file mode 100644
index 0000000000..bd630be496
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-5-2.tex
@@ -0,0 +1,14 @@
+ \begin{tikzpicture}
+ \tikzset{point style/.style={%
+ draw = blue,
+ inner sep = 0pt,
+ shape = circle,
+ minimum size = 6pt,
+ fill = red!20}}
+ \tkzDefPoint(1,3){A}
+ \tkzDefPoint(4,1){B}
+ \tkzDefPoint(0,0){O}
+ \tkzDrawPoint(A)
+ \tkzDrawPoint(B)
+ \tkzDrawPoint(O)
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-5-3.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-5-3.tex
new file mode 100644
index 0000000000..3dab78ef89
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-5-3.tex
@@ -0,0 +1,9 @@
+ \begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(1,3){A}
+ \tkzDefPoint(4,1){B}
+ \tkzDefPoint(0,0){O}
+ \tkzDrawPoint[shape=cross out,size=12,color=red](A)
+ \tkzDrawPoint[shape=cross,size=12,color=blue](B)
+ \tkzDrawPoint[size=12,color=green](O)
+ \tkzDrawPoint[size=12,color=blue,fill=yellow]({2,2})
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-6-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-6-1.tex
new file mode 100644
index 0000000000..51f88b11ab
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-6-1.tex
@@ -0,0 +1,6 @@
+ \begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(1,3){A}
+ \tkzDefPoint(4,1){B}
+ \tkzDefPoint(0,0){O}
+ \tkzDrawPoints[size=8,color=red](A,B,O)
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-6-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-6-2.tex
new file mode 100644
index 0000000000..9f1d52f4ce
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-6-2.tex
@@ -0,0 +1,14 @@
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(2,3){A} \tkzDefPoint(5,-1){B}
+ \tkzDefPoint[label=below:$\mathcal{C}$,
+ shift={(2,3)}](-30:5.5){E}
+ \begin{scope}[shift=(A)]
+ \tkzDefPoint(30:5){C}
+ \end{scope}
+ \tkzCalcLength[cm](A,B)\tkzGetLength{rAB}
+ \tkzDrawCircle[R](A,\rAB cm)
+ \tkzDrawSegment(A,B)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(B,C)
+ \tkzLabelPoints[above](A)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-7-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-7-1.tex
new file mode 100644
index 0000000000..e134b8f952
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-7-1.tex
@@ -0,0 +1,10 @@
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(4,0){B}
+ \tkzDefPoint(0,3){C}
+ \tkzDrawSegments(A,B B,C C,A)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoint[left,red](A){$A$}
+ \tkzLabelPoint[right,blue](B){$B$}
+ \tkzLabelPoint[above,purple](C){$C$}
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-7-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-7-2.tex
new file mode 100644
index 0000000000..bba4cbf443
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-7-2.tex
@@ -0,0 +1,7 @@
+ \begin{tikzpicture}
+ \tkzInit[xmax=1,xstep=0.15,ymax=.5]
+ \tkzAxeX \tkzDrawY[noticks]
+ \tkzDefPoint(0.22,0.25){A}
+ \tkzDrawPoint(A)
+ \tkzLabelPoint[above](A){$A_1$}
+ \end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-8-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-8-1.tex
new file mode 100644
index 0000000000..c60b9d2bb0
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-8-1.tex
@@ -0,0 +1,7 @@
+\begin{tikzpicture}
+ \tkzDefPoint(2,3){A}
+ \tkzDefShiftPoint[A](30:2){B}
+ \tkzDefShiftPoint[A](30:5){C}
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-9-1.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-9-1.tex
new file mode 100644
index 0000000000..4cbf3600cb
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-9-1.tex
@@ -0,0 +1,15 @@
+\begin{tikzpicture}[scale=1.25]
+ \tkzDefPoint(2,1){O}
+ \tkzDefRandPointOn[circle=center O radius 1.5cm]{A}
+ \tkzDrawCircle(O,A)
+ \tkzDefPointBy[rotation=center O angle 100](A)
+ \tkzGetPoint{C}
+ \tkzDefPointBy[rotation=center O angle 78](A)
+ \tkzGetPoint{B}
+ \tkzDrawPoints(O,A,B,C)
+ \tkzDrawSegments(C,B B,A A,O O,C)
+ \tkzDefCentroid(A,B,C,O)
+ \tkzDrawPoint(tkzPointResult)
+ \tkzAutoLabelPoints[center=tkzPointResult,
+ dist=.3,red](O,A,B,C)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-9-2.tex b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-9-2.tex
new file mode 100644
index 0000000000..2334354184
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/examples/tkzbase-9-9-2.tex
@@ -0,0 +1,12 @@
+\begin{tikzpicture}[scale=1.25]
+ \tkzDefPoint(2,1){O}
+ \tkzDefRandPointOn[circle=center O radius 1.5cm]{A}
+ \tkzDrawCircle(O,A)
+ \tkzDefPointBy[rotation=center O angle 100](A)
+ \tkzGetPoint{C}
+ \tkzDefPointBy[rotation=center O angle 78](A)
+ \tkzGetPoint{B}
+ \tkzDrawPoints(O,A,B,C)
+ \tkzDrawSegments(C,B B,A A,O O,C)
+ \tkzAutoLabelPoints[center=O,red](A,B,C)
+\end{tikzpicture}
diff --git a/macros/latex/contrib/tkz/tkz-base/examples/tkzbasepreamble.ltx b/macros/latex/contrib/tkz/tkz-base/examples/tkzbasepreamble.ltx
deleted file mode 100644
index b2465e4499..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/examples/tkzbasepreamble.ltx
+++ /dev/null
@@ -1,18 +0,0 @@
-%
-% tkzfctpreamble (juin 2011)
-%
-% Coding (utf8) Creator (TeX) Producer (pdfeTeX)
-% Copyright (C) 2010 Alain Matthes
-%
-\documentclass{scrartcl}
-\usepackage[usenames,dvipsnames,svgnames]{xcolor}
-\usepackage{amsmath,tkz-tab,tkz-euclide,tkz-fct}
-\usetkzobj{all}
-
-\definecolor{bistre}{rgb}{.75,.50,.30}
-\definecolor{Maroon}{rgb}{0.5,0.0,0.0}
-\definecolor{fondpaille}{cmyk}{0,0,0.1,0}
-\pagecolor{fondpaille}
-\color{Maroon}
-\tkzSetUpColors[background=fondpaille,text=Maroon]
-
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.cfg b/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.cfg
new file mode 100644
index 0000000000..743c14da90
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.cfg
@@ -0,0 +1,169 @@
+% tkz-base.cfg
+% Copyright 2011 by Alain Matthes
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
+% updated. Instead, put your changes in the entire copy of tkz-base.cfg
+% and save the file in a directory part of your TEXINPUTS environment
+% variable.
+
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-base.cfg}
+%<------ colors ---------------------------------------–>
+\def\tkz@backgroundcolor{white}
+\def\tkz@textcolor{black}
+%<---------------------------------------------------------
+\def\tkz@fillcolor{\tkz@backgroundcolor}
+\def\tkz@mainlinecolor{\tkz@textcolor}
+\def\tkz@otherlinecolor{\tkz@mainlinecolor!50}
+%<------------------------- Cartesian system -----------------------------–>
+% Default unity cm
+% Geometry Euclidean with unity for x and y = 1cm ---> step = 1
+% 0 ≤ x ≤ 10
+% 0 ≤ y ≤ 10
+\def\tkz@init@xorigine{0}
+\def\tkz@init@yorigine{0}
+\def\tkz@init@xstep{1}
+\def\tkz@init@ystep{1}
+\def\tkz@init@xmin{0}
+\def\tkz@init@ymin{0}
+\def\tkz@init@xmax{10}
+\def\tkz@init@ymax{10}
+\def\tkz@init@xdec{1}
+\def\tkz@init@ydec{1}
+%<-------------------------- points -----------------------------------–>
+\def\tkz@euc@pointshape{circle}
+\def\tkz@euc@pointcolor{\tkz@mainlinecolor}
+\def\tkz@euc@labelcolor{\tkz@mainlinecolor}
+\def\tkz@euc@pointsize{3 pt}
+\def\tkz@euc@pointpos{below right}
+\def\tkz@euc@segmentcolor{\tkz@mainlinecolor}
+\def\tkz@euc@circlecolor{\tkz@mainlinecolor}
+%<-------------------------- line ---------------------------------------–>
+\def\tkz@euc@linecolor{\tkz@mainlinecolor}
+\def\tkz@euc@linewidth{0.6pt}
+\def\tkz@euc@linestyle{solid}
+\def\tkz@euc@lineleft{.2}
+\def\tkz@euc@lineright{.2}
+%<------ axes cartesian system ---------------------------------------–>
+\def\tkz@init@color{\tkz@textcolor}
+\def\tkz@init@lw{0.4 pt}
+\def\tkz@init@tickwd{0.8 pt}
+\def\tkz@init@ticka{2 pt}
+\def\tkz@init@tickb{2 pt}
+\def\tkz@init@xlabel{$x$}
+\def\tkz@init@ylabel{$y$}
+\def\tkz@init@tickb{2 pt}
+\def\tkz@init@rightspace{.5}
+\def\tkz@init@leftspace{0}
+\def\tkz@init@upspace{.5}
+\def\tkz@init@downspace{0}
+\global\let\tkzmathstyle\displaystyle
+\def\tkz@legend@line@len{1cm}
+%<-------------------------- rep ---------------------------------------–>
+\def\tkz@sur@color{\tkz@mainlinecolor}
+\def\tkz@sur@colorlabel{\tkz@mainlinecolor}
+\def\tkz@sur@lw{0.8 pt}
+\def\tkz@sur@posxlabel{below=2pt}
+\def\tkz@sur@posylabel{left=2pt}
+%<-------------------------- grid ---------------------------------------–>
+\def\tkz@grid@color{gray}
+\def\tkz@grid@lw{0.4 pt}
+\def\tkzCoeffSubColor{50}
+\def\tkzCoeffSubLw{0.8}
+\def\tkz@grid@xstep{0.2}
+\def\tkz@grid@ystep{0.2}
+\def\tkz@init@gradsize{\textstyle}
+\def\tkzRatioLineGrid{0.75}
+\def\tkz@gd@sublw{0.4 pt}% size line sub grid
+%<------------------------- compass -----------------------------------–>
+\def\tkz@euc@compasscolor{\tkz@otherlinecolor}
+\def\tkz@euc@compasswidth{0.4pt}
+\def\tkz@euc@compassstyle{solid}
+%<---------------------------- mark -----------------------------------–>
+\def\tkz@mk@color{\tkz@mainlinecolor}
+\def\tkz@mk@mark{*}
+\def\tkz@mk@size{3pt}
+\def\tkz@mk@fill{\tkz@otherlinecolor}
+%<--------------------------------------------------------------------------–>
+%<------------------------------ styles ---------------------------------–>
+\tikzset{xlabel style/.style = {below = 3 pt,
+ inner sep = 1pt,
+ outer sep = 0pt}
+ }
+\tikzset{ylabel style/.style = {left = 3 pt,
+ inner sep = 1pt,
+ outer sep = 0pt}}
+\tikzset{xaxe style/.style = {> = latex, ->}
+}
+\tikzset{yaxe style/.style = {> = latex, ->}
+}
+
+\tikzset{point style/.style = {draw = \tkz@euc@pointcolor,
+ inner sep = 0pt,
+ shape = \tkz@euc@pointshape,
+ minimum size = \tkz@euc@pointsize,
+ fill = \tkz@euc@pointcolor
+ }
+ }
+% label for the point
+\tikzset{label style/.style={ \tkz@euc@pointpos,
+ \tkz@euc@labelcolor,
+ font = \normalsize}
+ }
+
+\tikzset{line style/.style = {line width = \tkz@euc@linewidth,
+ color = \tkz@euc@linecolor,
+ style = \tkz@euc@linestyle,
+ add = {\tkz@euc@lineleft} and {\tkz@euc@lineright}%
+ }
+ }
+\tikzset{label seg style/.style = {color = \tkz@mainlinecolor,
+ auto
+ }
+ }
+
+\tikzset{rep style/.style = { ->,
+ >=latex}
+ }
+\tikzset{compass style/.style = {color = \tkz@euc@compasscolor,
+ line width = \tkz@euc@compasswidth,
+ style = \tkz@euc@compassstyle}
+ }
+\tikzset{mark style/.style = {mark = \tkz@mk@mark,
+ mark size = \tkz@mk@size,
+ mark options = {color= \tkz@mk@color,
+ fill = \tkz@mk@fill
+ }
+ }
+}
+%<---------------------- show coord -----------------------------------–>
+\tikzset{arrow coord style/.style = {dashed,
+ \tkz@euc@linecolor,
+ > = latex',
+ ->}
+ }
+\tikzset{xcoord style/.style = {\tkz@euc@labelcolor,
+ font = \normalsize,
+ text height = 1ex,
+ inner sep = 0pt,
+ outer sep = 0pt,
+ fill = \tkz@fillcolor,
+ below = 3pt}
+ }
+\tikzset{ycoord style/.style = {\tkz@euc@labelcolor,
+ font = \normalsize,
+ text height = 1ex,
+ inner sep = 0pt,
+ outer sep = 0pt,
+ fill = \tkz@fillcolor,
+ left = 3pt}
+ }
+%<--------------------------- vector --------------------------------------–>
+\tikzset{vector style/.style={>=latex,->}
+}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty b/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty
new file mode 100644
index 0000000000..8c39f0dcd7
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty
@@ -0,0 +1,119 @@
+% tkz-base.sty % this file
+% Copyright 2011 by Alain Matthes
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+% This work consists of the main source file interfaces.dtx
+% and the derived files
+% tkz-base.sty % this file
+%<--------------------------------------------------------------------------–>
+% Objet : Outils pour la création de graphiques géométriques
+%<--------------------------------------------------------------------------–>
+\typeout{2020/01/23 3.01c tkz-base.sty}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tkz-base}[2020/01/23 3.01c tkz-base]
+\ifx\e@alloc\@undefined
+ \RequirePackage{etex}
+\fi
+\RequirePackage{tikz}
+\usetikzlibrary{%
+ angles,
+ arrows,
+ arrows.meta,
+ babel,
+ calc,
+ decorations,
+ decorations.markings,
+ decorations.pathreplacing,
+ intersections,
+ patterns,
+ plotmarks,
+ positioning,
+ quotes,
+ shapes.misc,
+ through
+ }
+% Pour les les labels sur les axes
+\@ifpackageloaded{numprint}{}
+{\RequirePackage[autolanguage]{numprint}} %
+\RequirePackage{xfp,fp}
+%\FPmessagesfalse % pas de messages de la part de fp !
+%---------------------
+\newdimen\tkzRadius
+\newdimen\tkzLength
+\newdimen\tkz@radi
+%--------------------- tkz registres
+\newdimen\tkz@ax
+\newdimen\tkz@ay
+\newdimen\tkz@bx
+\newdimen\tkz@by
+\newdimen\tkz@cx
+\newdimen\tkz@cy
+\newdimen\tkz@dx
+\newdimen\tkz@dy
+% 2017
+\newdimen\tkz@tax
+\newdimen\tkz@tay
+\newdimen\tkz@tbx
+\newdimen\tkz@tby
+\newdimen\tkz@tcx
+\newdimen\tkz@tcy
+\newdimen\tkz@tdx
+\newdimen\tkz@tdy
+%--------------------- points
+\newif\iftkz@polar\tkz@polarfalse
+\newif\iftkz@pt@polar
+\newif\iftkz@pt@show
+\newif\iftkz@pt@noname
+\newif\iftkz@coord@noxdraw
+\newif\iftkz@coord@noydraw
+\newif\iftkz@vec@normed
+%--------------------- lines
+\newif\iftkz@line@normed
+%--------------------- tkz axis
+\newif\iftkz@X@noticks
+\newif\iftkz@Y@noticks
+\newif\iftkz@X@nograd
+\newif\iftkz@Y@nograd
+\newif\iftkz@X@orig
+\newif\iftkz@Y@orig
+\newif\iftkz@X@unit
+\newif\iftkz@Y@unit
+\newif\iftkz@np
+\newif\iftkz@swap
+\newif\iftkz@init@NO
+\newif\iftkz@Rep@orig%--------------------- Rep
+\newif\iftkzLengthIncm%--------------------- Math
+\newif\iftkz@sop@show%--------------------- marks
+\newif\iftkz@equi@show
+\newif\iftkz@gd@sub% sub grid ?%--------------------- about grid
+\newif\iftkz@node\tkz@nodefalse
+\newif\iftkz@legend@line%--------------------- legend
+\newif\iftkz@TestSubString
+\newif\ifnormtkzcode@execute% german ? right angle
+\newif\iftkz@sawp@sc%---------------------- semi circle
+\newif\ifpgf@unknown % math arith
+\newif\ifpgf@isaprime
+\newcount\tkz@cntmk
+\newif\iftkz@RappReturn % protractor
+\newif\iftkz@RappFull
+%--------------------- Init
+\def\tkz@xgrad{1}
+\def\tkz@ygrad{1}
+\def\tkz@xa{0}
+\def\tkz@xb{10}
+\def\tkz@ya{0}
+\def\tkz@yb{10}
+%----------------------
+\def\tkz@mathresult{}
+\InputIfFileExists{tkz-base.cfg}{%
+\typeout{Local configuration file tkz-base.cfg found and used}}{%
+\typeout{tkz-base.cfg not found} }
+\input{tkz-tools-modules}
+\input{tkz-lib-marks}
+\usetkztool{base,utilities,math,text,BB,arith,print,misc}
+\usetkzobj{axes,grids,marks,points,rep}
+\endinput
+
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex
new file mode 100644
index 0000000000..0579d1ad25
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex
@@ -0,0 +1,108 @@
+% tkz-lib-marks.tex
+% Copyright 2011 by Alain Matthes
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-lib-symbols.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% Création des symboles
+%<--------------------------------------------------------------------------–>
+\def\tkz@undefined{none}
+% double bar
+\pgfdeclareplotmark{||}
+{%
+ \pgfpathmoveto{\pgfqpoint{2\pgflinewidth}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{2\pgflinewidth}{-\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-2\pgflinewidth}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{-2\pgflinewidth}{-\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+%triple bar
+\pgfdeclareplotmark{|||}
+{%
+ \pgfpathmoveto{\pgfqpoint{0 pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{0 pt}{-\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-3\pgflinewidth}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{-3\pgflinewidth}{-\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{3\pgflinewidth}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{3\pgflinewidth}{-\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+% An bar slant
+
+\pgfdeclareplotmark{s|}
+{%
+ \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}%
+ {-.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{.70710678\pgfplotmarksize}%
+ {.70710678\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+
+% An double bar slant
+
+\pgfdeclareplotmark{s||}
+{%
+ \pgfpathmoveto{\pgfqpoint{-0.75\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{0.25\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{0\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{1\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+
+% z
+\pgfdeclareplotmark{z}
+{%
+ \pgfpathmoveto{\pgfqpoint{0.75\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{-0.75\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{0.75\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{-0.75\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+% s
+\pgfdeclareplotmark{s}
+{%
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{0pt}}
+ {\pgfpoint{-\pgfplotmarksize}{\pgfplotmarksize}}
+ {\pgfpoint{\pgfplotmarksize}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{0pt}}
+ {\pgfpoint{\pgfplotmarksize}{-\pgfplotmarksize}}
+ {\pgfpoint{-\pgfplotmarksize}{-\pgfplotmarksize}}
+ \pgfusepathqstroke
+}
+% infinity
+\pgfdeclareplotmark{oo}
+{%
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{0pt}}
+ {\pgfpoint{.5\pgfplotmarksize}{1\pgfplotmarksize}}
+ {\pgfpoint{\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{0pt}}
+ {\pgfpoint{-.5\pgfplotmarksize}{1\pgfplotmarksize}}
+ {\pgfpoint{-\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{0pt}}
+ {\pgfpoint{.5\pgfplotmarksize}{-1\pgfplotmarksize}}
+ {\pgfpoint{\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathcurveto
+ {\pgfpoint{0pt}{0pt}}
+ {\pgfpoint{-.5\pgfplotmarksize}{-1\pgfplotmarksize}}
+ {\pgfpoint{-\pgfplotmarksize}{0pt}}
+ \pgfusepathqstroke
+}
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axes.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axes.tex
new file mode 100644
index 0000000000..ce1ce98fdc
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-axes.tex
@@ -0,0 +1,462 @@
+% tkz-obj-axes.tex
+% Copyright 2011 by Alain Matthes
+% This file may be distributed and/or modified
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+% utf8 encoding
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-obj-axes.tex}
+ \newif\ifinteger
+ \makeatletter
+\def\removedot#1.{#1}
+\newcommand\tkzgetinteger[1]{\expandafter\tkz@getinteger#1.\@nil}
+\def\tkz@getinteger#1.#2\@nil{%
+ \ifx\empty#2\empty
+ \integertrue
+ \else
+ \ifnum\removedot#2=0
+ \integertrue
+ \else
+ \integerfalse
+ \fi
+ \fi
+}
+%<--------------------------------------------------------------------------–>
+% some tools
+%<--------------------------------------------------------------------------–>
+\def\tkz@showgrad#1{%
+\tkzgetinteger{#1}
+\ifinteger\edef\tkz@result{\fpeval{trunc(#1,0)}}\else\edef\tkz@result{#1}\fi}%
+
+\def\tkz@Xresult{%
+\tkz@showgrad{\tkz@xgrad}%
+ $\numprint{\tkz@result}$%
+}%
+%<--------------------------------------------------------------------------–>
+\def\tkz@Yresult{%
+\tkz@showgrad{\tkz@ygrad}%
+$\numprint{\tkz@result}$
+}%
+%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
+\def\tkz@Xshowgradresult#1{%
+\iftkz@X@orig%
+ \tkz@Xresult%
+\else% orig
+ \iftkz@init@NO%
+ \unless\ifx#1\tkz@posmin%
+ \tkz@Xresult\fi
+ \else% NO
+ \unless\ifx#1\x@tkzero%
+ \tkz@Xresult%
+ \fi%end of x@tkzero
+ \fi%end of NO
+\fi%end of orig
+}%
+%<--------------------------------------------------------------------------–>
+\def\tkz@Yshowgradresult#1{%
+\iftkz@Y@orig%
+ \tkz@Yresult%
+\else % orig
+\iftkz@init@NO%
+ \unless\ifx#1\tkz@posmin%
+ \tkz@Yresult\fi
+ \else% NO
+ \unless\ifx#1\y@tkzero%
+ \tkz@Yresult%
+ \fi%end of x@tkzero
+ \fi%end of NO
+\fi%end of orig
+}%
+%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
+\def\tkz@Xshowgrad#1{%
+\iftkz@X@orig%
+ \tkzprintfrac%
+\else% orig
+ \iftkz@init@NO%
+ \unless\ifx#1\tkz@posmin%
+ \tkzprintfrac\fi%
+ \else% NO
+ \unless\ifx#1\x@tkzero%
+ \tkzprintfrac%
+ \fi%end of x@tkzero
+ \fi%end of NO
+\fi%end of orig
+}%
+%<--------------------------------------------------------------------------–>
+\def\tkz@Yshowgrad#1{%
+\iftkz@Y@orig%
+\tkzprintfrac%
+\else% orig
+ \iftkz@init@NO%
+ \unless\ifx\tkz@pos\tkz@posmin%
+ \tkzprintfrac\fi%
+ \else % NO
+ \unless\ifx\tkz@pos\y@tkzero%
+ \tkzprintfrac%
+ \fi%end of x@tkzero
+ \fi%end of NO
+\fi%end of orig
+}%
+
+%<--------------------------------------------------------------------------–>
+% Setup axe
+%<--------------------------------------------------------------------------–>
+\pgfkeys{tkzaxis/.cd,
+ line width/.code = \xdef\tkz@sua@lw{#1},
+ color/.code = \xdef\tkz@sua@color{#1},
+ tickwd/.code = \xdef\tkz@sua@tickwd{#1},
+ ticka/.code = \xdef\tkz@sua@ticka{#1},
+ tickb/.code = \xdef\tkz@sua@tickb{#1},
+ line width = \tkz@init@lw,
+ color = \tkz@init@color,
+ tickwd = \tkz@init@tickwd,
+ ticka = \tkz@init@ticka,
+ tickb = \tkz@init@tickb
+}
+
+\def\tkzSetUpAxis{\pgfutil@ifnextchar[{\tkz@SetUpAxis}{\tkz@SetUpAxis[]}}
+\def\tkz@SetUpAxis[#1]{%
+\begingroup
+\pgfqkeys{/tkzaxis}{#1}
+\global\let\tkz@init@lw\tkz@sua@lw
+\global\let\tkz@init@gradsize\tkz@sua@gradsize
+\global\let\tkz@init@color\tkz@sua@color
+\global\let\tkz@init@tickwd\tkz@sua@tickwd
+\global\let\tkz@init@ticka\tkz@sua@ticka
+\global\let\tkz@init@tickb\tkz@sua@tickb
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% tkzDrawX todo améliorer les unités
+% sans doute à revoir loop from 0 to i then calcul dans la boucle de la position
+% et de l'affichage
+%<--------------------------------------------------------------------------–>
+\pgfkeys{%
+ /tkzdrawX/.cd,
+ color/.store in = \tkz@X@color,
+ label/.store in = \tkz@X@label,
+ right space/.store in = \tkz@axe@rxspace,
+ left space/.store in = \tkz@axe@lxspace,
+ trig/.store in = \tkz@X@trig,
+ step/.code = {\edef\tkz@posnext{\fpeval{#1}}},
+ color = \tkz@init@color,
+ label = \tkz@init@xlabel,
+ trig = 0,
+ step = \tkz@init@xstep,
+ right space = \tkz@init@rightspace, %???
+ left space = \tkz@init@leftspace,
+ noticks/.is if = tkz@X@noticks,
+ noticks/.default = true,
+ noticks = false,
+ tickwd/.store in = \tkz@X@tickwd,
+ tickup/.store in = \tkz@X@tickup,
+ tickdn/.store in = \tkz@X@tickdn,
+ tickwd = \tkz@init@tickwd,
+ tickup = \tkz@init@ticka,
+ tickdn = \tkz@init@tickb,
+ /tkzdrawX/.search also={/tikz},
+ }
+
+\def\tkzDrawX{\pgfutil@ifnextchar[{\tkz@DrawX}{\tkz@DrawX[]}}
+\def\tkz@DrawX[#1]{
+\begingroup%
+\pgfqkeys{/tkzdrawX}{#1}
+\edef\tkz@posmax{\fpeval{trunc(\tkz@xb,\tkz@init@xdec)}}
+\edef\tkz@posmin{\fpeval{trunc(\tkz@xa,\tkz@init@xdec)}}
+\edef\tkz@xbsup{\fpeval{\tkz@xb+\tkz@axe@rxspace}}
+\edef\tkz@xainf{\fpeval{\tkz@xa-\tkz@axe@lxspace}}
+\path (\tkz@xainf,0)--(\tkz@xbsup,0) node(tkz@xline){};
+\draw[xaxe style,
+ color = \tkz@X@color,
+ /tkzdrawX/.cd, #1] (\tkz@xainf,0)--(\tkz@xbsup,0)
+ node[ xlabel style,
+ /tkzdrawX/.cd,
+ #1]{\tkz@X@label};
+ \iftkz@X@noticks
+ \else
+ \ifnum\tkz@X@trig=0
+ \edef\tkz@posmax{\fpeval{trunc(\tkz@posmax,\tkz@init@xdec)}}
+ \edef\tkz@posnext{\fpeval{\tkz@posnext/\tkz@init@xstep+\tkz@posmin}}
+ \foreach \pos in {\tkz@posmin,...,\tkz@posmax}{%
+ \edef\tkz@pos{\fpeval{\pos*1}}% ???
+ \draw[ color = \tkz@X@color, line width = \tkz@X@tickwd,
+ shift = {(\tkz@pos,0)}]%
+ (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn);
+ }
+ \else
+ \edef\tkz@posmin{\fpeval{round(((\tkz@posmin+.5)/pi)*\tkz@X@trig,0)}}
+ \edef\tkz@posmax{\fpeval{round(((\tkz@posmax)/pi)*\tkz@X@trig,0)}}
+ \foreach \tkz@pos in {\tkz@posmin,...,\tkz@posmax}{%
+ \edef\tkz@pospi{\fpeval{(\tkz@pos*pi)/\tkz@X@trig}}
+ \draw[color = \tkz@X@color,
+ line width = \tkz@X@tickwd,%
+ shift = {(\tkz@pospi,0)}]%
+ (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn);
+ }% end foreach
+ \fi
+ \fi
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% tkzDrawY todo améliorer les unités
+%<--------------------------------------------------------------------------–>
+\pgfkeys{%
+ /tkzdrawY/.cd,
+ color/.store in = \tkz@Y@color,
+ label/.store in = \tkz@Y@label,
+ up space/.store in = \tkz@axe@uyspace,
+ down space/.store in = \tkz@axe@dyspace,
+ trig/.store in = \tkz@Y@trig,
+ step/.code = {\edef\tkz@posnext{\fpeval{#1}}},
+ color = \tkz@init@color,
+ label = \tkz@init@ylabel,
+ trig = 0,
+ step = \tkz@init@ystep,
+ up space = \tkz@init@upspace,
+ down space = \tkz@init@downspace,
+ noticks/.is if = tkz@Y@noticks,
+ noticks/.default = true,
+ noticks = false,
+ tickwd/.store in = \tkz@Y@tickwd,
+ ticklt/.store in = \tkz@Y@ticklt,
+ tickrt/.store in = \tkz@Y@tickrt,
+ tickwd = \tkz@init@tickwd,
+ ticklt = \tkz@init@tickb,
+ tickrt = \tkz@init@ticka,
+ /tkzdrawY/.search also={/tikz},
+ }
+
+\def\tkzDrawY{\pgfutil@ifnextchar[{\tkz@DrawY}{\tkz@DrawY[]}}
+\def\tkz@DrawY[#1]{%
+\begingroup
+\pgfkeys{/tkzdrawY/.cd,step = \tkz@init@ystep}
+\pgfqkeys{/tkzdrawY}{#1}
+\edef\tkz@posmax{\fpeval{trunc(\tkz@yb,\tkz@init@ydec)}}
+\edef\tkz@posmin{\fpeval{trunc(\tkz@ya,\tkz@init@ydec)}}
+\edef\tkz@ybsup{\fpeval{\tkz@yb+\tkz@axe@uyspace}}
+\edef\tkz@yainf{\fpeval{\tkz@ya-\tkz@axe@dyspace}}
+\path (0,\tkz@yainf)--(0,\tkz@ybsup) node(tkz@yline){};
+\draw[color = \tkz@Y@color,
+ yaxe style,/tkzdrawY/.cd,#1] (0,\tkz@yainf)--(0,\tkz@ybsup)
+ node[ylabel style,/tkzdrawY/.cd,#1]{\tkz@Y@label};
+ \iftkz@Y@noticks
+ \else
+ \ifnum\tkz@Y@trig=0
+ \edef\tkz@posmax{\fpeval{trunc(\tkz@posmax,\tkz@init@ydec)}}
+ \edef\tkz@posnext{\fpeval{\tkz@posnext/\tkz@init@ystep+\tkz@posmin}}
+ \foreach \tkz@pos in {\tkz@posmin,\tkz@posnext,...,\tkz@posmax}{%
+ \draw[color = \tkz@Y@color,
+ line width = \tkz@Y@tickwd,
+ shift = {(0,\tkz@pos)}]%
+ (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt);}
+ \else
+ \edef\tkz@posmin{\fpeval{round(((\tkz@posmin+.5)/pi)*\tkz@Y@trig,0)}}
+ \edef\tkz@posmax{\fpeval{round(((\tkz@posmax)/pi)*\tkz@Y@trig,0)}}
+ \foreach \tkz@pos in {\tkz@posmin,...,\tkz@posmax}{%
+ \edef\tkz@pospi{\fpeval{(\tkz@pos*pi)/\tkz@Y@trig}}
+ \draw[color = \tkz@Y@color,
+ line width = \tkz@Y@tickwd,%
+ shift = {(0,\tkz@pospi)}]%
+ (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt);
+ }% end foreach
+ \fi
+ \fi
+\endgroup}
+%<--------------------------------------------------------------------------->
+% tkzLabelX
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzlabelX/.cd,
+ frac/.store in = \tkz@X@frac,
+ trig/.store in = \tkz@X@trig,
+ step/.store in = \tkz@posnext,
+ tickwd/.store in = \tkz@X@tickwd,
+ tickup/.store in = \tkz@X@tickup,
+ tickdn/.store in = \tkz@X@tickdn,
+ np off/.is if = tkz@np,
+ np off/.default = true,
+ np off = false,
+ orig/.is if = tkz@X@orig,
+ orig/.default = false,
+ orig = true,
+ frac = 0,
+ trig = 0,
+ step = \tkz@init@xstep,
+ tickwd = \tkz@init@tickwd,
+ tickup = \tkz@init@ticka,
+ tickdn = \tkz@init@tickb,
+ /tkzlabelX/.search also={/tikz},
+ }
+\def\tkzLabelX{\pgfutil@ifnextchar[{\tkz@LabelX}{\tkz@LabelX[]}}
+\def\tkz@LabelX[#1]{%
+\begingroup
+\pgfkeys{/tkzlabelX/.cd,step = \tkz@init@xstep}
+\pgfqkeys{/tkzlabelX}{#1}
+\iftkz@np\let\numprint@saved\numprint %
+\let\numprint\relax\fi %
+
+\edef\tkz@posmin{\fpeval{trunc(\tkz@xa,\tkz@init@xdec)}}
+\edef\tkz@posmax{\fpeval{trunc(\tkz@xb,\tkz@init@xdec)}}
+\edef\x@tkzero{\fpeval{trunc(0.0000000,\tkz@init@xdec)}}
+
+\ifnum\tkz@X@frac=0 %
+ \ifnum\tkz@X@trig=0 % affichage normal
+ \edef\tkz@posnext{\fpeval{\tkz@posnext/\tkz@init@xstep+\tkz@posmin}}
+ \foreach \tkz@pos in {\tkz@posmin,\tkz@posnext,...,\tkz@posmax}{%
+ \edef\tkz@pos{\fpeval{trunc(\tkz@pos,\tkz@init@xdec)}}
+ \edef\tkz@xgrad{\fpeval{\tkz@pos*\tkz@init@xstep+\tkz@init@xorigine}}
+ \edef\tkz@xgrad{\fpeval{trunc(\tkz@xgrad,\tkz@init@xdec)}}
+ \path[shift = {(\tkz@pos,0)}] (0pt,\tkz@X@tickup) -- (0pt,-\tkz@X@tickdn)%
+ node[ xlabel style,%
+ fill = \tkz@fillcolor,
+ /tkzlabelX/.cd,#1]{\tkz@Xshowgradresult{\tkz@pos}};
+}%
+ \else% trig > 0
+ \edef\tkz@posmin{\fpeval{round(((\tkz@posmin+.5)/pi)*\tkz@X@trig,0)}}
+ \edef\tkz@posmax{\fpeval{(\tkz@posmax/pi)*\tkz@X@trig}}
+ \foreach \tkz@pos in {\tkz@posmin,...,\tkz@posmax}{%
+ \tkzPrintFracWithPi{\tkz@pos}{\tkz@X@trig}
+ \edef\tkz@pospi{\fpeval{(\tkz@pos*pi)/\tkz@X@trig}}
+ \path[shift = {(\tkz@pospi,0)}]%
+ (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn)%
+ node[xlabel style,
+ text height = 8pt,
+ fill = \tkz@fillcolor,
+ /tkzlabelX/.cd,#1]{\tkz@Xshowgrad{\tkz@pos}};%
+ }% end foreach
+ \fi
+\else% frac > 0
+ \edef\tkz@posmin{\fpeval{round(\tkz@posmin,0)}}
+ \foreach \tkz@pos in {\tkz@posmin,...,\tkz@posmax}{%
+ \tkzPrintFrac{\tkz@pos}{\tkz@X@frac}%
+ \path[shift = {(\tkz@pos,0)}]%
+ (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn)%
+ node[xlabel style,text height = 8pt,fill = \tkz@fillcolor,
+ /tkzlabelX/.cd,#1]{\tkz@Xshowgrad{\tkz@pos}}%
+ ;%
+ }% end foreach
+\fi
+ \iftkz@np\let\numprint\numprint@saved \fi%
+\endgroup
+}
+%<--------------------------------------------------------------------------->
+% tkzLabelY
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzlabelY/.cd,
+ frac/.store in = \tkz@Y@frac,
+ trig/.store in = \tkz@Y@trig,
+ step/.store in = \tkz@posnext,
+ tickwd/.store in = \tkz@Y@tickwd,
+ ticklt/.store in = \tkz@Y@ticklt,
+ tickrt/.store in = \tkz@Y@tickrt,
+ np off/.is if = tkz@np,
+ np off/.default = true,
+ np off = false,
+ orig/.is if = tkz@Y@orig,
+ orig/.default = false,
+ orig = true,
+ frac = 0,
+ trig = 0,
+ step = \tkz@init@ystep,
+ tickwd = \tkz@init@tickwd,
+ ticklt = \tkz@init@tickb,
+ tickrt = \tkz@init@ticka,
+ /tkzlabelY/.search also={/tikz}
+ }
+ \def\tkzLabelY{\pgfutil@ifnextchar[{\tkz@LabelY}{\tkz@LabelY[]}}
+\def\tkz@LabelY[#1]{%
+\begingroup
+\pgfkeys{/tkzlabelY/.cd,step = \tkz@init@ystep}
+\pgfqkeys{/tkzlabelY}{#1}
+\iftkz@np\let\numprint@saved\numprint %
+\let\numprint\relax\fi %
+\edef\tkz@posmin{\fpeval{trunc(\tkz@ya,\tkz@init@ydec)}}
+\edef\tkz@posmax{\fpeval{trunc(\tkz@yb,\tkz@init@ydec)}}
+\edef\y@tkzero{\fpeval{trunc(0.0000000,\tkz@init@ydec)}}
+
+\ifnum\tkz@Y@frac=0
+ \ifnum\tkz@Y@trig=0 % affichage normal
+ \edef\tkz@posnext{\fpeval{\tkz@posnext/\tkz@init@ystep+\tkz@posmin}}
+ \foreach \tkz@pos in {\tkz@posmin,\tkz@posnext,...,\tkz@posmax}{%
+ \edef\tkz@pos{\fpeval{trunc(\tkz@pos,\tkz@init@ydec)}}
+ \edef\tkz@ygrad{\fpeval{\tkz@pos*\tkz@init@ystep+\tkz@init@yorigine}}
+ \edef\tkz@ygrad{\fpeval{trunc(\tkz@ygrad,\tkz@init@ydec)}}
+ \path[shift = {(0,\tkz@pos)}]%
+ (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt)%
+ node[ylabel style,
+ fill = \tkz@fillcolor,
+ /tkzlabelY/.cd,#1]{\tkz@Yshowgradresult{\tkz@pos}};
+}
+ \else% trig > 0
+ \edef\tkz@posmin{\fpeval{round(((\tkz@posmin+.5)/pi)*\tkz@Y@trig,0)}}
+ \edef\tkz@posmax{\fpeval{(\tkz@posmax/pi)*\tkz@Y@trig}}
+ \foreach \tkz@pos in {\tkz@posmin,...,\tkz@posmax}{%
+ \tkzPrintFracWithPi{\tkz@pos}{\tkz@Y@trig}
+ \edef\tkz@pospi{\fpeval{(\tkz@pos*pi)/\tkz@Y@trig}}
+ \path[shift = {(0,\tkz@pospi)}]%
+ (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt)%
+ node[ylabel style,text height = 8pt,fill = \tkz@fillcolor,
+ /tkzlabelY/.cd,#1]{\tkz@Yshowgrad{\tkz@pos}};%
+ }% end foreach
+ \fi
+\else% frac > 0
+\edef\tkz@posmin{\fpeval{round(\tkz@posmin,0)}}
+ \foreach \tkz@pos in {\tkz@posmin,...,\tkz@posmax}{%
+ \tkzPrintFrac{\tkz@pos}{\tkz@Y@frac}%
+ \path[shift = {(0,\tkz@pos)}]%
+ (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt)%
+ node[ylabel style,
+ text height = 8pt,
+ fill = \tkz@fillcolor,
+ /tkzlabelY/.cd,#1]{\tkz@Yshowgrad{\tkz@pos}}%
+ ;%
+ }% end foreach
+\fi
+ \iftkz@np\let\numprint\numprint@saved \fi%
+\endgroup
+}
+%<-------------------------------------------------------------------------->
+%<--------------------------------------------------------------------------–>
+% tkzAxeX Draw + Label
+%<--------------------------------------------------------------------------–>
+\def\tkzAxeX{\pgfutil@ifnextchar[{\tkz@AxeX}{\tkz@AxeX[]}}
+\def\tkz@AxeX[#1]{%
+\begingroup
+ \tkzLabelX[#1]
+ \tkzDrawX[#1]
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzAxeY{\pgfutil@ifnextchar[{\tkz@AxeY}{\tkz@AxeY[]}}
+\def\tkz@AxeY[#1]{%
+\begingroup
+ \tkzDrawY[#1]
+ \tkzLabelY[#1]
+\endgroup}
+%<-------------------------------------------------------------------------->
+\pgfkeys{/tkzAxeXY/.cd,
+ swap/.is if = tkz@swap,
+ swap/.default = true,
+ swap = false,
+ /tkzAxeXY/.search also={/tikz},
+ /tkzAxeXY/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
+ \pgfkeysalso{\searchname/.try=#1}}
+ }
+
+\def\tkzAxeXY{\pgfutil@ifnextchar[{\tkzAxe@XY}{\tkzAxe@XY[]}}
+\def\tkzAxe@XY[#1]{%
+\pgfqkeys{/tkzAxeXY}{#1}
+\iftkz@swap
+\tkzLabelX[#1]\tkzLabelY[#1]\tkzDrawX[#1]\tkzDrawY[#1]
+\else
+\tkzDrawX[#1]\tkzDrawY[#1]\tkzLabelX[#1]\tkzLabelY[#1]
+\fi}
+\def\tkzDrawXY{\pgfutil@ifnextchar[{\tkzDraw@XY}{\tkzDraw@XY[]}}
+\def\tkzDraw@XY[#1]{\tkzDrawX[#1]\tkzDrawY[#1]}
+\def\tkzLabelXY{\pgfutil@ifnextchar[{\tkzLabel@XY}{\tkzLabel@XY[]}}
+\def\tkzLabel@XY[#1]{\tkzLabelX[#1]\tkzLabelY[#1]}
+ %<--------------------------------------------------------------------------–>
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex
new file mode 100644
index 0000000000..f2bd6a5ffc
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex
@@ -0,0 +1,78 @@
+% tkz-obj-grids.tex
+% Copyright 2011 by Alain Matthes
+% This file may be distributed and/or modified
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+% utf8 encoding
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-obj-grids.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% Setup Grid
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/@tkzsugrid/.cd,
+ line width/.store in = \tkz@sug@lw,
+ color/.store in = \tkz@sug@color,
+ line width = \tkz@grid@lw,
+ color = \tkz@grid@color
+ }
+
+\def\tkzSetUpGrid{\pgfutil@ifnextchar[{\tkz@SetUpGrid}{\tkz@SetUpGrid[]}}
+\def\tkz@SetUpGrid[#1]{%
+\begingroup
+\pgfqkeys{/@tkzsugrid}{#1}
+\global\let\tkz@grid@lw\tkz@sug@lw
+\global\let\tkz@grid@color\tkz@sug@color
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% tkzGrid
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/@tkzGrid/.cd,
+ color/.code = {\def\tkz@gd@color{#1}%
+ \edef\tkz@gd@subcolor{%
+ \tkz@gd@color!\tkzCoeffSubColor}},
+ subxstep/.store in = {\tkz@gd@subxstep},
+ subystep/.store in = {\tkz@gd@subystep},
+ ratio/.store in = {\tkz@gd@ratio},
+ line width/.code = {\edef\tkz@gd@lw{#1}
+ \edef\tkz@gd@sublw{\tkz@gd@ratio\tkz@gd@lw}},
+ sub/.is if = tkz@gd@sub,
+ sub/.default = true ,
+ sub = false,
+ color = \tkz@grid@color,
+ ratio = 0.75,
+ subxstep = \tkz@grid@xstep,
+ subystep = \tkz@grid@ystep,
+ line width = \tkz@grid@lw,
+ /@tkzGrid/.search also = {/tikz},
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzGrid{\pgfutil@ifnextchar[{\tkz@Grid}{\tkz@Grid[]}}
+\def\tkz@Grid[#1]{\@ifnextchar({\tkz@@Grid[#1]}%
+ {\tkz@@Grid[#1](\tkz@tmp@xa,\tkz@tmp@ya)(\tkz@tmp@xb,\tkz@tmp@yb)}}
+\def\tkz@@Grid[#1](#2,#3)(#4,#5){%
+ \pgfqkeys{/@tkzGrid}{#1}
+ \begingroup
+ \edef\tkz@gxa{\fpeval{(#2-\tkz@init@xorigine)/\tkz@init@xstep}}
+ \edef\tkz@gxb{\fpeval{(#4-\tkz@init@xorigine)/\tkz@init@xstep}}
+ \edef\tkz@gya{\fpeval{(#3-\tkz@init@yorigine)/\tkz@init@ystep}}
+ \edef\tkz@gyb{\fpeval{(#5-\tkz@init@yorigine)/\tkz@init@ystep}}
+ \iftkz@gd@sub%
+ \edef\@subxstep{\fpeval{\tkz@gd@subxstep/\tkz@init@xstep}}%
+ \edef\@subystep{\fpeval{\tkz@gd@subystep/\tkz@init@ystep}}%
+ \draw [xstep = \@subxstep cm,%
+ ystep = \@subystep cm,%
+ color = \tkz@gd@subcolor,%
+ line width = \tkzRatioLineGrid]%
+ (\tkz@gxa,\tkz@gya) grid (\tkz@gxb,\tkz@gyb);%
+ \fi
+ \draw [color = \tkz@gd@color,%
+ line width = \tkz@gd@lw]%
+ (\tkz@gxa,\tkz@gya) grid (\tkz@gxb,\tkz@gyb);%
+ \endgroup
+}%
+ %<--------------------------------------------------------------------------–>
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-marks.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex
index d4efff422a..3eec108b22 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-marks.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex
@@ -1,27 +1,24 @@
+%tkz-obj-marks.tex
% Copyright 2011 by Alain Matthes
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
-
-
-\def\fileversion{1.16 d}
-\def\filedate{2018/09/19}
-
-
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-obj-marks.tex}
+\makeatletter
%<-------------------------------------------------------------------------–>
% Setup Marks
%<-------------------------------------------------------------------------–>
%<--------------------------------------------------------------------------–>
% DefSetOfPoints
%<--------------------------------------------------------------------------–>
-\newif\iftkz@sop@show
-\newcount\tkz@cntmk
-\pgfkeys{
- /tkzSoPt/.cd,
- prefix/.code = {\global\edef\tkz@pref{#1}},
- /tkzSoPt/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
+\pgfkeys{/tkzSoPt/.cd,
+ prefix/.store in = \tkz@pref,
+ prefix = tkzPt,
+ /tkzSoPt/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
\pgfkeysalso{\searchname/.try=#1,
/tikz/\searchname/.retry=#1}}
}
@@ -29,9 +26,6 @@
\tkz@SetOfPoints[]}}
\def\tkz@SetOfPoints[#1]#2{%
\begingroup
-\pgfkeys{%
-/tkzSoPt/.cd,
-prefix=tkzPt}
\pgfqkeys{/tkzSoPt}{#1}
\tkz@cntmk1 %
\edef\tkz@@cnt{\the\tkz@cntmk}
@@ -39,53 +33,45 @@ prefix=tkzPt}
\tkz@cntmk=\tkz@@cnt %
\tkzDefPoint(\x,\y){\tkz@pref\the\tkz@cntmk}
\advance\tkz@cntmk by1 %
- \global\edef\tkz@@cnt{\the\tkz@cntmk}
+ \xdef\tkz@@cnt{\the\tkz@cntmk}
}%
-\endgroup}%
+\endgroup
+}%
%<-------------------------------------------------------------------------–>
-\pgfkeys{
- /tkzjoinmk/.cd,
- prefix/.code = {\global\edef\tkz@pref{#1}},
- /tkzjoinmk/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}}
+\pgfkeys{/tkzjoinmk/.cd,
+ prefix/.store in = \tkz@pref,
+ prefix=tkzPt,
+ /tkzjoinmk/.search also={/tikz}
}
\def\tkzJoinSetOfPoints{\pgfutil@ifnextchar[{\tkz@JoinSetOfPoints}{%
\tkz@JoinSetOfPoints[]}}
\def\tkz@JoinSetOfPoints[#1]{%
\begingroup
-\pgfkeys{%
-/tkzjoinmk/.cd,
-prefix=tkzPt}
-\pgfqkeys{/tkzjoinmk}{#1}
-\pgfmathsetcount{\tkz@cntmk}{\tkz@@cnt-2}
-\edef\tkz@@cnt{\the\tkz@cntmk}
-\foreach \nb in {1,...,\tkz@@cnt}{%
-\tkz@cntmk=\nb
-\advance\tkz@cntmk by1
-\draw[line cap=round,/tkzjoinmk/.cd,#1] (\tkz@pref\nb)--(\tkz@pref\the\tkz@cntmk);}
+ \pgfqkeys{/tkzjoinmk}{#1}
+ \pgfmathsetcount{\tkz@cntmk}{\tkz@@cnt-2}
+ \edef\tkz@@cnt{\the\tkz@cntmk}
+ \foreach \nb in {1,...,\tkz@@cnt}{%
+ \tkz@cntmk=\nb
+ \advance\tkz@cntmk by1
+ \draw[line cap=round,/tkzjoinmk/.cd,#1]
+ (\tkz@pref\nb) -- (\tkz@pref\the\tkz@cntmk);}
\endgroup}
%<-------------------------------------------------------------------------–>
% ShowSetOfMark
%<-------------------------------------------------------------------------–>
-\pgfkeys{
-/tkzdrawmk/.cd,
-prefix/.code = {\global\edef\tkz@pref{#1}},
-/tkzdrawmk/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}}
+\pgfkeys{/tkzdrawmk/.cd,
+ prefix/.store in = \tkz@pref,
+ prefix=tkzPt,
+ /tkzdrawmk/.search also = {/tikz}
}
\def\tkzDrawSetOfPoints{\pgfutil@ifnextchar[{\tkz@DrawSetOfPoints}{
\tkz@DrawSetOfPoints[]}}
\def\tkz@DrawSetOfPoints[#1]{%
\begingroup
-\pgfkeys{/tkzdrawmk/.cd, prefix=tkzPt}
\pgfqkeys{/tkzdrawmk}{#1}
\pgfmathsetcount{\tkz@cntmk}{\tkz@@cnt-1}
-\foreach \nb in {1,...,\tkz@cntmk}{%
-\tkzDrawMark[#1](\tkz@pref\nb)}
+\foreach \nb in {1,...,\tkz@cntmk}{\tkzDrawMark[#1](\tkz@pref\nb)}
\endgroup}
-
%<-------------------------------------------------------------------------–>
% tkzmark
%<-------------------------------------------------------------------------–>
@@ -93,43 +79,39 @@ prefix/.code = {\global\edef\tkz@pref{#1}},
\def\tkz@DrawMark[#1](#2){%
\draw plot[mark style,#1] coordinates {(#2)};
}
-%<-------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
+%<---------------------------------------------------------–>
+%<---------------------------------------------------------–>
\def\tkzDrawMarks{\pgfutil@ifnextchar[{\tkz@DrawMarks}{\tkz@DrawMarks[]}}
\def\tkz@DrawMarks[#1](#2){%
-\foreach \point in {#2}{%
-\draw plot[mark style,#1] coordinates {(\point)}; % StyleMark,
+ \foreach \point in {#2}{%
+ \draw plot[mark style,#1] coordinates {(\point)};% StyleMark,
}}
-
-%<--------------------------------------------------------------------------–>
+%<------------------------------------------------------------–>
% Init pour mark
-%<--------------------------------------------------------------------------–>
-\pgfkeys{%
-setupmk/.cd,
-size/.code = {\global\edef\tkz@sum@mk@size{#1}},
-color/.code = {\global\edef\tkz@sum@mk@color{#1}},
-fill/.code = {\global\edef\tkz@sum@mk@fill{#1}},
-mark/.code = {\global\edef\tkz@sum@mk@mark{#1}}
+%<------------------------------------------------------------–>
+\pgfkeys{/setupmk/.cd,
+ size/.store in = \tkz@sum@mk@size,
+ color/.store in = \tkz@sum@mk@color,
+ fill/.store in = \tkz@sum@mk@fill,
+ mark/.store in = \tkz@sum@mk@mark,
+ mark = \tkz@mk@mark,
+ color = \tkz@mk@color,
+ fill = \tkz@mk@color!50,
+ size = \tkz@mk@size
}
-
\def\tkzSetUpMark{\pgfutil@ifnextchar[{\tkzActivOff\tkz@SetUpMark}{%
\tkzActivOff\tkz@SetUpMark[]}}
\def\tkz@SetUpMark[#1]{%
- \pgfkeys{%
-/setupmk/.cd,
-mark = \tkz@mk@mark,
-color = \tkz@mk@color,
-fill = \tkz@mk@color!50,
-size = \tkz@mk@size}
\pgfqkeys{/setupmk}{#1}
-\tikzset{mark style/.style={inner sep = 0pt,
- mark = \tkz@sum@mk@mark,
- mark size = \tkz@sum@mk@size,
- mark options = {color = \tkz@sum@mk@color,
- fill = \tkz@sum@mk@fill}}}
+\tikzset{mark style/.style={%
+ inner sep = 0pt,
+ mark = \tkz@sum@mk@mark,
+ mark size = \tkz@sum@mk@size,
+ mark options = {color = \tkz@sum@mk@color,
+ fill = \tkz@sum@mk@fill}}}
}%
-
-%<--------------------------------------------------------------------------–>
+\makeatother
+%<--------------------------------------- ------------------–>
\endinput
\ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-points.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-points.tex
new file mode 100644
index 0000000000..39f2c391cc
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-points.tex
@@ -0,0 +1,327 @@
+% tkz-obj-points.tex
+% Copyright 2011 by Alain Matthes
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-obj-points.tex}
+%<--------------------------------------------------------------------------–>
+% init def point
+%<--------------------------------------------------------------------------–>
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% define a new shape for the points
+\pgfdeclareshape{cross}
+{%
+ \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
+ \inheritanchorborder[from=rectangle]
+ \inheritanchor[from=rectangle]{north}
+ \inheritanchor[from=rectangle]{north west}
+ \inheritanchor[from=rectangle]{north east}
+ \inheritanchor[from=rectangle]{center}
+ \inheritanchor[from=rectangle]{west}
+ \inheritanchor[from=rectangle]{east}
+ \inheritanchor[from=rectangle]{mid}
+ \inheritanchor[from=rectangle]{mid west}
+ \inheritanchor[from=rectangle]{mid east}
+ \inheritanchor[from=rectangle]{base}
+ \inheritanchor[from=rectangle]{base west}
+ \inheritanchor[from=rectangle]{base east}
+ \inheritanchor[from=rectangle]{south}
+ \inheritanchor[from=rectangle]{south west}
+ \inheritanchor[from=rectangle]{south east}
+ \foregroundpath{
+% store lower right in xa/ya and upper right in xb/yb
+ \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
+ \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
+ \pgfpathmoveto{\pgfqpoint{0 pt}{\pgf@ya}}
+ \pgfpathlineto{\pgfqpoint{0 pt}{\pgf@yb}}
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{0 pt}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{0 pt}}
+ }
+}
+%<--------------------------------------------------------------------------–>
+% tkzDefPoint
+%<--------------------------------------------------------------------------–>
+
+%<--------------------------------------------------------------------------–>
+% macros complémentaires pour def point
+%<--------------------------------------------------------------------------–>
+\def\tkz@parsecoordinate#1{%
+\tkz@getseparator#1,\@nil
+\iftkz@polar
+ \tkz@getfrompolar#1\@nil
+\else
+ \tkz@getfromcart#1\@nil
+\fi
+}
+\def\tkz@getseparator#1,#2\@nil{%
+\ifx\tkzempty#2\tkzempty%
+ \tkz@polartrue
+\else
+ \tkz@polarfalse
+\fi
+}
+\def\tkz@getfrompolar#1:#2\@nil{%
+\edef\tkz@a{\fpeval{#1}}
+\edef\tkz@r{\fpeval{#2}}
+\xdef\tkz@polarrad{\tkz@r}
+\xdef\tkz@polarangle{\tkz@a}
+}
+\def\tkz@getfromcart#1,#2\@nil{%
+\edef\tkz@x{\fpeval{#1}}
+\edef\tkz@y{\fpeval{#2}}
+\xdef\tkz@absc{\tkz@x}
+\xdef\tkz@ord{\tkz@y}
+}
+%<--------------------------------------------------------------------------–>
+% options pour point definition
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/@tkzpt/.cd,
+ polar/.is if = tkz@pt@polar,
+ polar/.default = true,
+ polar = false
+}
+%<--------------------------------------------------------------------------–>
+% tkz@ptStar
+%<--------------------------------------------------------------------------–>
+\def\tkz@ptStar[#1](#2,#3)#{%
+\pgfkeys{/@tkzpt/.cd, polar = false}
+\pgfqkeys{/@tkzpt}{#1}
+\iftkz@pt@polar%
+ \edef\tkz@x{\fpeval{#3*cosd(#2)}}
+ \edef\tkz@y{\fpeval{#3*sind(#2)}}
+\else
+ \edef\tkz@x{\fpeval{#2}}
+ \edef\tkz@y{\fpeval{#3}}
+\fi
+\edef\tkzpt@xa{\fpeval{(\tkz@x-\tkz@init@xorigine)/\tkz@init@xstep}}
+\edef\tkzpt@ya{\fpeval{(\tkz@y-\tkz@init@yorigine)/\tkz@init@ystep}}
+\tkz@node
+}
+%<--------------------------------------------------------------------------–>
+% la macro defpoint les coordonnées cartésiennes ou polaires sont traitées
+% afin de pouvoir être adaptées avec les unités choisies
+%<--------------------------------------------------------------------------–>
+\def\tkzDefPoint{\pgfutil@ifnextchar[{\tkzActivOff\tkz@DefPoint}{%
+ \tkzActivOff\tkz@DefPoint[]}}
+
+\def\tkz@DefPoint[#1](#2)#{%
+\tkz@parsecoordinate{#2}
+\iftkz@polar
+ \tkz@ptStar[polar](\tkz@polarangle,\tkz@polarrad){tkz@coord@temp}
+\else
+ \tkz@ptStar[](#2){tkz@coord@temp}
+\fi
+\tkz@DefPointEnd[#1]
+}%
+\def\tkz@DefPointEnd[#1]#2{\coordinate[#1] (#2) at (tkz@coord@temp);}
+%<--------------------------------------------------------------------------–>
+% tkzDefPoints
+%<--------------------------------------------------------------------------–>
+\def\tkzDefPoints{\pgfutil@ifnextchar[{\tkz@DefPoints}{\tkz@DefPoints[]}}
+\def\tkz@DefPoints[#1]#2{%
+ \begingroup
+ \def\tkz@parenthesis@for@err{(}%
+ \def\tkz@maybe@parenthesis{#2}%
+ \ifx\tkz@maybe@parenthesis\tkz@parenthesis@for@err
+ \PackageError{tkz-base}{Syntax error use {} instead of ()}{You need to use {} instead of ()}%
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ {\tkz@absorb@bad@arg}%
+ {\foreach \ptx/\pty/\name in {#2}{\tkzDefPoint[#1](\ptx,\pty){\name}}%
+ \endgroup}%
+}
+\def\tkz@absorb@bad@arg#1){\endgroup}
+%<--------------------------------------------------------------------------–>
+\def\tkz@node#1{\path[coordinate](\tkzpt@xa,\tkzpt@ya) coordinate(#1);}
+% \def\tkz@drawnode#1{\path[coordinate](\tkzpt@xa,\tkzpt@ya) coordinate(#1);
+% \tkz@DrawPt{#1}
+% }
+%<--------------------------------------------------------------------------–>
+% tkzSetUpPoint définit la forme d'un point
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/@setuppt/.cd,
+ size/.store in = \tkz@pt@size,
+ color/.store in = \tkz@pt@color,
+ fill/.store in = \tkz@pt@fill,
+ shape/.store in = \tkz@pt@shape,
+ size = \tkz@euc@pointsize,
+ color = \tkz@euc@pointcolor,
+ fill = \tkz@euc@pointcolor,
+ shape = \tkz@euc@pointshape,
+ /@setuppt/.search also = {/tikz},
+ }
+\def\tkzSetUpPoint{\pgfutil@ifnextchar[{\tkzActivOff\tkz@SetUpPoint}{%
+ \tkzActivOff\tkz@SetUpPoint[]}}
+\def\tkz@SetUpPoint[#1]{%
+\pgfqkeys{/@setuppt}{#1}
+% redefine point style with new values
+\tikzset{point style/.style={draw = \tkz@pt@color,
+ inner sep = 0pt,
+ shape = \tkz@pt@shape,
+ minimum size = \tkz@pt@size,
+ fill = \tkz@pt@fill
+ }
+ }
+ }% end setup
+%<--------------------------------------------------------------------------–>
+% Draw Point
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/@drawpoint/.cd,
+ size/.code = {\tikzset{point style/.append style={minimum size = #1}}},
+ size = \tkz@euc@pointsize,
+ /@drawpoint/.search also = {/tikz},
+}
+%<--------------------------------------------------------------------------
+\def\tkzDrawPoint{\pgfutil@ifnextchar[{\tkz@DrawPoint}{\tkz@DrawPoint[]}}
+\def\tkz@DrawPoint[#1](#2){%
+\begingroup
+ \pgfqkeys{/@drawpoint}{#1}
+ \node[point style,/@drawpoint/.cd,#1] at (#2) {};%2016
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawPoints{\pgfutil@ifnextchar[{\tkz@drawpts}{\tkz@drawpts[]}}
+%<--------------------------------------------------------------------------–>
+\def\tkz@drawpts[#1](#2){%
+\begingroup
+ \pgfqkeys{/@drawpoint}{#1}
+ \foreach \point in {#2}{\node[point style,/@drawpoint/.cd,#1] at (\point) {};} %2016
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+%
+%<--------------------------------------------------------------------------–>
+\def\tkzRenamePoint(#1)#2{\coordinate (#2) at (#1);}
+\def\tkz@RenamePointEnd[#1]#2{\coordinate[#1] (#2) at (\tkz@ax,\tkz@ay);}
+\def\tkzGetPoint#1{\coordinate (#1) at (tkzPointResult);}
+\def\tkzGetPoints#1#2{\coordinate (#1) at (tkzFirstPointResult);
+ \coordinate (#2) at (tkzSecondPointResult);}
+\def\tkzGetFirstPoint#1{\coordinate (#1) at (tkzFirstPointResult);}
+\def\tkzGetSecondPoint#1{\coordinate (#1) at (tkzSecondPointResult);}
+\def\tkzDefShiftPointCoord[#1](#2)#3{%
+ \begin{scope}[shift={(#1)}]
+ \coordinate (#3) at (#2);
+ \end{scope}
+ }%
+%<--------------------------------------------------------------------------–>
+% tkzDefShiftPoint
+%<--------------------------------------------------------------------------–>
+\def\tkzDefShiftPoint[#1](#2)#3{%
+ \tkz@@extractxy{#1}
+ \tkz@ax\pgf@x %
+ \tkz@ay\pgf@y %
+\begin{scope}[shift={(\tkz@ax,\tkz@ay)}]
+ \coordinate (#3) at (#2);
+\end{scope}
+}
+%<-------------------------------------------------------------------------–>
+% tkzLabelPoint Affichage des LABELS pour un point
+%<-------------------------------------------------------------------------–>
+\tikzset{label style/.style={\tkz@euc@pointpos,\tkz@euc@labelcolor,
+ font=\normalsize}}
+\def\tkzLabelPoint{\pgfutil@ifnextchar[{\tkz@LabelPoint}{\tkz@LabelPoint[]}}
+\def\tkz@LabelPoint[#1](#2)#3{%
+ \node[label style,#1] at (#2) {#3};}%
+%<--------------------------------------------------------------------------–>
+
+\def\tkzLabelPoints{\pgfutil@ifnextchar[{\tkz@LabelPoints}{%
+ \tkz@LabelPoints[]}}%
+\def\tkz@LabelPoints[#1](#2){%
+ \foreach \point in {#2}{
+ \node[label style,#1] at (\point) {$\point$};}
+}%
+%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
+
+\pgfkeys{/@tkzautolab/.cd,
+ center/.store in = \tkz@center,
+ dist/.store in = \tkz@dist,
+ dist = 0.15,
+ /@tkzautolab/.search also = {/tikz},
+}
+\def\tkzAutoLabelPoints{\pgfutil@ifnextchar[{\tkz@AutoLabelPoints}{%
+ \tkz@AutoLabelPoints[]}}%
+\def\tkz@AutoLabelPoints[#1](#2){%
+\begingroup
+\pgfqkeys{/@tkzautolab}{#1}
+ \foreach \point in {#2}{
+ \path (\tkz@center) -- ($ (\point) + \tkz@dist*($(\point)-(\tkz@center)$) $) node[/@tkzautolab/.cd,#1]{$\point$};}
+\endgroup
+}%
+%<--------------------------------------------------------------------------–>
+% PointShowCoord
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/@tkzprcoord/.cd,
+ xlabel/.store in = \tkz@xlabel,
+ ylabel/.store in = \tkz@ylabel,
+ xstyle/.code = {\tikzset{xcoord style/.append style={#1}}},
+ ystyle/.code = {\tikzset{ycoord style/.append style={#1}}},
+ noxdraw/.is if = tkz@coord@noxdraw,
+ noxdraw/.default = true,
+ noydraw/.is if = tkz@coord@noydraw,
+ noydraw/.default = true,
+ xlabel = {},
+ ylabel = {},
+ xstyle = {},
+ ystyle = {},
+ noxdraw = false,
+ noydraw = false,
+ /@tkzprcoord/.search also = {/tikz},
+}
+\def\tkzPointShowCoord{\pgfutil@ifnextchar[{\tkz@PointShowCoord}{\tkz@PointShowCoord[]}}
+\def\tkz@PointShowCoord[#1](#2){%
+\begingroup
+\pgfqkeys{/@tkzprcoord}{#1}
+% 2019 for showcoord
+ \iftkznodedefined{tkz@xline}{}{%
+ \path (0,0) --(1,0) node(tkz@xline){};
+ \path (0,0) --(0,1) node(tkz@yline){};
+ }
+\iftkz@coord@noxdraw\else\draw[arrow coord style,/@tkzprcoord/.cd,#1] (#2)--(#2 |- tkz@xline);\fi
+\iftkz@coord@noydraw\else\draw[arrow coord style,/@tkzprcoord/.cd,#1] (#2)--(#2 -| tkz@yline);\fi
+\ifx\tkzutil@empty\tkz@xlabel
+\else
+\path (#2)--(#2 |- tkz@xline)
+ node[xcoord style] {\tkz@xlabel};
+\fi
+\ifx\tkzutil@empty\tkz@ylabel
+\else
+ \path (#2)--(#2 -| tkz@yline)
+ node[ycoord style] {\tkz@ylabel};
+\fi
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Coordonnées d'un point
+% result in #2x et #2y #1 est le point et on récupère ses coordonnées
+% usage soit A un point \tkzGetPointCoord(A){V} alors \Vx = xA et \Vy = yA
+% en cm
+% tkzGetPointCoord avec [#1] cm ou bien pt ?? todo
+%<--------------------------------------------------------------------------–>
+\def\tkzGetPointCoord(#1)#2{%
+\begingroup
+ \pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}
+ \pgfmathparse{\pgf@sys@tonumber{\pgf@x}/28.45274}
+ \global\let\tkzresultx\pgfmathresult
+ \global\expandafter\edef\csname #2x\endcsname{\tkzresultx}%
+ \pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}}
+ \pgfmathparse{\pgf@sys@tonumber{\pgf@y}/28.45274}
+ \global\let\tkzresulty\pgfmathresult
+ \global\expandafter\edef\csname #2y\endcsname{\tkzresulty}
+\endgroup
+}
+\def\tkz@@extractxy#1{%
+\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}
+\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}}
+}
+\let\tkzGetPointxy\tkzGetPointCoord
+%<--------------------------------------------------------------------------–>
+\makeatother
+\endinput
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex
new file mode 100644
index 0000000000..d66e9fc895
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex
@@ -0,0 +1,62 @@
+% tkz-obj-rep.tex
+% Copyright 2011 by Alain Matthes
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-obj-rep.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% repère
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/@tkzRep/.cd,
+ line width/.store in = \tkz@Rep@lw,
+ xlabel/.store in = \tkz@Rep@xlabel,
+ ylabel/.store in = \tkz@Rep@ylabel,
+ posxlabel/.store in = \tkz@Rep@posxlabel,
+ posylabel/.store in = \tkz@Rep@posylabel,
+ xnorm/.store in = \tkz@Rep@xnorm,
+ ynorm/.store in = \tkz@Rep@ynorm,
+ color/.store in = \tkz@Rep@color,
+ colorlabel/.store in = \tkz@Rep@colorlabel,
+ line width = \tkz@sur@lw,
+ xlabel = $\vec{\imath}$,
+ ylabel = $\vec{\jmath}$,
+ posxlabel = \tkz@sur@posxlabel,
+ posylabel = \tkz@sur@posylabel,
+ xnorm = 1,
+ ynorm = 1,
+ color = \tkz@sur@color,% remove ?
+ colorlabel = \tkz@sur@colorlabel,
+ /@tkzRep/.search also={/tikz},
+ }
+%<--------------------------------------------------------------------------–>
+\def\tkzRep{\pgfutil@ifnextchar[{\tkz@Rep}{%
+ \tkz@Rep[]}}
+\def\tkz@Rep[#1]{%
+\pgfqkeys{/@tkzRep}{#1}
+\begingroup
+ \protected@edef\tkz@temp{%
+ \noexpand\draw [ line width=\tkz@Rep@lw,
+ color=\tkz@Rep@color,
+ rep style]%
+ (0,0) to node[\tkz@Rep@posylabel,
+ color = \tkz@Rep@colorlabel,
+ node contents={\tkz@Rep@ylabel}]}\tkz@temp%
+ {}(0,\tkz@Rep@ynorm);
+ \protected@edef\tkz@temp{%
+ \noexpand \draw [ line width=\tkz@Rep@lw,
+ color=\tkz@Rep@color,
+ rep style]%
+ (0,0) to node[ \tkz@Rep@posxlabel,
+ color = \tkz@Rep@colorlabel,
+ node contents={\tkz@Rep@xlabel}]}\tkz@temp%
+ {}(\tkz@Rep@xnorm,0);
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-BB.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-BB.tex
new file mode 100644
index 0000000000..81b1bd4ed5
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-BB.tex
@@ -0,0 +1,63 @@
+% tkz-tools-BB.tex
+% Copyright 2011 by Alain Matthes
+% This file may be distributed and/or modified
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-obj-BB.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/@tkzClip/.cd,
+space/.store in = {\tkz@CLI@space},
+space = {}}
+
+\def\tkzClip{\pgfutil@ifnextchar[{\tkz@Clip}{\tkz@Clip[]}}
+\def\tkz@Clip[#1]{%
+
+\pgfqkeys{/@tkzClip}{#1}
+\ifx\tkzutil@empty\tkz@CLI@space
+ \clip (\tkz@xa,\tkz@ya) rectangle (\tkz@xb,\tkz@yb);
+ \else
+ \edef\tkz@xxa{\fpeval{\tkz@xa-\tkz@CLI@space}}
+ \edef\tkz@yya{\fpeval{\tkz@ya-\tkz@CLI@space}}
+ \edef\tkz@xxb{\fpeval{\tkz@xb+\tkz@CLI@space}} % correction bug 2020
+ \edef\tkz@yyb{\fpeval{\tkz@yb+\tkz@CLI@space}}
+ \clip (\tkz@xxa,\tkz@yya) rectangle (\tkz@xxb,\tkz@yyb);
+\fi
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzSetBB(#1)(#2){%
+ \pgfresetboundingbox
+ \path coordinate (tkz@SW) at (#1)
+ coordinate (tkz@NE) at (#2);
+ \path[use as bounding box](#1) rectangle (#2);
+ }
+%<--------------------------------------------------------------------------–>
+\def\tkzSaveBB{%
+\path coordinate (tkz@SW) at (current bounding box.north east)
+ coordinate (tkz@NE) at (current bounding box.south west);
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzRestoreBB{%
+ \pgfresetboundingbox
+ \path[use as bounding box] (tkz@SW) rectangle (tkz@NE) ;
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzShowBB{\pgfutil@ifnextchar[{\tkz@ShowBB}{\tkz@ShowBB[]}}
+\def\tkz@ShowBB[#1]{%
+ \draw[#1] (current bounding box.south west) rectangle
+ (current bounding box.north east);
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzClipBB{%
+\clip (current bounding box.south west) rectangle
+ (current bounding box.north east);
+}
+%<--------------------------------------------------------------------------–>
+\tikzset{tkzreverseclip/.style={insert path={%
+ (\tkz@xa,\tkz@ya) rectangle (\tkz@xb,\tkz@yb)}}}
+%todo add options
+%<--------------------------------------------------------------------------–>
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-arith.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-arith.tex
index 01e858d052..296c53fe34 100644
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-arith.tex
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-arith.tex
@@ -1,27 +1,25 @@
+% tkz-tools-arith.tex
% Copyright 2011 by Alain Matthes
-%
% This file may be distributed and/or modified
-%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
-
-
-\def\fileversion{1.161 d}
-\def\filedate{2018/09/19}
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-tools-arith.tex}
% 1.161 test if "isfactor" is already defined
-
+% now with pgf 3.0 gcd isprime isodd iseven are defined
%<--------------------------------------------------------------------------–>
% Objet : tools for arithmetic
%<--------------------------------------------------------------------------–>
% [About integers numbers]
%<--------------------------------------------------------------------------–>
-\ProvidesFile{tkz-tool-arith.tex}[tkz-tool-arith 1.161 d]
-\edef\tkzAtCode{\the\catcode`\@}
-\catcode`\@=11\relax
+\ProvidesFile{tkz-tool-arith.tex}[tkz-tool-arith 3.00 c]
+% \edef\tkzAtCode{\the\catcode`\@}
+% \catcode`\@=11\relax
+\makeatletter
%<--------------------------------------------------------------------------–>
% arithmetic tools
%<--------------------------------------------------------------------------–>
-
\tkzutil@ifundefined{pgfmath@function@gcd}{%
\pgfmathdeclarefunction{gcd}{2}{%
\begingroup%
@@ -51,10 +49,7 @@
}
}{}
%<--------------------------------------------------------------------------->
-
\tkzutil@ifundefined{pgfmath@function@isprime}{%
-\newif\ifpgf@unknown
-\newif\ifpgf@isaprime
\pgfmathdeclarefunction{isprime}{1}{%
\begingroup%
\pgf@unknowntrue
@@ -180,7 +175,6 @@
\tkz@find@next
}%
%<--------------------------------------------------------------------------->
-%<--------------------------------------------------------------------------->
\def\tkzReducFrac#1#2{%
\begingroup
\ifnum#1<0\relax%
@@ -201,14 +195,12 @@
\divide\c@pgfmath@counta by\c@pgfmath@countc%
\divide\c@pgfmath@countb by\c@pgfmath@countc%
\fi
-\global\edef\tkzMathFirstResult{\the\c@pgfmath@counta}
-\global\edef\tkzMathSecondResult{\the\c@pgfmath@countb}
+\xdef\tkzMathFirstResult{\the\c@pgfmath@counta}
+\xdef\tkzMathSecondResult{\the\c@pgfmath@countb}
\endgroup}
%<--------------------------------------------------------------------------->
-%<--------------------------------------------------------------------------->
-%<--------------------------------------------------------------------------->
-
-\catcode`\@=\tkzAtCode\relax
+%\catcode`\@=\tkzAtCode\relax
+\makeatother
\endinput
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex
new file mode 100644
index 0000000000..926ed2347e
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex
@@ -0,0 +1,83 @@
+% tkz-tools-base.tex
+% Copyright 2011 by Alain Matthes
+% This file may be distributed and/or modified
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+% utf8 encoding
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-tools-base.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+\global\let\tkz@tmp@xa\tkz@init@xmin% modif 2016
+\global\let\tkz@tmp@xb\tkz@init@xmax% modif 2016
+\global\let\tkz@tmp@ya\tkz@init@ymin% modif 2016
+\global\let\tkz@tmp@yb\tkz@init@ymax% modif 2016
+%<--------------------------------------------------------------------------–>
+\pgfkeys{
+ /@tkzInit/.cd,
+ xmin/.store in = \tkz@init@xmin,
+ xmax/.store in = \tkz@init@xmax,
+ xstep/.store in = \tkz@init@xstep,
+ ymin/.store in = \tkz@init@ymin,
+ ymax/.store in = \tkz@init@ymax,
+ ystep/.store in = \tkz@init@ystep,
+ NO/.is if = tkz@init@NO,
+ NO/.default = true,
+ xmin = 0,
+ xmax = 10,
+ xstep = 1,
+ ymin = 0,
+ ymax = 10,
+ ystep = 1,
+ NO = false
+ }
+
+\def\tkzInit{\pgfutil@ifnextchar[{\tkz@Init}{\tkz@Init[]}}
+\def\tkz@Init[#1]{%
+ \pgfqkeys{/@tkzInit}{#1}
+ \ifx\tkzfctloaded\undefined
+ \else
+ \tkz@tkzf@fct=0 % only if tkz-fct loaded
+ \fi
+ \xdef\tkz@init@xorigine{0}
+ \xdef\tkz@init@yorigine{0}
+ \edef\@xsgmin{\fpeval{sign(\tkz@init@xmin)}}
+ \edef\@xsgmax{\fpeval{sign(\tkz@init@xmax)}}
+ \edef\@ysgmin{\fpeval{sign(\tkz@init@ymin)}}
+ \edef\@ysgmax{\fpeval{sign(\tkz@init@ymax)}}
+ \let\tkz@tmp@xa\tkz@init@xmin %modif 2016
+ \let\tkz@tmp@xb\tkz@init@xmax %modif 2016
+ \let\tkz@tmp@ya\tkz@init@ymin %modif 2016
+ \let\tkz@tmp@yb\tkz@init@ymax %modif 2016
+ \tkz@init@NOfalse
+ \ifx\@xsgmin\@xsgmax \tkz@init@NOtrue \fi
+ \ifx\@ysgmin\@ysgmax \tkz@init@NOtrue \fi
+ \iftkz@init@NO%
+ \ifx\@xsgmin\@xsgmax
+ \edef\tkz@init@xmax{\fpeval{\tkz@init@xmax-\tkz@init@xmin}}
+ \edef\tkz@init@xorigine{\tkz@init@xmin}
+ \edef\tkz@init@xmin{0}
+ \fi
+ \ifx\@ysgmin\@ysgmax
+ \edef\tkz@init@ymax{\fpeval{\tkz@init@ymax-\tkz@init@ymin}}
+ \edef\tkz@init@yorigine{\tkz@init@ymin}
+ \edef\tkz@init@ymin{0}
+ \fi
+ \fi
+ \edef\tkz@xa{\fpeval{\tkz@init@xmin/\tkz@init@xstep}}
+ \edef\tkz@xb{\fpeval{\tkz@init@xmax/\tkz@init@xstep}}
+ \edef\tkz@ya{\fpeval{\tkz@init@ymin/\tkz@init@ystep}}
+ \edef\tkz@yb{\fpeval{\tkz@init@ymax/\tkz@init@ystep}}
+ \tkz@getdecimal{\tkz@init@xstep} % amélioration nb dec et integer
+ \xdef\tkz@init@xdec{\number\c@pgfmath@countb}
+ \tkz@getdecimal{\tkz@init@ystep}
+ \xdef\tkz@init@ydec{\number\c@pgfmath@countb}
+}%
+\def\tkzAddName{\pgfutil@ifnextchar[{\tkz@AddName}{\tkz@AddName[]}}
+\def\tkz@AddName[#1]#2{%
+\node[above left,#1] at (\pgf@path@lastx,\pgf@path@lasty){#2};
+}%
+%<--------------------------------------------------------------------------–>
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-math.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-math.tex
new file mode 100644
index 0000000000..c6579e0902
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-math.tex
@@ -0,0 +1,117 @@
+% tkz-tools-math.tex
+% Copyright 2011 by Alain Matthes
+% This file may be distributed and/or modified
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-tools-math.tex}
+\makeatletter
+%<-------------------------------------------------------------------------->
+% \tkzpointnormalised normalise un point A-->A' tq ||v(OA')=1||
+% équivalent de \pgfpointnormalised avec fp
+% example
+% \tkzpointnormalised{%
+% \pgfpointdiff{\pgfpointanchor{A}{center}}
+% {\pgfpointanchor{B}{center}}}
+
+% or
+% \pgf@x=1 cm
+% \pgf@y=12 cm
+% \tkzpointnormalised{}
+%<--------------------------------------------------------------------------
+\def\tkzpointnormalised#1{%
+\pgf@process{#1}%
+\edef\tkz@den{\fpeval{sqrt((\pgf@x)^2+(\pgf@y)^2)}}
+\edef\tkz@coordx{\fpeval{\pgf@x/\tkz@den}}
+\edef\tkz@coordx{\fpeval{round(\tkz@coordx,5)}}
+\edef\tkz@coordy{\fpeval{\pgf@y/\tkz@den}}
+\edef\tkz@coordy{\fpeval{round(\tkz@coordy,5)}}
+\pgf@x = \tkz@coordx pt
+\pgf@y = \tkz@coordy pt
+}
+%<-------------------------------------------------------------------------->
+% restaure and save length
+\def\tkz@save@length{%
+\global\let\tkz@temp@length\tkzLengthResult}%
+\def\tkz@restore@length{%
+ \global\let\tkzLengthResult\tkz@temp@length }%
+%<-------------------------------------------------------------------------->
+% \tkzCalcLength Distance entre deux points en pt ou en cm avec xfp
+% \veclen mais avec fp
+% option cm le résultat est en cm sinon en pt
+%<-------------------------------------------------------------------------->
+\pgfkeys{@CalcLength/.cd,
+ cm/.is if = tkzLengthIncm,
+ cm/.default = true}
+
+\def\tkzCalcLength{\pgfutil@ifnextchar[{\tkz@CalcLength}{\tkz@CalcLength[]}}
+\def\tkz@CalcLength[#1](#2,#3){%
+\pgfkeys{@CalcLength/.cd, cm = false}
+\pgfqkeys{/@CalcLength}{#1}%
+\begingroup
+\tkz@@CalcLength(#2,#3){tkzLengthResult}
+\iftkzLengthIncm
+ \pgfmathparse{\tkz@xfpMathLen pt/1cm}
+ \edef\tkz@xfpMathLen{\fpeval{round(\pgfmathresult,5)}}
+ \global\let\tkzLengthResult\tkz@xfpMathLen
+\fi
+\endgroup
+}%
+\def\tkz@@CalcLength(#1,#2)#3{%
+\pgfpointdiff{\pgfpointanchor{#1}{center}}%
+ {\pgfpointanchor{#2}{center}}%
+\edef\tkz@xfpMathLen{\fpeval{sqrt((\pgf@x)^2+(\pgf@y)^2)}}
+\edef\tkz@xfpMathLen{\fpeval{round(\tkz@xfpMathLen,5)}}
+\global\expandafter\edef\csname #3\endcsname{\tkz@xfpMathLen}
+}
+%<-------------------------------------------------------------------------->
+\def\tkzGetLength#1{%
+\global\expandafter\edef\csname #1\endcsname{\tkzLengthResult}}
+%<-------------------------------------------------------------------------->
+% \tkzpttocm passage de pt   cm div par 28.45274
+%<-------------------------------------------------------------------------->
+\def\tkzpttocm(#1)#2{%
+\begingroup
+ \pgfmathparse{#1/1cm}
+ \edef\tkz@mathresult{\fpeval{round(\pgfmathresult,5)}}
+ \global\let\tkz@mathresult\tkz@mathresult
+ \global\expandafter\edef\csname #2\endcsname{\tkz@mathresult}%
+\endgroup
+}%
+%<-------------------------------------------------------------------------->
+% \tkzcmtopt passage de cm   pt mul par 28.45274
+%<--------------------------------------------------------------------------
+\def\tkzcmtopt(#1)#2{%
+\begingroup
+ \pgfmathparse{#1/1pt}
+ \edef\tkz@mathresult{\fpeval{round(\pgfmathresult,5)}}
+ \global\let\tkz@mathresult\tkz@mathresult
+ \global\expandafter\edef\csname #2\endcsname{\tkz@mathresult}%
+\endgroup
+}%
+%<-------------------------------------------------------------------------->
+% Slope
+%<-------------------------------------------------------------------------->
+\def\tkzFindSlope{\tkz@FindSlope}
+\def\tkz@FindSlope(#1,#2)#3{%
+\begingroup
+ \tkzpointnormalised{\pgfpointdiff{\pgfpointanchor{#1}{center}}%
+ {\pgfpointanchor{#2}{center}}}
+ \edef\tkz@Slope{\fpeval{\pgfmath@tonumber{\pgf@y}/\pgfmath@tonumber{\pgf@x}}}
+ \edef\tkz@Slope{\fpeval{round(\tkz@Slope,5)}}
+ \global\expandafter\edef\csname #3\endcsname{\tkz@Slope}%
+\endgroup
+}
+% Schrodinger's cat idea 03/01/20
+\tikzset{xfp/.code={%
+\pgfmathdeclarefunction*{veclen}{2}{%
+\begingroup%
+ \pgfmath@x##1pt\relax%
+ \pgfmath@y##2pt\relax%
+ \edef\tkz@xfpMathLen{\fpeval{sqrt((\pgf@x)^2+(\pgf@y)^2)}}
+ \pgfmath@returnone\tkz@xfpMathLen pt%
+\endgroup%
+}}}
+ \makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex
new file mode 100644
index 0000000000..e47c7d8a5c
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex
@@ -0,0 +1,82 @@
+% tkz-tools-misc.tex
+% Copyright 2011 by Alain Matthes
+% This file may be distributed and/or modified
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-tools-misc.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% hline pb avec line
+%<--------------------------------------------------------------------------–>
+\def\tkzHLine{\pgfutil@ifnextchar[{\tkz@HLine}{\tkz@HLine[]}}
+\def\tkz@HLine[#1]#2{%
+\begingroup
+ \edef\tkz@ptya{\fpeval{(#2-\tkz@init@yorigine)/\tkz@init@ystep}}
+ \draw[#1] (\tkz@xa,\tkz@ptya)--(\tkz@xb,\tkz@ptya);%
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% hlines pb avec line
+%<--------------------------------------------------------------------------–>
+\def\tkzHLines{\pgfutil@ifnextchar[{\tkz@HLines}{\tkz@HLines[]}}
+\def\tkz@HLines[#1]#2{%
+ \begingroup
+ \foreach \tkz@vy in {#2}{%
+ \edef\my@tkz@vy{\fpeval{(\tkz@vy)}}
+ \tkz@HLine[#1]{\my@tkz@vy}}
+\endgroup
+}
+%<--------------------------------------------------------------------------->
+% vline
+%<--------------------------------------------------------------------------->
+\def\tkzVLine{\pgfutil@ifnextchar[{\tkz@VLine}{\tkz@VLine[]}}
+\def\tkz@VLine[#1]#2{%
+\begingroup
+ \edef\tkz@ptxa{\fpeval{(#2-\tkz@init@xorigine)/\tkz@init@xstep}}
+ \draw[#1](\tkz@ptxa,\tkz@ya)--(\tkz@ptxa,\tkz@yb);
+\endgroup
+}
+%<--------------------------------------------------------------------------->
+% vlines
+%<--------------------------------------------------------------------------->
+\def\tkzVLines{\pgfutil@ifnextchar[{\tkz@VLines}{\tkz@VLines[]}}
+\def\tkz@VLines[#1]#2{%
+\begingroup
+ \foreach \tkz@vx in {#2}{%
+ \edef\my@tkz@vx{\fpeval{(\tkz@vx)}}
+ \tkz@VLine[#1]{\my@tkz@vx}}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzHTick{\pgfutil@ifnextchar[{\tkz@HTick}{\tkz@HTick[]}}
+\def\tkz@HTick[#1]#2{%
+ \begingroup
+ \edef\tkz@ptxa{\fpeval{(round(#2,5)-\tkz@init@xorigine)/\tkz@init@xstep}}
+ \draw plot[mark style,#1] coordinates {(\tkz@ptxa,0)};
+\endgroup
+}
+\def\tkzHTicks{\pgfutil@ifnextchar[{\tkz@HTicks}{\tkz@HTicks[]}}
+\def\tkz@HTicks[#1]#2{%
+ \begingroup
+ \foreach \tkz@hy in {#2} {\tkz@HTick[#1]{\tkz@hy}}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzVTick{\pgfutil@ifnextchar[{\tkz@VTick}{\tkz@VTick[]}}
+\def\tkz@VTick[#1]#2{%
+ \begingroup
+ \edef\tkz@ptya{\fpeval{(round(#2,5)-\tkz@init@yorigine)/\tkz@init@ystep}}
+ \draw plot[mark style,#1] coordinates {(0,\tkz@ptya)};
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzVTicks{\pgfutil@ifnextchar[{\tkz@VTicks}{\tkz@VTicks[]}}
+\def\tkz@VTicks[#1]#2{%
+\begingroup
+ \foreach \tkz@hy in {#2} {\tkz@VTick[#1]{\tkz@hy}}
+\endgroup
+}
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-modules.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-modules.tex
new file mode 100644
index 0000000000..e0e69f639f
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-modules.tex
@@ -0,0 +1,60 @@
+% tkz-tools-modules
+% Copyright 2011 by Alain Matthes
+% This file may be distributed and/or modified
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-tools-utilities.tex}
+\makeatletter
+%<------------- % chargement des modules ---------------------------------->
+\def\tkz@obj@all{angles,arcs,compass,defcircles,deflines,defpoints,defpointsby,defpointsrnd,defpointswith,polygons,protractor,sectors,show,triangles}%
+\def\tkz@obj@txt{all}
+\def\usetkzobj{\pgfutil@ifnextchar[{\use@usetkzobj}{\use@@usetkzobj}}%}
+\def\use@usetkzobj[#1]{\use@@usetkzobj{#1}}
+\def\use@@usetkzobj#1{%
+ \def\tkz@list{#1}
+ \ifx\tkz@obj@txt\tkz@list \edef\tkz@list{\tkz@obj@all}%
+ \else
+ \edef\tkz@list{#1}%
+ \fi
+ \pgfutil@for\tkz@temp:=\tkz@list\do{%
+ \expandafter\ifx\csname tkz@library@\tkz@temp @loaded\endcsname\relax%
+ \expandafter\global\expandafter\let\csname tkz@library@\tkz@temp @loaded\endcsname=\pgfutil@empty%
+ \expandafter\edef\csname tkz@obj@#1@atcode\endcsname{\the\catcode`\@}
+ \expandafter\edef\csname tkz@obj@#1@barcode\endcsname{\the\catcode`\|}
+ \catcode`\@=11
+ \catcode`\|=12
+ \input tkz-obj-\tkz@temp.tex
+ \catcode`\@=\csname tkz@obj@#1@atcode\endcsname
+ \catcode`\|=\csname tkz@obj@#1@barcode\endcsname
+ \fi%
+ }%
+}%
+%<---------------------------------------------------------–>
+\def\tkz@tool@all{math-xfp}
+\def\tkz@tool@txt{all}
+
+\def\usetkztool{\pgfutil@ifnextchar[{\use@usetkztool}{\use@@usetkztool}}%}
+\def\use@usetkztool[#1]{\use@@usetkztool{#1}}
+\def\use@@usetkztool#1{%
+ \def\tkz@list{#1}
+ \ifx\tkz@tool@txt\tkz@list \edef\tkz@list{\tkz@tool@all}%
+ \else
+ \edef\tkz@list{#1}%
+ \fi
+ \pgfutil@for\tkz@temp:=\tkz@list\do{%
+ \expandafter\ifx\csname tkz@library@\tkz@temp @loaded\endcsname\relax%
+ \expandafter\global\expandafter\let\csname tkz@library@\tkz@temp @loaded\endcsname=\pgfutil@empty%
+ \expandafter\edef\csname tkz@tool@#1@atcode\endcsname{\the\catcode`\@}
+ \expandafter\edef\csname tkz@tool@#1@barcode\endcsname{\the\catcode`\|}
+ \catcode`\@=11
+ \catcode`\|=12
+ \input tkz-tools-\tkz@temp.tex
+ \catcode`\@=\csname tkz@tool@#1@atcode\endcsname
+ \catcode`\|=\csname tkz@tool@#1@barcode\endcsname
+ \fi%
+ }%
+}%
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex
new file mode 100644
index 0000000000..72aa8e8f7c
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex
@@ -0,0 +1,79 @@
+% tkz-tool-print.tex
+% Copyright 2011 by Alain Matthes
+% This file may be distributed and/or modified
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-tools-print.tex}
+\makeatletter
+%<------------- tkzPrintFrac ---------------------------------->
+\def\tkzPrintFrac#1#2{%
+\begingroup
+\tkzReducFrac{#1}{#2}
+\xdef\tkzprintfrac{$ \frac{\tkzMathFirstResult}{\tkzMathSecondResult}$}%
+ \ifnum\tkzMathFirstResult=0%
+ \xdef\tkzprintfrac{$0$}%
+ \else
+ \ifnum\tkzMathSecondResult=1 %
+ \ifnum\tkzMathFirstResult=1 %
+ \xdef\tkzprintfrac{$1$}%
+ \else
+ \ifnum\tkzMathFirstResult=-1%
+ \xdef\tkzprintfrac{$-1$}%
+ \else
+ \xdef\tkzprintfrac{$\tkzMathFirstResult$}%
+ \fi\fi
+ \else
+ \ifnum\tkzMathFirstResult=1 %
+ \xdef\tkzprintfrac{$\tkzmathstyle\frac{1}{\tkzMathSecondResult}$}%
+ \else
+ \ifnum\tkzMathFirstResult=-1 %
+ \xdef\tkzprintfrac{$\tkzmathstyle\frac{-1}{\tkzMathSecondResult}$}%
+ \else
+ \xdef\tkzprintfrac{$\tkzmathstyle\frac{\tkzMathFirstResult}{%
+ \tkzMathSecondResult}$}%
+ \fi\fi\fi\fi
+\endgroup}
+%<------------- tkzPrintFracWithPi ---------------------------------->
+\def\tkzPrintFracWithPi#1#2{%
+\begingroup
+\tkzReducFrac{#1}{#2}
+\xdef\tkzprintfrac{%
+ $\tkzmathstyle\frac{\tkzMathFirstResult\pi}{\tkzMathSecondResult}$}%
+\ifnum\tkzMathFirstResult=0%
+ \xdef\tkzprintfrac{$0$}%
+\else
+ \ifnum\tkzMathSecondResult=1 %
+ \ifnum\tkzMathFirstResult=1 %
+ \xdef\tkzprintfrac{$\pi$}%
+ \else
+ \ifnum\tkzMathFirstResult=-1%
+ \xdef\tkzprintfrac{$-\pi$}%
+ \else
+ \xdef\tkzprintfrac{$\tkzMathFirstResult\pi$}%
+ \fi
+ \fi
+ \else
+ \ifnum\tkzMathFirstResult=1 %
+ \xdef\tkzprintfrac{%
+ $\tkzmathstyle\frac{\pi}{\tkzMathSecondResult}$
+ }%
+ \else
+ \ifnum\tkzMathFirstResult=-1 %
+ \xdef\tkzprintfrac{$\tkzmathstyle\frac{-\pi}{%
+ \tkzMathSecondResult}$}%
+ \else
+ \xdef\tkzprintfrac{$\tkzmathstyle\frac{%
+ \tkzMathFirstResult\pi}{%
+ \tkzMathSecondResult}$
+ }%
+ \fi
+ \fi
+ \fi
+\fi
+\endgroup
+}%
+
+\makeatother
+\endinput
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex
new file mode 100644
index 0000000000..c676da2402
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex
@@ -0,0 +1,82 @@
+% tkz-tools-text.tex
+% Copyright 2011 by Alain Matthes
+% This file may be distributed and/or modified
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-tools-text.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+% tkzText
+%<--------------------------------------------------------------------------–>
+\def\tkz@parsenode#1{%
+\tkz@getvirg#1,\@nil
+\iftkz@node
+\else
+ \tkz@getfromcart#1\@nil
+\fi
+}
+\def\tkz@getvirg#1,#2\@nil{%
+\ifx\tkzempty#2\tkzempty%
+ \tkz@nodetrue
+\else
+ \tkz@nodefalse
+\fi
+}
+\def\tkzText{\pgfutil@ifnextchar[{\tkz@Text}{\tkz@Text[]}}
+\def\tkz@Text[#1](#2)#3{%
+ \begingroup
+ \tkz@parsenode{#2}
+ \iftkz@node
+ \node[#1] at (#2){#3};
+ \else
+ \edef\tkzpt@xa{\fpeval{(\tkz@absc-\tkz@init@xorigine)/\tkz@init@xstep}}
+ \edef\tkzpt@ya{\fpeval{(\tkz@ord-\tkz@init@yorigine)/\tkz@init@ystep}}
+ \node[#1] at (\tkzpt@xa,\tkzpt@ya){#3};%
+ \fi
+\endgroup
+}%
+% %<--------------------------------------------------------------------------–>
+% % légende
+% %<--------------------------------------------------------------------------–>
+\pgfkeys{/tkzlegend/.cd,
+ line/.is if = tkz@legend@line,
+ line/.default = true,
+ line = false,
+ /tkzlegend/.search also = {/tikz},
+}
+\def\tkzLegend{\pgfutil@ifnextchar[{\tkz@Legend}{\tkz@Legend[]}}
+\def\tkz@Legend[#1](#2,#3)#4{%
+\pgfqkeys{/tkzlegend}{#1}
+\begingroup
+ \c@pgfmath@counta=0 %
+ \edef\tkzpt@xa{\fpeval{(#2-\tkz@init@xorigine)/\tkz@init@xstep}}
+ \edef\tkzpt@ya{\fpeval{(#3-\tkz@init@yorigine)/\tkz@init@ystep}}
+ \node[/tkzlegend/.cd,#1] at (\tkzpt@xa,\tkzpt@ya) {%
+\begin{tikzpicture}
+ \foreach \motif/\size/\col/\mtext in {#4}{%
+ \iftkz@legend@line
+ \draw[color = \col,
+ line width = \size,
+ style = \motif,
+ text = \tkz@mainlinecolor]%
+ (0cm ,\the\c@pgfmath@counta ex)--%
+ (\tkz@legend@line@len,\the\c@pgfmath@counta ex)
+ \else
+ \draw plot[mark size = \size,%
+ mark = \motif,%
+ mark options = {color=\col}]%
+ coordinates{(0 ex,\the\c@pgfmath@counta ex)}%
+ \fi
+ node[right=1ex] {\mtext};
+ \global\advance\c@pgfmath@counta by 3 %
+ }%
+
+\end{tikzpicture}%
+};%
+\endgroup
+}
+
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex
new file mode 100644
index 0000000000..cba0a88f80
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex
@@ -0,0 +1,182 @@
+% tkz-tools-utilities
+% Copyright 2011 by Alain Matthes
+% This file may be distributed and/or modified
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-tools-utilities.tex}
+\makeatletter
+% for testing results
+\def\extractxy#1{%
+\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}
+\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}}
+\typeout{#1 \the\pgf@x,\the\pgf@y}
+}
+
+%<-------------- some tools ------------------------------------------------->
+\def\tkzutil@empty{}
+\def\tkzutil@firstofone#1{#1}
+\def\tkzutil@firstoftwo#1#2{#1}
+\def\tkzutil@secondoftwo#1#2{#2}
+%<--------------------------------------------------------------------------–>
+\long\def\tkzutil@ifundefined#1{%
+ \expandafter\ifx\csname#1\endcsname\relax
+ \expandafter\tkzutil@firstoftwo
+ \else
+ \expandafter\tkzutil@secondoftwo
+ \fi}
+%<--------------------------------------------------------------------------–>
+\long\def\iftkznodedefined#1#2#3{%
+ \tkzutil@ifundefined{pgf@sh@ns@#1}{#3}{#2}%
+}
+%<--------------------------------------------------------------------------–>
+\gdef\tkzActivOff{%
+ \edef\tkzTwoPtCode{\the\catcode`\:}
+ \edef\tkzPtExCode{\the\catcode`\!}
+ \edef\tkzPtVirCode{\the\catcode`\;}
+ \catcode`\:=12 \catcode`\!=12 \catcode`\;=12
+ }%
+\gdef\tkzActivOn{%
+ \catcode`\:=\tkzTwoPtCode\relax
+ \catcode`\!=\tkzPtExCode\relax
+ \catcode`\;=\tkzPtVirCode\relax
+}%
+%<------ Initialisation of the colors with tkzSetUpColors ----------------->
+% Première macro SetUpColors %%%%%%%%%%%%%%%%%%%%%
+%Possible
+\pgfkeys{/setupcolor/.is family}
+\def\setupcolorkeys#1{%
+ \pgfkeys{/setupcolor,#1}}
+\setupcolorkeys{
+ background/.estore in = \setupcolor@background,
+ text/.estore in = \setupcolor@text,
+ @initial/.style = {background=white,text=black},
+ @apply/.code = {\pagecolor{\setupcolor@background}%
+ \color{\setupcolor@text}%
+ },
+}
+\def\tkzSetUpColors{\pgfutil@ifnextchar[{\tkz@SetUpColors}{\tkz@SetUpColors[]}}
+\def\tkz@SetUpColors[#1]{\setupcolorkeys{@initial,#1,@apply}}
+
+%<------ Initialisation of all colors ----------------->
+\pgfkeys{/tkzsupallcol/.cd,
+ background/.store in = \tkz@suac@bkc,
+ text/.store in = \tkz@suac@txt,
+ background = \tkz@backgroundcolor,% see tkz-base.cfg
+ text = \tkz@textcolor% idem
+ }
+\def\tkzSetUpAllColors{\pgfutil@ifnextchar[{\tkz@SetUpAllColors}{%
+ \tkz@SetUpAllColors[]}}
+\def\tkz@SetUpAllColors[#1]{%
+ \pgfqkeys{/tkzsupallcol}{#1} % now we redine the based colors
+ \def\tkz@fillcolor{\tkz@suac@bkc}
+ \def\tkz@mainlinecolor{\tkz@suac@txt}
+ \def\tkz@textcolor{\tkz@suac@txt}
+ \def\tkz@otherlinecolor{\tkz@suac@txt!50}
+ \def\tkz@sua@color{\tkz@suac@txt}
+ \tkzSetUpAxis[color=\tkz@suac@txt]
+ \tkzSetUpGrid[color=\tkz@suac@txt]
+ \pagecolor{\tkz@suac@bkc}
+ \color{\tkz@suac@txt}
+}
+%<--------------------------------------------------------------------------–>
+% Pour savoir le nombre de décimales d'un nombre
+% le nombre dans #1 et le résultat dans \c@pgfmath@countb
+%<--------------------------------------------------------------------------–>
+\newcommand\tkz@getdecimal[1]{\expandafter\@getdecimal#1.\@nil}
+\def\@getdecimal#1.#2\@nil{%
+ \ifx\empty#2\empty
+ % Si #2 est vide, c'est qu'il n'y avait pas de point
+ % dans la chaîne initiale
+ \c@pgfmath@countb0 %
+ \gdef\tkz@decpart{}%
+ \else
+ % sinon c'est la chaîne qui suit le point décimal...
+ \CountToken{#2}%
+ % ... y compris le point en trop ajouté par \tkz@getdecimal :-)
+ \advance\c@pgfmath@countb by-1 %
+ \@@getdecimal#2\@nil
+ \fi
+}
+\def\@@getdecimal#1.\@nil{\gdef\tkz@decpart{#1}}
+%<---------------------------------------------------------–>
+% code from JCC modifi
+\newcommand\CountToken[1]{%
+ \c@pgfmath@countb0 %
+ \expandafter\C@untToken#1\@nil
+%modifi ajout du expandafter
+}
+\newcommand\C@untToken{%
+ \afterassignment\C@untT@ken\let\CurrT@ken=
+}
+\newcommand\C@untT@ken{%
+ \ifx\CurrT@ken\@nil \else
+ \advance\c@pgfmath@countb by1 %
+ \expandafter\C@untToken
+ \fi
+}
+% end code from JCC
+%<---------------------------------------------------------–>
+% Tools
+%<---------------------------------------------------------–>
+%<–––––––– code from TeX in Practice ––––––––>
+\def\SubStringConditional #1#2{%
+ TT\fi
+ \edef\@MainString{#1}%
+ \edef\@SubStringConditionalTemp{{#1}{#2}}%
+ \expandafter\@SubStringConditional\@SubStringConditionalTemp
+}
+\def\@SubStringConditional #1#2{%
+ \def\@TestSubS ##1#2##2\\{%
+ \def\@TestTemp{##1}%
+ }%
+ \@TestSubS #1#2\\
+ \ifx\@MainString\@TestTemp
+ \tkz@TestSubStringfalse
+ \else
+ \tkz@TestSubStringtrue
+ \fi
+ \iftkz@TestSubString
+}
+\def\RecursionMacroEnd #1#2#3{%
+ #1\relax
+ \def\@RecursionMacroEndNext{#2}%
+ \else
+ \def\@RecursionMacroEndNext{#3}%
+ \fi
+ \@RecursionMacroEndNext
+}
+\def\ReplaceSubStrings #1#2#3#4{%
+ \def\@ReplaceResult{#1}%
+ \edef\@ReplaceMain{#2}%
+ \edef\@ReplaceSub{#3}%
+ \edef\@ReplaceSubRep{#4}%
+ \@ReplaceSubStrings
+}
+\def\@ReplaceSubStrings{%
+ \RecursionMacroEnd
+ {\if\SubStringConditional{\@ReplaceMain}{\@ReplaceSub}}%
+ {\@ReplaceSubStringsDo}{\expandafter\edef\@ReplaceResult{\@ReplaceMain}}%
+}
+\def\@ReplaceSubStringsDoX{%
+ \def\@ReplaceSubStringsDoA ##1%
+}%
+\def\@ReplaceSubStringsDo{%
+ \expandafter\@ReplaceSubStringsDoX \@ReplaceSub
+ ##2\@EndReplaceSubStrings{%
+ \edef\@ReplaceMain{##1\@ReplaceSubRep ##2}%
+ }%
+ \expandafter\@ReplaceSubStringsDoA\@ReplaceMain
+ \@EndReplaceSubStrings
+ \@ReplaceSubStrings
+}
+%<---------------------------------------------------------–>
+\def\DisabledNumprint{%
+ \let\tkz@numprint\numprint
+ \let\numprint\relax
+ }
+\def\EnabledNumprint{\let\numprint\tkz@numprint}
+%<---------------------------------------------------------–>
+\makeatother
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-base.cfg b/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-base.cfg
deleted file mode 100644
index 93df5aab27..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-base.cfg
+++ /dev/null
@@ -1,131 +0,0 @@
-% Copyright 2011 by Alain Matthes
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-
-% original tkz-base.cfg
-%
-% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
-% updated. Instead, put your changes in the entire copy of tkz-base.cfg
-% and save the file in a directory part of your TEXINPUTS environment
-% variable.
-
-\def\fileversion{1.16 d}
-\def\filedate{2018/09/19}
-\makeatletter
-%<--------- axes cartesian system ---------------------------------------–>
-\global\edef\tkz@init@color{\tkz@textcolor}
-\global\def\tkz@init@lw{0.4 pt}
-\global\def\tkz@init@tickwd{0.8 pt}
-\global\def\tkz@init@ticka{2 pt}
-\global\def\tkz@init@tickb{2 pt}
-\global\def\tkz@init@xlabel{$x$}
-\global\def\tkz@init@ylabel{$y$}
-\global\def\tkz@init@tickb{2 pt}
-\global\def\tkz@init@rightspace{.5}
-\global\def\tkz@init@leftspace{0}
-\global\def\tkz@init@upspace{.5}
-\global\def\tkz@init@downspace{0}
-\global\let\tkzmathstyle\displaystyle
-\global\def\tkz@legend@line@len{1cm}
-%<------------------------------ styles ---------------------------------–>
-\tikzset{xlabel style/.style={below=3 pt,
- inner sep = 1pt,
- outer sep = 0pt}}
-\tikzset{xaxe style/.style ={>=latex,->}}
-\tikzset{ylabel style/.style={left = 3 pt,
- inner sep = 1pt,
- outer sep = 0pt}}
-\tikzset{yaxe style/.style ={>=latex,->}}
-%<-------------------------- rep ---------------------------------------–>
-\global\edef\tkz@sur@color{\tkz@mainlinecolor}
-\global\edef\tkz@sur@colorlabel{\tkz@mainlinecolor}
-\global\def\tkz@sur@lw{0.8 pt}
-\global\def\tkz@sur@posxlabel{below=2pt}
-\global\def\tkz@sur@posylabel{left=2pt}
-\tikzset{rep style/.style={->,>=latex}}
-%<-------------------------- grid ---------------------------------------–>
-\global\edef\tkz@grid@color{gray}
-\global\def\tkz@grid@lw{0.4 pt}
-\global\def\tkzCoeffSubColor{50}
-\global\def\tkzCoeffSubLw{0.8}
-\global\def\tkz@grid@xstep{0.2}
-\global\def\tkz@grid@ystep{0.2}
-%<-------------------------- line ---------------------------------------–>
-\global\edef\tkz@euc@linecolor{\tkz@mainlinecolor}
-\global\def\tkz@euc@linewidth{0.6pt}
-\global\def\tkz@euc@linestyle{solid}
-\global\def\tkz@euc@lineleft{.2}
-\global\def\tkz@euc@lineright{.2}
-\tikzset{line style/.style={%
- line width = \tkz@euc@linewidth,
- color = \tkz@euc@linecolor,
- style = \tkz@euc@linestyle,
- add = {\tkz@euc@lineleft} and {\tkz@euc@lineright}}
- }
-%<-------------------------- points -----------------------------------–>
-\global\edef\tkz@euc@pointshape{circle}
-\global\edef\tkz@euc@pointcolor{\tkz@mainlinecolor}
-\global\edef\tkz@euc@labelcolor{\tkz@mainlinecolor}
-\global\def\tkz@euc@pointsize{6}
-\global\def\tkz@euc@pointpos{below right}
-\global\edef\tkz@euc@segmentcolor{\tkz@mainlinecolor}
-\global\edef\tkz@euc@circlecolor{\tkz@mainlinecolor}
-\tikzset{point style/.style={draw = \tkz@euc@pointcolor,
- inner sep = 0pt,
- shape = \tkz@euc@pointshape,
- minimum size = \tkz@euc@pointsize*\pgflinewidth,
- fill = \tkz@euc@pointcolor!50}}
-%<------------------------- compass -----------------------------------–>
-\global\edef\tkz@euc@compasscolor{\tkz@otherlinecolor}
-\global\def\tkz@euc@compasswidth{0.4pt}
-\global\def\tkz@euc@compassstyle{solid}
-\tikzset{compass style/.style={color = \tkz@euc@compasscolor,
- line width = \tkz@euc@compasswidth,
- style = \tkz@euc@compassstyle}}
-%<---------------------------- mark -----------------------------------–>
-\global\edef\tkz@mk@color{\tkz@mainlinecolor}
-\global\edef\tkz@mk@mark{*}
-\global\edef\tkz@mk@size{3pt}
-\global\edef\tkz@mk@fill{\tkz@otherlinecolor}
-\tikzset{mark style/.style={mark=\tkz@mk@mark,mark size=\tkz@mk@size,mark options={color=\tkz@mk@color,fill=\tkz@mk@fill}}}
-%<---------------------- show coord -----------------------------------–>
-\tikzset{arrow coord style/.style={dashed,
- \tkz@euc@linecolor,
- >=latex',
- ->}}
-\tikzset{xcoord style/.style={\tkz@euc@labelcolor,
- font=\normalsize,text height=1ex,
- inner sep = 0pt,
- outer sep = 0pt,
- fill=\tkz@fillcolor,
- below=3pt}}
-\tikzset{ycoord style/.style={\tkz@euc@labelcolor,
- font=\normalsize,text height=1ex,
- inner sep = 0pt,
- outer sep = 0pt,
- fill=\tkz@fillcolor,
- left=3pt}}
-%<--------------------------- vector --------------------------------------–>
-\tikzset{vector style/.style={>=latex,->}}
-
-%<------------------------- Cartesian system -----------------------------–>
-% Default
-% Geometry Euclidean with unity for x and y = 1cm ---> step=1
-% 0 ≤ x ≤ 10
-% 0 ≤ y ≤ 10
-\xdef\tkz@init@xorigine{0}
-\xdef\tkz@init@yorigine{0}
-\xdef\tkz@init@xstep{1}
-\xdef\tkz@init@ystep{1}
-\xdef\tkz@init@xmin{0}
-\xdef\tkz@init@ymin{0}
-\xdef\tkz@init@xmax{10}
-\xdef\tkz@init@ymax{10}
-\xdef\tkz@init@xdec{1}
-\xdef\tkz@init@ydec{1}
-%<--------------------------------------------------------------------------–>
-\makeatother
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-base.sty b/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-base.sty
deleted file mode 100644
index 217b9a127b..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-base.sty
+++ /dev/null
@@ -1,197 +0,0 @@
-% Copyright 2011 by Alain Matthes
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-% This work consists of the main source file interfaces.dtx
-% and the derived files
-
-% tkz-base.sty % this file
-% tkz-base.cfg
-% tkz-obj-marks.tex
-% tkz-obj-points.tex
-% tkz-obj-segments.tex
-% tkz-tools-arith.tex
-% tkz-tools-base.tex
-% tkz-tools-math.tex
-% tkz-tools-misc.tex
-% tkz-tools-obsolete.tex
-% tkz-tools-utilities.tex
-%<--------------------------------------------------------------------------–>
-% Objet : Outils pour la création de graphiques géométriques
-%<--------------------------------------------------------------------------–>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tkz-base}[2018/09/19 1.16 d tkz-base]
-\ifx\e@alloc\@undefined
- \RequirePackage{etex}
-\fi
-\RequirePackage{tikz}
-\usetikzlibrary{calc,%
- arrows,%
- plotmarks,%
- positioning,%
- shapes.misc,%
- decorations,%
- decorations.markings,%
- decorations.pathreplacing,
- patterns}
-% Pour les les labels sur les axes
-\@ifpackageloaded{numprint}{}
-{\RequirePackage[autolanguage]{numprint}} %
-\RequirePackage{fp}
-% pas de messages de la part de fp !
-\FPmessagesfalse%
-\newdimen\tkzRadius
-\newdimen\tkzLength
-\newdimen\tkz@radi
-\newdimen\tkz@ax
-\newdimen\tkz@ay
-\newdimen\tkz@bx
-\newdimen\tkz@by
-\newdimen\tkz@cx
-\newdimen\tkz@cy
-\newdimen\tkz@dx
-\newdimen\tkz@dy
-\newif\iftkz@Y@noticks
-\newif\iftkz@Y@nograd
-\newif\iftkz@Y@orig
-\newif\iftkz@Y@unit
-\newif\iftkz@X@noticks
-\newif\iftkz@X@nograd
-\newif\iftkz@X@orig
-\newif\iftkz@X@unit
-\global\def\tkz@mathresult{}
-%<--------------------------- colors --------------------------------------->
-\def\tkz@backgroundcolor{white}
-\def\tkz@textcolor{black}
-\global\edef\tkz@fillcolor{\tkz@backgroundcolor}
-\global\edef\tkz@mainlinecolor{\tkz@textcolor}
-\global\edef\tkz@otherlinecolor{\tkz@mainlinecolor!50}
-\tikzset{%
- add/.style args={#1 and #2}{
- to path={%
- ($(\tikztostart)!-#1!(\tikztotarget)$)--($(\tikztotarget)!-#2!(\tikztostart)$)%
- \tikztonodes}}
-}
-%<--------- axes cartesian system ---------------------------------------–>
-\global\edef\tkz@init@color{\tkz@textcolor}
-\global\def\tkz@init@lw{0.4 pt}
-\global\edef\tkz@init@gradsize{\textstyle}
-\global\def\tkz@init@xlabel{$x$}
-\global\def\tkz@init@ylabel{$y$}
-\global\def\tkz@init@tickwd{0.8 pt}
-\global\def\tkz@init@ticka{2 pt}
-\global\def\tkz@init@tickb{2 pt}
-\global\def\tkz@init@rightspace{.5}
-\global\def\tkz@init@leftspace{0}
-\global\def\tkz@init@upspace{.5}
-\global\let\tkzmathstyle\displaystyle
-\global\def\tkz@init@downspace{0}
-%<------------------------------ styles ---------------------------------–>
-\tikzset{xlabel style/.style={below=3 pt,
- inner sep = 1pt,
- outer sep = 0pt}}
-\tikzset{xaxe style/.style ={>=latex,->}}
-\tikzset{ylabel style/.style={left = 3 pt,
- inner sep = 1pt,
- outer sep = 0pt}}
-\tikzset{yaxe style/.style ={>=latex,->}}
-%<-------------------------- rep ---------------------------------------–>
-\global\edef\tkz@sur@color{\tkz@mainlinecolor}
-\global\edef\tkz@sur@colorlabel{\tkz@mainlinecolor}
-\global\def\tkz@sur@lw{0.8 pt}
-\global\def\tkz@sur@posxlabel{below=2pt}
-\global\def\tkz@sur@posylabel{left=2pt}
-\tikzset{rep style/.style={->,>=latex}}
-%<-------------------------- grid ---------------------------------------–>
-\global\edef\tkz@grid@color{gray}
-\global\def\tkz@grid@lw{0.4 pt}
-\global\def\tkzCoeffSubColor{50}
-\global\def\tkzCoeffSubLw{0.8}
-\global\def\tkz@grid@xstep{0.2}
-\global\def\tkz@grid@ystep{0.2}
-%<-------------------------- line ---------------------------------------–>
-\global\edef\tkz@euc@linecolor{\tkz@mainlinecolor}
-\global\def\tkz@euc@linewidth{0.6pt}
-\global\def\tkz@euc@linestyle{solid}
-\global\def\tkz@euc@lineleft{.2}
-\global\def\tkz@euc@lineright{.2}
-\global\def\tkz@legend@line@len{1cm}
-\tikzset{line style/.style={%
- line width = \tkz@euc@linewidth,
- color = \tkz@euc@linecolor,
- style = \tkz@euc@linestyle,
- add = {\tkz@euc@lineleft} and {\tkz@euc@lineright}}
- }
-%<-------------------------- points -----------------------------------–>
-\global\edef\tkz@euc@pointshape{circle}
-\global\edef\tkz@euc@pointcolor{\tkz@mainlinecolor}
-\global\edef\tkz@euc@labelcolor{\tkz@mainlinecolor}
-\global\def\tkz@euc@pointsize{6}
-\global\def\tkz@euc@pointpos{below right}
-\global\edef\tkz@euc@segmentcolor{\tkz@mainlinecolor}
-\global\edef\tkz@euc@circlecolor{\tkz@mainlinecolor}
-\tikzset{point style/.style={draw = \tkz@euc@pointcolor,
- inner sep = 0pt,
- shape = \tkz@euc@pointshape,
- minimum size = \tkz@euc@pointsize*\pgflinewidth,
- fill = \tkz@euc@pointcolor!50}}
-%<------------------------- compass -----------------------------------–>
-\global\edef\tkz@euc@compasscolor{\tkz@otherlinecolor}
-\global\def\tkz@euc@compasswidth{0.4pt}
-\global\def\tkz@euc@compassstyle{solid}
-\tikzset{compass style/.style={color = \tkz@euc@compasscolor,
- line width = \tkz@euc@compasswidth,
- style = \tkz@euc@compassstyle}}
-%<---------------------------- mark -----------------------------------–>
-\global\edef\tkz@mk@color{\tkz@mainlinecolor}
-\global\edef\tkz@mk@mark{*}
-\global\edef\tkz@mk@size{3pt}
-\global\edef\tkz@mk@fill{\tkz@otherlinecolor}
-\tikzset{mark style/.style={mark=\tkz@mk@mark,mark size=\tkz@mk@size,mark options={color=\tkz@mk@color,fill=\tkz@mk@fill}}}
-%<---------------------- show coord -----------------------------------–>
-\tikzset{arrow coord style/.style={dashed,
- \tkz@euc@linecolor,
- >=latex',
- ->}}
-\tikzset{xcoord style/.style={\tkz@euc@labelcolor,
- font=\normalsize,text height=1ex,
- inner sep = 0pt,
- outer sep = 0pt,
- fill=\tkz@fillcolor,
- below=3pt}}
-\tikzset{ycoord style/.style={\tkz@euc@labelcolor,
- font=\normalsize,text height=1ex,
- inner sep = 0pt,
- outer sep = 0pt,
- fill=\tkz@fillcolor,
- left=3pt}}
-%<--------------------------- vector --------------------------------------–>
-\tikzset{vector style/.style={>=latex,->}}
-%<------------------------- Cartesian system -----------------------------–>
-% Default
-% Geometry Euclidean with unity for x and y = 1cm ---> step=1
-% 0 ≤ x ≤ 10
-% 0 ≤ y ≤ 10
-\xdef\tkz@init@xorigine{0}
-\xdef\tkz@init@yorigine{0}
-\xdef\tkz@init@xstep{1}
-\xdef\tkz@init@ystep{1}
-\xdef\tkz@init@xmin{0}
-\xdef\tkz@init@ymin{0}
-\xdef\tkz@init@xmax{10}
-\xdef\tkz@init@ymax{10}
-\xdef\tkz@init@xdec{1}
-\xdef\tkz@init@ydec{1}
-
-\input{tkz-tools-utilities}% obligatoire
-\input{tkz-tools-arith}% used only for axis
-\input{tkz-tools-base}
-\input{tkz-tools-misc}
-\input{tkz-tools-math}
-\input{tkz-obj-points}
-\input{tkz-obj-segments}
-\input{tkz-obj-marks}
-\endinput
-
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-points.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-points.tex
deleted file mode 100644
index 88c99c3a17..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-points.tex
+++ /dev/null
@@ -1,519 +0,0 @@
-% Copyright 2011 by Alain Matthes
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-
-
-\def\fileversion{1.16 d}
-\def\filedate{2018/09/19}
-
-
-%<--------------------------------------------------------------------------–>
-% init def point
-%<--------------------------------------------------------------------------–>
-\newif\iftkz@polar\tkz@polarfalse
-\newif\iftkz@pt@polar
-\newif\iftkz@pt@show
-\newif\iftkz@pt@noname
-
-
-%<--------------------------------------------------------------------------–>
-\pgfdeclareshape{cross}
-{%
- \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
- \inheritanchorborder[from=rectangle]
- \inheritanchor[from=rectangle]{north}
- \inheritanchor[from=rectangle]{north west}
- \inheritanchor[from=rectangle]{north east}
- \inheritanchor[from=rectangle]{center}
- \inheritanchor[from=rectangle]{west}
- \inheritanchor[from=rectangle]{east}
- \inheritanchor[from=rectangle]{mid}
- \inheritanchor[from=rectangle]{mid west}
- \inheritanchor[from=rectangle]{mid east}
- \inheritanchor[from=rectangle]{base}
- \inheritanchor[from=rectangle]{base west}
- \inheritanchor[from=rectangle]{base east}
- \inheritanchor[from=rectangle]{south}
- \inheritanchor[from=rectangle]{south west}
- \inheritanchor[from=rectangle]{south east}
- \foregroundpath{
-% store lower right in xa/ya and upper right in xb/yb
- \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
- \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
- \pgfpathmoveto{\pgfqpoint{0 pt}{\pgf@ya}}
- \pgfpathlineto{\pgfqpoint{0 pt}{\pgf@yb}}
- \pgfpathmoveto{\pgfqpoint{\pgf@xa}{0 pt}}
- \pgfpathlineto{\pgfqpoint{\pgf@xb}{0 pt}}
- }
-}
-%<--------------------------------------------------------------------------–>
-% tkzDefPoint
-%<--------------------------------------------------------------------------–>
-
-%<--------------------------------------------------------------------------–>
-% macros complémentaires pour def point
-%<--------------------------------------------------------------------------–>
-\def\tkz@parsecoordinate#1{%
-\tkz@getseparator#1,\@nil
-\iftkz@polar
- \tkz@getfrompolar#1\@nil
-\else
- \tkz@getfromcart#1\@nil
-\fi
-}
-\def\tkz@getseparator#1,#2\@nil{%
-\ifx\tkzempty#2\tkzempty%
- \tkz@polartrue
-\else
- \tkz@polarfalse
-\fi
-}
-\def\tkz@getfrompolar#1:#2\@nil{
- \FPeval\tkz@a{(#1)}
- \FPeval\tkz@r{(#2)}
-\global\edef\tkz@polarrad{\tkz@r}
-\global\edef\tkz@polarangle{\tkz@a}
-}
-\def\tkz@getfromcart#1,#2\@nil{
- \FPeval\tkz@x{(#1)}
- \FPeval\tkz@y{(#2)}
-\global\edef\tkz@absc{\tkz@x}
-\global\edef\tkz@ord{\tkz@y}
-}
-%<--------------------------------------------------------------------------–>
-% la macro defpoint les coordonnées cartésiennes ou polaires sont traitées
-% afin de pouvoir adaptées avec les unités choisies
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-\def\tkzDefPoint{\pgfutil@ifnextchar[{\tkzActivOff\tkz@DefPoint}{%
- \tkzActivOff\tkz@DefPoint[]}}
-
-\def\tkz@DefPoint[#1](#2)#{%
-\tkz@parsecoordinate{#2}
-\iftkz@polar
- \tkz@ptStar[polar](\tkz@polarangle,\tkz@polarrad){tkz@coord@temp}
- \else
- \tkz@ptStar[](#2){tkz@coord@temp}
- \fi
-\tkz@DefPointEnd[#1]}%
-\def\tkz@DefPointEnd[#1]#2{%
- \coordinate[#1] (#2) at (tkz@coord@temp);
-}
-%<--------------------------------------------------------------------------–>
-% tkzDefPoints
-%<--------------------------------------------------------------------------–>
-\def\tkzDefPoints{\pgfutil@ifnextchar[{\tkz@DefPoints}{%
- \tkz@DefPoints[]}}
-
-\def\tkz@DefPoints[#1]#2{%
-\begingroup
- \foreach \ptx/\pty/\name in {#2}{\tkzDefPoint[#1](\ptx,\pty){\name}}%
-\endgroup
-} %<--------------------------------------------------------------------------–>
-% Init pour Draw
-%<--------------------------------------------------------------------------–>
-\pgfkeys{%
-setuppt/.cd,
-size/.code = {\global\edef\tkz@pt@size{#1}},
-color/.code = {\global\edef\tkz@pt@color{#1}},
-fill/.code = {\global\edef\tkz@pt@fill{#1}},
-shape/.code = {\global\edef\tkz@pt@shape{#1}}
-}
-%<--------------------------------------------------------------------------–>
-% tkzSetUpPoint définit la forme d'un point
-%<--------------------------------------------------------------------------–>
-\def\tkzSetUpPoint{\pgfutil@ifnextchar[{\tkzActivOff\tkz@SetUpPoint}{%
- \tkzActivOff\tkz@SetUpPoint[]}}
-
-\def\tkz@SetUpPoint[#1]{%
-\pgfkeys{%
-/setuppt/.cd,
-size = \tkz@euc@pointsize,
-color = \tkz@euc@pointcolor,
-fill = \tkz@euc@pointcolor!50,
-shape = \tkz@euc@pointshape}
-\pgfqkeys{/setuppt}{#1}
-\tikzset{point style/.style={draw = \tkz@pt@color,
- inner sep = 0pt,
- shape = \tkz@pt@shape,
- minimum size = \tkz@pt@size*\pgflinewidth,
- fill = \tkz@pt@fill}}}%
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% Draw Point
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-%\tikzset{/drawpoint/size/.style={minimum size=#1*\pgflinewidth}}
-\pgfkeys{/drawpoint/.cd,
- size/.code = {\tikzset{point style/.append style={%
- minimum size = #1*\pgflinewidth}}},
- color/.code = {\tikzset{point style/.append style={%
- draw = #1}}},
- shape/.code = {\tikzset{point style/.append style={%
- shape=#1}}},
- fill/.code = {\tikzset{point style/.append style={%
- fill=#1}}} }
-
-\def\tkzDrawPoint{\pgfutil@ifnextchar[{\tkz@DrawPoint}{\tkz@DrawPoint[]}}
-\def\tkz@DrawPoint[#1](#2){%
-\begingroup
-\pgfkeys{/drawpoint/.cd}
-\pgfqkeys{/drawpoint}{#1}
-\node[point style] at (#2) {};
-\endgroup
-}
-
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawPoints{\pgfutil@ifnextchar[{\tkz@drawpts}{\tkz@drawpts[]}}
-%<--------------------------------------------------------------------------–>
-\def\tkz@drawpts[#1](#2){%
-\begingroup
-\pgfkeys{/drawpoint/.cd}
-\pgfqkeys{/drawpoint}{#1}
-\foreach \point in {#2}{%
- \node[point style] at (\point) {};}
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% rename
-%<--------------------------------------------------------------------------–>
-% \def\tkzRenamePoint{\pgfutil@ifnextchar[{\tkzActivOff\tkz@RenamePoint}{%
-% \tkzActivOff\tkz@RenamePoint[]}}
-% \def\tkz@RenamePoint[#1](#2)#{%
-% \coordinate (tkz@coord@temp) at (#2);%
-% \pgfextractx{\pgf@x}{\pgfpointanchor{tkz@coord@temp}{center}}
-% \pgfextracty{\pgf@y}{\pgfpointanchor{tkz@coord@temp}{center}}
-% \tkz@ax\pgf@x %
-% \tkz@ay\pgf@y %
-% \tkz@RenamePointEnd[#1]}%
-%<--------------------------------------------------------------------------–>
-\def\tkzRenamePoint(#1)#2{\coordinate (#2) at (#1);}
-\def\tkz@RenamePointEnd[#1]#2{\coordinate[#1] (#2) at (\tkz@ax,\tkz@ay);}
-\def\tkzGetPoint#1{\coordinate (#1) at (tkzPointResult);}
-\def\tkzGetPoints#1#2{\coordinate (#1) at (tkzFirstPointResult);%
- \coordinate (#2) at (tkzSecondPointResult);}
-\def\tkzGetFirstPoint#1{\coordinate (#1) at (tkzFirstPointResult);}
-\def\tkzGetSecondPoint#1{\coordinate (#1) at (tkzSecondPointResult);}
-\def\tkzDefShiftPointCoord[#1](#2)#3{%
-\begin{scope}[shift={(#1)}]
- \coordinate (#3) at (#2);
-\end{scope}
-}%
-
-\def\tkzDefShiftPoint[#1](#2)#3{%
- \tkz@@extractxy{#1}
- \tkz@ax\pgf@x %
- \tkz@ay\pgf@y %
-\begin{scope}[shift={(\tkz@ax,\tkz@ay)}]
- \coordinate (#3) at (#2);
-\end{scope}
-}
-%<-------------------------------------------------------------------------–>
-% tkzLabelPoint Affichage des LABELS pour un point
-%<-------------------------------------------------------------------------–>
-% \newif\iftkz@mode@show
-% \tikzoption{show}{\tikz@addmode{\tkz@mode@showfalse}}
-\tikzset{label style/.style={\tkz@euc@pointpos,\tkz@euc@labelcolor,font=\normalsize}}
-\def\tkzLabelPoint{\pgfutil@ifnextchar[{\tkz@LabelPoint}{\tkz@LabelPoint[]}}
-\def\tkz@LabelPoint[#1](#2)#3{\node[label style,#1] at (#2) {#3};}%
-
-\def\tkzLabelPoints{\pgfutil@ifnextchar[{\tkz@LabelPoints}{%
- \tkz@LabelPoints[]}}%
-\def\tkz@LabelPoints[#1](#2){%
- \foreach \point in {#2}{
- \node[label style,#1] at (\point) {$\point$};}
-}%
-%<--------------------------------------------------------------------------–>
-% Coord
-%<--------------------------------------------------------------------------–>
-\newif\if@tkz@coord@noxdraw
-\newif\if@tkz@coord@noydraw
-\pgfkeys{
-/tkzprcoord/.cd,
- xlabel/.code = {\global\edef\tkz@xlabel{#1}},%
- ylabel/.code = {\global\edef\tkz@ylabel{#1}},
- xstyle/.code = {\tikzset{xcoord style/.append style={#1}}},
- ystyle/.code = {\tikzset{ycoord style/.append style={#1}}},
- noxdraw/.is if = @tkz@coord@noxdraw,
- noxdraw/.default = true,
- noydraw/.is if = @tkz@coord@noydraw,
- noydraw/.default = true,
- /tkzprcoord/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}}
-}
- \def\tkzPointShowCoord{\pgfutil@ifnextchar[{\tkz@PointShowCoord}{%
- \tkz@PointShowCoord[]}}
-\def\tkz@PointShowCoord[#1](#2){%
-\begingroup
-\pgfkeys{%
-tkzprcoord/.cd,
- xlabel = {},
- ylabel = {},
- xstyle = {},
- ystyle = {},
- noxdraw = false,
- noydraw = false
- }
-\pgfqkeys{/tkzprcoord}{#1}
-\if@tkz@coord@noxdraw\else\draw[arrow coord style] (#2)--(#2 |- tkz@xline); \fi
-\if@tkz@coord@noydraw\else \draw[arrow coord style] (#2)--(#2 -| tkz@yline);\fi
-\ifx\tkzutil@empty\tkz@xlabel
-\else
- \protected@edef\tkz@temp{%
- \noexpand\path (#2)--(#2 |- tkz@xline)
- \noexpand node[xcoord style]}\tkz@temp {\tkz@xlabel};
-\fi
-\ifx\tkzutil@empty\tkz@ylabel
-\else
- \protected@edef\tkz@temp{%
- \noexpand\path (#2)--(#2 -| tkz@yline)
- \noexpand node[ycoord style]}\tkz@temp {\tkz@ylabel};
-\fi
-\endgroup
-}
-
-%<-------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% tkzPoint
-%<--------------------------------------------------------------------------–>
-\pgfkeys{
- tkzpt/.cd,
- pos/.code = {\def\tkz@pt@pos{#1}},
- size/.code = {\def\tkz@pt@size{#1}},
- name/.code = {\def\tkz@pt@name{#1}},
- namecolor/.code = {\def\tkz@pt@namecolor{#1}},
- time/.code = {\def\tkz@pt@time{#1}},
- color/.code = {\def\tkz@pt@color{#1}},
- shape/.code = {\def\tkz@pt@shape{#1}},
- polar/.is if = tkz@pt@polar,
- polar/.default = true,
- noname/.is if = tkz@pt@noname,
- noname/.default = true
-}
-
-\def\tkz@node#1{\path[coordinate](\ptxa,\ptya) coordinate(#1);}
-\def\tkz@drawnode#1{\path[coordinate](\ptxa,\ptya) coordinate(#1);
-\tkz@DrawPt{#1}
-}
-
-\def\tkz@draw@point#1{%
- \node[ inner sep = 0pt,
- shape = \tkz@pt@shape,%
- draw = \tkz@pt@color,%
- minimum size = \tkz@pt@size*\pgflinewidth,%
- fill = \tkz@pt@color] at (#1) {};}
-
-\def\tkzPoint{\@ifstar\tkzptStar\tkzptNoStar}
-\def\tkzptNoStar{\pgfutil@ifnextchar[{\tkz@ptNoStar}{\tkz@ptNoStar[]}}
-\def\tkz@ptNoStar[#1](#2,#3)#{%
-\pgfkeys{/tkzpt/.cd,
- noname = false,% pas de nom
- name = {},% le nom est vide
- polar = false,%
- namecolor = \tkz@euc@labelcolor,% couleur du nom
- pos = \tkz@euc@pointpos,% name
- shape = \tkz@euc@pointshape,%
- color = \tkz@euc@pointcolor,% couleur du point
- size = \tkz@euc@pointsize,%
- time = 0.5
-}
-\pgfqkeys{/tkzpt}{#1}
- \iftkz@pt@polar%
- \FPeval\tkz@x{(#2*cos(#3*\FPpi/180))}
- \FPeval\tkz@y{(#2*sin(#3*\FPpi/180))}
- \else
- \FPeval\tkz@x{(#2)}
- \FPeval\tkz@y{(#3)}
- \fi
-
- \FPadd{\ptxa}{\tkz@x}{-\tkz@init@xorigine}
- \FPadd{\ptya}{\tkz@y}{-\tkz@init@yorigine}
- \FPdiv{\ptxa}{\ptxa}{\tkz@init@xstep}
- \FPdiv{\ptya}{\ptya}{\tkz@init@ystep}
- \tkz@drawnode
-}
-% dessin du point (par défaut c'est un node donc il ne peut pas être scalé)
-\def\tkz@DrawPt#1{%
- \iftkz@pt@noname% pas de nom rien
- \else% si name={} alors on prend le nom du node sinon name
- \ifx\tkzutil@empty\tkz@pt@name\def\tkz@pt@name{$#1$}%
- \fi
- \protected@edef\tkz@temp{%
- \noexpand \node[\tkz@pt@pos]}\tkz@temp at (#1)%
- {\textcolor{\tkz@pt@namecolor} {\tkz@pt@name}};%
- \fi
-% on retrace ??? ici ou après le fi
-\tkz@draw@point{#1}
-}
-
-%<--------------------------------------------------------------------------–>
-% Star version tkzPoint*
-%<--------------------------------------------------------------------------–>
-\def\tkzptStar{\pgfutil@ifnextchar[{\tkz@ptStar}{\tkz@ptStar[]}}
-\def\tkz@ptStar[#1](#2,#3)#{%
-\pgfkeys{/tkzpt/.cd,
- polar = false,%
-}
-\pgfqkeys{/tkzpt}{#1}
-\iftkz@pt@polar%
- \FPeval\tkz@x{(#3*cos(#2*\FPpi/180))}
- \FPeval\tkz@y{(#3*sin(#2*\FPpi/180))}
-\else
- \FPeval\tkz@x{(#2)}
- \FPeval\tkz@y{(#3)}
-\fi
-\FPadd{\ptxa}{\tkz@x}{-\tkz@init@xorigine}
-\FPadd{\ptya}{\tkz@y}{-\tkz@init@yorigine}
-\FPdiv{\ptxa}{\ptxa}{\tkz@init@xstep}
-\FPdiv{\ptya}{\ptya}{\tkz@init@ystep}
-\tkz@node
-}
-
-%<--------------------------------------------------------------------------–>
-% Points
-%<--------------------------------------------------------------------------–>
-\def\tkzPoints{\pgfutil@ifnextchar[{\tkz@Points}{\tkz@Points[]}}
-\def\tkz@Points[#1](#2){%
-\begingroup
- \foreach \ptx/\pty/\name in {#2}{%
- \tkzPoint[#1](\ptx,\pty){\name}%
- }
-\endgroup
-}
-
- %<--------------------------------------------------------------------------–>
-% macro d'affichage %
-%<--------------------------------------------------------------------------–>
-\pgfqkeys{/pointwith}
-{ orthogonal/.code =\def\tkz@numv{0},
- orthogonal normed/.code =\def\tkz@numv{1},
- linear/.code =\def\tkz@numv{2},
- linear normed/.code =\def\tkz@numv{3},
- colinear/.code args ={at #1} {\global\def\tkz@numv{4}
- \global\def\tkz@frompoint{#1}},
- K/.code =\def\tkz@Koeff{#1}
- }
-
-\def\tkzDefPointWith{\pgfutil@ifnextchar[{\tkz@DefPointWith}{%
- \tkz@DefPointWith[]}}
-\def\tkz@DefPointWith[#1](#2){%
-\pgfqkeys{/pointwith}{linear,K=1}
-\pgfqkeys{/pointwith}{#1}
-\ifcase\tkz@numv%
- % first case 0
- \tkz@VecKOrth[\tkz@Koeff](#2){tkzPointResult}
- \or% 1
- \tkz@VecKOrthNorm[\tkz@Koeff](#2){tkzPointResult}
- \or% 2
- \tkz@VecK[\tkz@Koeff](#2){tkzPointResult}
- \or% 3
- \tkz@VecKNorm[\tkz@Koeff](#2){tkzPointResult}
- \or% 4
- \tkz@VecKCoLinear[\tkz@Koeff](#2,\tkz@frompoint){tkzPointResult}
- \fi
-}
-
-%<-------------------------------------------------------------------------–>
-% % % Points aléatoires sur un segment, une droite, une demi-droite un cercle
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% les points aléatoires
-%<--------------------------------------------------------------------------–>
-\def\tkz@numrp{0}
-\pgfkeys{/tkzDefRandPoint/.cd,
-rectangle/.code args={#1 and #2}{\global\def\tkz@numrp{0}%
- \global\def\tkz@infl{#1}%
- \global\def\tkz@supr{#2}},
-segment/.code args={#1--#2}{\global\def\tkz@numrp{1}%
- \global\def\tkz@start{#1}%
- \global\def\tkz@end{#2}},
-line/.code args={#1--#2}{\global\def\tkz@numrp{2}%
- \global\def\tkz@start{#1}%
- \global\def\tkz@end{#2}},
-circle/.code args={center #1 radius #2}{\def\tkz@numrp{3}%
- \global\def\tkz@center{#1}
- \global\def\tkz@rad{#2}}
-}
-
-\def\tkzGetRandPointOn{\pgfutil@ifnextchar[{\tkz@DefRandPointOn}{%
- \tkz@DefRandPointOn[]}}
-\def\tkz@DefRandPointOn[#1]#2{%
-\begingroup
-\pgfkeys{/tkzDefRandPoint/.cd}
-\pgfqkeys{/tkzDefRandPoint}{#1}
-\ifcase\tkz@numrp%
- % first case 0
- \tkzRandPointOnRect(\tkz@infl,\tkz@supr){#2}
- \or% 1
- \tkzRandPointOnSegment(\tkz@start,\tkz@end){#2}
- \or% 2
- \tkzRandPointOnLine(\tkz@start,\tkz@end){#2}
- \or% 3
- \tkzRandPointOnCircle(\tkz@center,\tkz@rad){#2}
-\fi
-\endgroup
-}
-
-\def\tkzRandPointOnRect(#1,#2)#3{%
-\tkz@@extractxy{#1}
- \pgf@xa=\pgf@x\relax%
- \pgf@ya=\pgf@y\relax%
-\tkz@@extractxy{#2}
- \pgf@xb=\pgf@x\relax%
- \pgf@yb=\pgf@y\relax%
-\FPadd{\tkz@a}{\pgf@sys@tonumber{\pgf@xb}}{-\pgf@sys@tonumber{\pgf@xa}}
-\FPadd{\tkz@b}{\pgf@sys@tonumber{\pgf@yb}}{-\pgf@sys@tonumber{\pgf@ya}}
- \pgfmathparse{rnd}\global\let\myrndone\pgfmathresult
- \pgfmathparse{rnd}\global\let\myrndtwo\pgfmathresult
-\path[coordinate] ($(#1)+(\myrndone*\tkz@a pt,%
- \myrndtwo*\tkz@b pt)$) coordinate (#3);
- }
-
-\def\tkzRandPointOnSegment(#1,#2)#3{%
- \pgfmathparse{rnd}\global\let\myrnd\pgfmathresult
-\path[coordinate] ($ (#1)!\myrnd!(#2) $) coordinate (#3);}
-
-\def\tkzRandPointOnLine(#1,#2)#3{%
- \pgfmathparse{rand}\global\let\myrnd\pgfmathresult
-\path[coordinate] ($ (#1)!\myrnd!(#2) $) coordinate (#3);}
-
-\def\tkzRandPointOnCircle(#1,#2)#3{%
-\pgfmathrandominteger{\myrnd}{0}{360}
-\tkz@ax#2 %
-\FPeval\tkz@xa{\pgf@sys@tonumber{\tkz@ax}*cos(\myrnd*\FPpi/180)}
-\FPeval\tkz@xb{\pgf@sys@tonumber{\tkz@ax}*sin(\myrnd*\FPpi/180)}
-\path[coordinate]($(#1) + (\tkz@xa pt,\tkz@xb pt) $) coordinate (#3);
-}
-
-%<--------------------------------------------------------------------------–>
-% Coordonnées d'un point
-% result in #2x et #2y #1 est le point et on récupère ses coordonnées
-% usage soit A un point \tkzGetPointCoord(A){V} alors \Vx = xA et \Vy = yA
-% en cm
-% tkzGetPointCoord avec [#1] cm ou bien pt !!! %<--------------------------------------------------------------------------–>
-\def\tkzGetPointCoord(#1)#2{%
-\begingroup
-\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}
-\pgfmathparse{\pgf@sys@tonumber{\pgf@x}/28.45274}
-\global\let\tkzresultx\pgfmathresult
-\global\expandafter\edef\csname #2x\endcsname{\tkzresultx}%
-\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}}
-\pgfmathparse{\pgf@sys@tonumber{\pgf@y}/28.45274}
-\global\let\tkzresulty\pgfmathresult
-\global\expandafter\edef\csname #2y\endcsname{\tkzresulty}
-\endgroup
-}
-
-\def\tkz@@extractxy#1{%
-\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}
-\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}}
-}
-\let\tkzGetPointxy\tkzGetPointCoord
-%<--------------------------------------------------------------------------–>
-
-\endinput
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-segments.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-segments.tex
deleted file mode 100644
index 4826368640..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-segments.tex
+++ /dev/null
@@ -1,142 +0,0 @@
-% Copyright 2011 by Alain Matthes
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-
-
-\def\fileversion{1.16 d}
-\def\filedate{2018/09/19}
-
-%<--------------------------------------------------------------------------–>
-% Setup Segment
-%<--------------------------------------------------------------------------–>
-
-%<--------------------------------------------------------------------------–>
-% draw segment (s)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawSegment{\pgfutil@ifnextchar[{\tkz@DrawSegment}{%
- \tkz@DrawSegment[]}}
-\def\tkz@DrawSegment[#1](#2,#3){%
-\begingroup
- \draw[line style,add=0 and 0,#1] (#2) to (#3);
-\endgroup
-}%
-
-\def\tkz@multiDrawSeg#1 #2\@nil{%
- \protected@edef\tkz@temp{
- \noexpand \tkzDrawSegment[\tkz@optseg](#1)}\tkz@temp%
- \def\tkz@nextArg{#2}%
- \ifx\tkzutil@empty\tkz@nextArg
- \let\next\@gobble
- \fi
- \next#2\@nil
-}
-\def\tkzDrawSegments{\pgfutil@ifnextchar[{\tkz@DrawSegments}{%
- \tkz@DrawSegments[]}}
-\def\tkz@DrawSegments[#1](#2){%
-\global\edef\tkz@optseg{#1}
-\begingroup
- \let\next\tkz@multiDrawSeg
- \next#2 \@nil %
-\endgroup
-}
-%<-------------------------------------------------------------------------–>
-%<-------------------------------------------------------------------------–>
-\pgfkeys{tkzmarkoptions/.cd,
-pos/.code = {\global\def\tkz@mkpos{#1}},
-color/.code = {\global\def\tkz@mkcolor{#1}},
-mark/.code = {\global\def\tkz@mark{#1}},
-size/.code = {\global\def\tkz@mksize{#1}},
-/tkzmarkoptions/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}
- }
-}
-
-\def\tkzMarkSegment{\pgfutil@ifnextchar[{\tkz@MarkSegment}{%
- \tkz@MarkSegment[]}}
-\def\tkz@MarkSegment[#1](#2,#3){%
-\pgfkeys{tkzmarkoptions/.cd,
- size = 4pt,
- color = \tkz@mk@color,
- pos = .5,
- mark = none}
-\pgfqkeys{/tkzmarkoptions}{#1}
-
-\global\def\tkz@mymark{%
- \pgfsetplotmarksize{\tkz@mksize}
- \pgfuseplotmark{\tkz@mark}
-}
-\begin{scope} [decoration={ markings,mark=at position \tkz@mkpos with \tkz@mymark}]
-\path [\tkz@mkcolor,postaction={decorate}] (#2) -- (#3);
-\end{scope}
-}
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% multiple
-\def\tkz@multiMS#1 #2\@nil{%
- \protected@edef\tkz@temp{
- \noexpand \tkzMarkSegment[\tkz@optsg](#1)}\tkz@temp%
- \def\tkz@nextArg{#2}%
- \ifx\tkzutil@empty\tkz@nextArg
- \let\next\@gobble
- \fi
- \next#2\@nil
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzMarkSegments{\pgfutil@ifnextchar[{\tkz@MarkSegments}{%
- \tkz@MarkSegments[]}}
-\def\tkz@MarkSegments[#1](#2){%
-\global\edef\tkz@optsg{#1}
- \begingroup
- \let\next\tkz@multiMS
- \next#2 \@nil %
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-%<------------------------- Label on segment -------------------------------–>
-%<--------------------------------------------------------------------------–>
-\def\tkzLabelSegment{\pgfutil@ifnextchar[{\tkz@LabelSegment}{%
- \tkz@LabelSegment[]}}
-\def\tkz@LabelSegment[#1](#2,#3)#4{%
-\begingroup
-\path (#2) to node[above,#1]{#4} (#3) ;
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% multiple
-\def\tkz@multiLS#1 #2\@nil{%
- \protected@edef\tkz@temp{
- \noexpand \tkzLabelSegment[\tkz@optls](#1){\tkz@labelseg}}\tkz@temp%
- \def\tkz@nextArg{#2}%
- \ifx\tkzutil@empty\tkz@nextArg
- \let\next\@gobble
- \fi
- \next#2\@nil
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzLabelSegments{\pgfutil@ifnextchar[{\tkz@LabelSegments}{%
- \tkz@LabelSegments[]}}
-\def\tkz@LabelSegments[#1](#2)#3{%
-\global\edef\tkz@optls{#1}
-\global\def\tkz@labelseg{#3}
- \begingroup
- \let\next\tkz@multiLS
- \next#2 \@nil %
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% PolySeg
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawPolySeg{\pgfutil@ifnextchar[{\tkz@DrawPolySeg}{%
- \tkz@DrawPolySeg[]}}
-\def\tkz@DrawPolySeg[#1](#2,#3){%
-\begingroup
-\draw[#1] (#2)
- \foreach \tkz@pt in {#3}{--(\tkz@pt)};%
-\endgroup
-}
-\endinput
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-base.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-base.tex
deleted file mode 100644
index ee7c879bd8..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-base.tex
+++ /dev/null
@@ -1,700 +0,0 @@
-% tkz-tools-base.tex
-% Copyright 2011 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-
-
-% utf8 encoding
-
-\def\fileversion{1.16 d}
-\def\filedate{2018/09/19}
-
-%<--------------------------------------------------------------------------–>
-\global\let\@xa\tkz@init@xmin
-\global\let\@xb\tkz@init@xmax
-\global\let\@ya\tkz@init@ymin
-\global\let\@yb\tkz@init@ymax
-%<--------------------------------------------------------------------------–>
-\gdef\xgrad{1}
-\gdef\ygrad{1}
-\gdef\tkz@xa{0}
-\gdef\tkz@xb{10}
-\gdef\tkz@ya{0}
-\gdef\tkz@yb{10}
-\newif\iftkz@init@NO
-\pgfkeys{
- /tkzInit/.cd,
- xmin/.code = {\def\tkz@init@xmin{#1}},
- xmax/.code = {\def\tkz@init@xmax{#1}},
- xstep/.code = {\def\tkz@init@xstep{#1}},
- ymin/.code = {\def\tkz@init@ymin{#1}},
- ymax/.code = {\def\tkz@init@ymax{#1}},
- ystep/.code = {\def\tkz@init@ystep{#1}},
- NO/.is if = tkz@init@NO,
- NO/.default = true }
-
-\def\tkzInit{\pgfutil@ifnextchar[{\tkz@Init}{\tkz@Init[]}}
-\def\tkz@Init[#1]{%
-\pgfkeys{/tkzInit/.cd,
- xmin = 0,
- xmax = 10,
- xstep = 1,
- ymin = 0,
- ymax = 10,
- ystep = 1,
- NO = false
-}
- \pgfqkeys{/tkzInit}{#1}
- \ifx\tkzfctloaded\undefined
- \else
- \tkz@tkzf@fct=0 % only if tkz-fct loaded
- \fi
- \xdef\tkz@init@xorigine{0}
- \xdef\tkz@init@yorigine{0}
- \FPsgn\@xsgmin{\tkz@init@xmin}
- \FPsgn\@xsgmax{\tkz@init@xmax}
- \FPsgn\@ysgmin{\tkz@init@ymin}
- \FPsgn\@ysgmax{\tkz@init@ymax}
- \global\let\@xa\tkz@init@xmin
- \global\let\@xb\tkz@init@xmax
- \global\let\@ya\tkz@init@ymin
- \global\let\@yb\tkz@init@ymax
- \tkz@init@NOfalse
- \ifx\@xsgmin\@xsgmax \tkz@init@NOtrue \fi
- \ifx\@ysgmin\@ysgmax \tkz@init@NOtrue \fi
- \iftkz@init@NO%
- \ifx\@xsgmin\@xsgmax
- \FPadd{\tkz@init@xmax}{\tkz@init@xmax}{-\tkz@init@xmin}%
- \edef\tkz@init@xorigine{\tkz@init@xmin}
- \edef\tkz@init@xmin{0}
- \fi
-
- \ifx\@ysgmin\@ysgmax
- \FPadd{\tkz@init@ymax}{\tkz@init@ymax}{-\tkz@init@ymin}%
- \edef\tkz@init@yorigine{\tkz@init@ymin}
- \edef\tkz@init@ymin{0}
- \fi
- \fi
- \FPdiv{\tkz@xa}{\tkz@init@xmin}{\tkz@init@xstep}
- \FPdiv{\tkz@xb}{\tkz@init@xmax}{\tkz@init@xstep}
- \FPdiv{\tkz@ya}{\tkz@init@ymin}{\tkz@init@ystep}
- \FPdiv{\tkz@yb}{\tkz@init@ymax}{\tkz@init@ystep}
- \tkz@getdecimal{\tkz@init@xstep} % amélioration nb dec et integer
- \global\edef\tkz@init@xdec{\number\c@pgfmath@countb}
- \tkz@getdecimal{\tkz@init@ystep}
- \global\edef\tkz@init@ydec{\number\c@pgfmath@countb}
-}%
-%<--------------------------------------------------------------------------–>
-\pgfkeys{Clip/.cd, space/.code = {\def\tkz@CLI@space{#1}}}
-
-\def\tkzClip{\pgfutil@ifnextchar[{\tkz@Clip}{\tkz@Clip[]}}
-\def\tkz@Clip[#1]{%
-\pgfkeys{Clip/.cd,space = {}}
-\pgfqkeys{/Clip}{#1}
-\ifx\tkzutil@empty\tkz@CLI@space
- \clip (\tkz@xa,\tkz@ya) rectangle (\tkz@xb,\tkz@yb);
- \else
- \FPadd{\tkz@xxa}{\tkz@xa}{-\tkz@CLI@space}
- \FPadd{\tkz@yya}{\tkz@ya}{-\tkz@CLI@space}
- \FPadd{\tkz@xxb}{\tkz@xb}{\tkz@CLI@space}
- \FPadd{\tkz@yyb}{\tkz@yb}{\tkz@CLI@space}
- \clip (\tkz@xxa,\tkz@yya) rectangle (\tkz@xxb,\tkz@yyb);
-\fi
-}
-%todo add options
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-\def\tkz@showgrad#1{%
-\FPifint{#1}\FPtrunc\tkz@result{#1}{0}\else\FPset\tkz@result{#1}\fi}%
-
-\def\tkz@Xresult{%
-\tkz@showgrad{\xgrad}%
- $\numprint{\tkz@result}$%
-}%
-%<--------------------------------------------------------------------------–>
-\def\tkz@Yresult{%
-\tkz@showgrad{\ygrad}%
-$\numprint{\tkz@result}$
-}%
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-\def\tkz@Xshowgradresult{%
-\iftkz@X@orig
-\tkz@Xresult%
-\else % orig
- \iftkz@init@NO%
- \unless\ifx\tkz@pos\tkz@posmin
- \tkz@Xresult\fi
- \else % NO
- \unless\ifx\tkz@pos\x@tkzero%
- \tkz@Xresult
- \fi%end of x@tkzero
- \fi%end of NO
-\fi%end of orig
-}%
-%<--------------------------------------------------------------------------–>
-\def\tkz@Yshowgradresult{%
-\iftkz@Y@orig
-\tkz@Yresult%
-\else % orig
- \iftkz@init@NO%
- \unless\ifx\tkz@pos\tkz@posmin
- \tkz@Yresult\fi
- \else % NO
- \unless\ifx\tkz@pos\y@tkzero%
- \tkz@Yresult
- \fi%end of x@tkzero
- \fi%end of NO
-\fi%end of orig
-}%
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-\def\tkz@Xshowgrad{%
-\iftkz@X@orig
-\tkzprintfrac%
-\else % orig
- \iftkz@init@NO%
- \unless\ifx\tz@pos\tkz@posmin
- \tkzprintfrac\fi
- \else % NO
- \unless\ifx\tz@pos\x@tkzero%
- \tkzprintfrac
- \fi%end of x@tkzero
- \fi%end of NO
-\fi%end of orig
-}%
-%<--------------------------------------------------------------------------–>
-\def\tkz@Yshowgrad{%
-\iftkz@Y@orig
-\tkzprintfrac%
-\else % orig
- \iftkz@init@NO%
- \unless\ifx\tz@pos\tkz@posmin
- \tkzprintfrac\fi
- \else % NO
- \unless\ifx\tz@pos\y@tkzero%
- \tkzprintfrac
- \fi%end of x@tkzero
- \fi%end of NO
-\fi%end of orig
-}%
-
-%<--------------------------------------------------------------------------–>
-% Setup axe
-%<--------------------------------------------------------------------------–>
-\pgfkeys{tkzaxis/.cd,
-line width/.code = {\global\edef\tkz@sua@lw{#1}},
-color/.code = {\global\edef\tkz@sua@color{#1}},
-tickwd/.code = {\global\edef\tkz@sua@tickwd{#1}},
-ticka/.code = {\global\edef\tkz@sua@ticka{#1}},
-tickb/.code = {\global\edef\tkz@sua@tickb{#1}}
-}
-
-\def\tkzSetUpAxis{\pgfutil@ifnextchar[{\tkz@SetUpAxis}{\tkz@SetUpAxis[]}}
-\def\tkz@SetUpAxis[#1]{%
-\begingroup
- \pgfkeys{/tkzaxis/.cd,
- line width = \tkz@init@lw,
- color = \tkz@init@color,
- tickwd = \tkz@init@tickwd,
- ticka = \tkz@init@ticka,
- tickb = \tkz@init@tickb
- }
-\pgfqkeys{/tkzaxis}{#1}
-\global\let\tkz@init@lw\tkz@sua@lw
-\global\let\tkz@init@gradsize\tkz@sua@gradsize
-\global\let\tkz@init@color\tkz@sua@color
-\global\let\tkz@init@tickwd\tkz@sua@tickwd
-\global\let\tkz@init@ticka\tkz@sua@ticka
-\global\let\tkz@init@tickb\tkz@sua@tickb
-\endgroup}
-%<--------------------------------------------------------------------------–>
-% tkzDrawX todo améliorer les unités
-%<--------------------------------------------------------------------------–>
-\pgfkeys{% prob avec space
-tkzdrawX/.cd,
-color/.code = {\global\def\tkz@X@color{#1}},
-label/.code = {\global\def\tkz@X@label{#1}},
-right space/.code = {\global\def\tkz@axe@rxspace{#1}},
-left space/.code = {\global\def\tkz@axe@lxspace{#1}},
-noticks/.is if = tkz@X@noticks,
-noticks/.default = true,
-trig/.code = {\global\def\tkz@X@trig{#1}},
-step/.code = {\FPeval\tkz@posnext{#1}},
-tickwd/.code = {\global\def\tkz@X@tickwd{#1}},
-tickup/.code = {\global\def\tkz@X@tickup{#1}},
-tickdn/.code = {\global\def\tkz@X@tickdn{#1}},
-/tkzdrawX/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}}}
-
-\def\tkzDrawX{\pgfutil@ifnextchar[{\tkz@DrawX}{\tkz@DrawX[]}}
-\def\tkz@DrawX[#1]{
-\begingroup%
-\pgfkeys{/tkzdrawX/.cd,
-color = \tkz@init@color,
-label = \tkz@init@xlabel,
-trig = 0,
-step = \tkz@init@xstep,
-right space = \tkz@init@rightspace,
-left space = \tkz@init@leftspace,
-noticks = false,
-tickwd = \tkz@init@tickwd,
-tickup = \tkz@init@ticka,
-tickdn = \tkz@init@tickb}
-\pgfqkeys{/tkzdrawX}{#1}
-\FPtrunc\tkz@posmax{\tkz@xb}{\tkz@init@xdec}
-\FPtrunc\tkz@posmin{\tkz@xa}{\tkz@init@xdec}
-\FPadd\tkz@xbsup{\tkz@xb}{\tkz@axe@rxspace}
-\FPadd\tkz@xainf{\tkz@xa}{-\tkz@axe@lxspace}
-\path (\tkz@xainf,0)--(\tkz@xbsup,0) node(tkz@xline){};
-\draw[xaxe style,
- color = \tkz@X@color,
- /tkzdrawX/.cd, #1] (\tkz@xainf,0)--(\tkz@xbsup,0)
- node[xlabel style, /tkzdrawX/.cd, #1]{\tkz@X@label};
- \iftkz@X@noticks
- \else
- \ifnum\tkz@X@trig=0
- \FPtrunc\tkz@posmax{\tkz@posmax}{\tkz@init@xdec}%
- \FPdiv\tkz@posnext{\tkz@posnext}{\tkz@init@xstep}
- \FPadd\tz@posnext{\tkz@posmin}{\tkz@posnext}
- \foreach \tz@pos in {\tkz@posmin,\tz@posnext,...,\tkz@posmax}{%
- \draw[color = \tkz@X@color,
- line width = \tkz@X@tickwd,
- shift = {(\tz@pos,0)}]%
- (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn);}
- \else
- \FPadd{\tkz@posmin}{\tkz@posmin}{.5}%
- \FPdiv\tkz@posmax{\tkz@posmax}{\FPpi}%
- \FPmul\tkz@posmax{\tkz@posmax}{\tkz@X@trig}%
- \FPdiv\tkz@posmin{\tkz@posmin}{\FPpi}%
- \FPmul\tkz@posmin{\tkz@posmin}{\tkz@X@trig}%
- \FPround\tkz@posmin{\tkz@posmin}{0}%
- \foreach \tz@pos in {\tkz@posmin,...,\tkz@posmax}{%
- \FPmul\tz@pospi{\tz@pos}{\FPpi}
- \FPdiv\tz@pospi{\tz@pospi}{\tkz@X@trig}%
- \draw[color = \tkz@X@color,
- line width = \tkz@X@tickwd,%
- shift = {(\tz@pospi,0)}]%
- (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn);
- }% end foreach
- \fi
- \fi
-\endgroup}
-%<--------------------------------------------------------------------------–>
-\pgfkeys{% prob avec space
-tkzAxeX/.cd,
-color/.code = {\def\tkz@X@color{#1}},
-label/.code = {\global\def\tkz@X@label{#1}},
-frac/.code = {\def\tkzX@frac{#1}},
-trig/.code = {\def\tkzX@trig{#1}},
-/tkzAxeX/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}}}
-
-\def\tkzAxeX{\pgfutil@ifnextchar[{\tkz@AxeX}{\tkz@AxeX[]}}
-\def\tkz@AxeX[#1]{%
-\begingroup
-\tkzLabelX[#1] \tkzDrawX[#1]
-\endgroup
-}
-
-
-%<--------------------------------------------------------------------------–>
-% tkzDrawY todo améliorer les unités
-%<--------------------------------------------------------------------------–>
-\pgfkeys{% prob avec space
-tkzdrawY/.cd,
-color/.code = {\def\tkz@Y@color{#1}},
-label/.code = {\def\tkz@Y@label{#1}},
-up space/.code = {\global\def\tkz@axe@uyspace{#1}},
-down space/.code = {\global\def\tkz@axe@dyspace{#1}},
-noticks/.is if = tkz@Y@noticks,
-noticks/.default = true,
-trig/.code = {\global\def\tkz@Y@trig{#1}},
-step/.code = {\FPeval\tkz@posnext{#1}},
-tickwd/.code = {\global\def\tkz@Y@tickwd{#1}},
-ticklt/.code = {\global\def\tkz@Y@ticklt{#1}},
-tickrt/.code = {\global\def\tkz@Y@tickrt{#1}},
-/tkzdrawY/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}}}
-
-\def\tkzDrawY{\pgfutil@ifnextchar[{\tkz@DrawY}{\tkz@DrawY[]}}
-\def\tkz@DrawY[#1]{%
-\begingroup
-\pgfkeys{/tkzdrawY/.cd,
-color = \tkz@init@color,
-label = \tkz@init@ylabel,
-trig = 0,
-step = \tkz@init@ystep,
-up space = \tkz@init@upspace,
-down space = \tkz@init@downspace,
-noticks = false,
-tickwd = \tkz@init@tickwd,
-ticklt = \tkz@init@tickb,
-tickrt = \tkz@init@ticka}
-\pgfqkeys{/tkzdrawY}{#1}
-\FPtrunc\tkz@posmax{\tkz@yb}{\tkz@init@ydec}
-\FPtrunc\tkz@posmin{\tkz@ya}{\tkz@init@ydec}
-\FPadd\tkz@ybsup{\tkz@yb}{\tkz@axe@uyspace}
-\FPadd\tkz@yainf{\tkz@ya}{-\tkz@axe@dyspace}
-\path (0,\tkz@yainf)--(0,\tkz@ybsup) node(tkz@yline){};
-\draw[color = \tkz@Y@color,
- yaxe style,/tkzdrawY/.cd,#1] (0,\tkz@yainf)--(0,\tkz@ybsup)
- node[ylabel style,/tkzdrawY/.cd,#1]{\tkz@Y@label};
- \iftkz@Y@noticks
- \else
- \ifnum\tkz@Y@trig=0
- \FPtrunc\tkz@posmax{\tkz@posmax}{\tkz@init@ydec}%
- \FPdiv\tkz@posnext{\tkz@posnext}{\tkz@init@ystep}
- \FPadd\tz@posnext{\tkz@posmin}{\tkz@posnext}
- \foreach \tz@pos in {\tkz@posmin,\tz@posnext,...,\tkz@posmax}{%
- \draw[color = \tkz@Y@color,
- line width = \tkz@Y@tickwd,
- shift = {(0,\tz@pos)}]%
- (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt);}
- \else
- \FPadd{\tkz@posmin}{\tkz@posmin}{.5}%
- \FPdiv\tkz@posmax{\tkz@posmax}{\FPpi}%
- \FPmul\tkz@posmax{\tkz@posmax}{\tkz@Y@trig}%
- \FPdiv\tkz@posmin{\tkz@posmin}{\FPpi}%
- \FPmul\tkz@posmin{\tkz@posmin}{\tkz@Y@trig}%
- \FPround\tkz@posmin{\tkz@posmin}{0}%
- \foreach \tz@pos in {\tkz@posmin,...,\tkz@posmax}{%
- \FPmul\tz@pospi{\tz@pos}{\FPpi}
- \FPdiv\tz@pospi{\tz@pospi}{\tkz@Y@trig}%
- \draw[color = \tkz@Y@color,
- line width = \tkz@Y@tickwd,%
- shift = {(0,\tz@pospi)}]%
- (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt);
- }% end foreach
- \fi
- \fi
-\endgroup}
-%<--------------------------------------------------------------------------->
-\newif\iftkz@np
-\pgfkeys{% prob avec space
-tkzlabelX/.cd,
-frac/.code = {\def\tkz@X@frac{#1}},
-trig/.code = {\def\tkz@X@trig{#1}},
-step/.code = {\def\tkz@posnext{#1}},
-label options/.code = {\def\cmd@X@option{#1}},
-np off/.is if = tkz@np,
-np off/.default = true,
-orig/.is if = tkz@X@orig,
-orig/.default = false,
-tickwd/.code = {\global\def\tkz@X@tickwd{#1}},
-tickup/.code = {\global\def\tkz@X@tickup{#1}},
-tickdn/.code = {\global\def\tkz@X@tickdn{#1}},
-/tkzlabelX/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}}}
- \def\tkzLabelX{\pgfutil@ifnextchar[{\tkz@LabelX}{\tkz@LabelX[]}}
-\def\tkz@LabelX[#1]{%
-\begingroup
-\pgfkeys{/tkzlabelX/.cd,
-frac = 0,
-trig = 0,
-step = \tkz@init@xstep,
-np off = false,
-orig = true,
-label options = {},
-tickwd = \tkz@init@tickwd,
-tickup = \tkz@init@ticka,
-tickdn = \tkz@init@tickb}
-\pgfqkeys{/tkzlabelX}{#1}
-\iftkz@np\let\numprint@saved\numprint %
-\let\numprint\relax\fi %
-
-\FPtrunc\tkz@posmin{\tkz@xa}{\tkz@init@xdec}%
-\FPtrunc\tkz@posmax{\tkz@xb}{\tkz@init@xdec}%
-\FPtrunc\x@tkzero{0.0000000}{\tkz@init@xdec}%
-
-\ifnum\tkz@X@frac=0 %
- \ifnum\tkz@X@trig=0 % affichage normal
- \FPdiv\tz@posnext{\tkz@posnext}{\tkz@init@xstep}
- \FPadd\tz@posnext{\tkz@posmin}{\tz@posnext}
- \foreach \tz@pos in {\tkz@posmin,\tz@posnext,...,\tkz@posmax}{%
- \FPtrunc\tkz@pos{\tz@pos}{\tkz@init@xdec}%
- \FPmul{\xgrad}{\tz@pos}{\tkz@init@xstep}%
- \FPadd{\xgrad}{\xgrad}{\tkz@init@xorigine}%
- \FPtrunc\xgrad{\xgrad}{\tkz@init@xdec}%
- \protected@edef\tkz@temp{%
- \noexpand\path[shift = {(\tz@pos,0)}]
- (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn)%
- node[xlabel style,%
- fill = \tkz@fillcolor,
- \cmd@X@option]}\tkz@temp{\tkz@Xshowgradresult};
-}%
- \else% trig > 0
- \FPadd{\tkz@posmin}{\tkz@posmin}{.5}%
- \FPdiv\tkz@posmax{\tkz@posmax}{\FPpi}%
- \FPmul\tkz@posmax{\tkz@posmax}{\tkz@X@trig}%
- \FPdiv\tkz@posmin{\tkz@posmin}{\FPpi}%
- \FPmul\tkz@posmin{\tkz@posmin}{\tkz@X@trig}%
- \FPround\tkz@posmin{\tkz@posmin}{0}%
- \foreach \tz@pos in {\tkz@posmin,...,\tkz@posmax}{%
- \tkzPrintFracWithPi{\tz@pos}{\tkz@X@trig}
- \FPmul\tz@pospi{\tz@pos}{\FPpi}
- \FPdiv\tz@pospi{\tz@pospi}{\tkz@X@trig}%
- \protected@edef\tkz@temp{%
- \noexpand\path[shift = {(\tz@pospi,0)}]%
- (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn)%
- node[xlabel style,
- text height = 8pt,
- fill = \tkz@fillcolor,
- \cmd@X@option]}\tkz@temp{\tkz@Xshowgrad};%
- }% end foreach
- \fi
-\else% frac > 0
-\FPround\tkz@posmin{\tkz@posmin}{0}%
- \foreach \tz@pos in {\tkz@posmin,...,\tkz@posmax}{%
- \tkzPrintFrac{\tz@pos}{\tkz@X@frac}%
- \protected@edef\tkz@temp{%
- \noexpand\path[shift = {(\tz@pos,0)}]%
- (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn)%
- node[xlabel style,
- text height = 8pt,
- fill = \tkz@fillcolor,
- \cmd@X@option]}\tkz@temp{\tkz@Xshowgrad}%
- ;%
- }% end foreach
-\fi
- \iftkz@np\let\numprint\numprint@saved \fi%
-\endgroup
-}
-
-%<--------------------------------------------------------------------------->
-\pgfkeys{% prob avec space
-tkzticksY/.cd,
-frac/.code = {\def\tkz@Y@frac{#1}},
-trig/.code = {\def\tkz@Y@trig{#1}},
-step/.code = {\def\tkz@posnext{#1}},
-label options/.code = {\def\cmd@Y@option{#1}},
-np off/.is if = tkz@np,
-np off/.default = true,
-orig/.is if = tkz@Y@orig,
-orig/.default = false,
-tickwd/.code = {\global\def\tkz@Y@tickwd{#1}},
-ticklt/.code = {\global\def\tkz@Y@ticklt{#1}},
-tickrt/.code = {\global\def\tkz@Y@tickrt{#1}},
-/tkzticksY/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}}}
- \def\tkzLabelY{\pgfutil@ifnextchar[{\tkz@LabelY}{\tkz@LabelY[]}}
-\def\tkz@LabelY[#1]{%
-\begingroup
-\pgfkeys{/tkzticksY/.cd,
-frac = 0,
-trig = 0,
-step = \tkz@init@ystep,
-np off = false,
-orig = true,
-label options = {},
-tickwd = \tkz@init@tickwd,
-ticklt = \tkz@init@tickb,
-tickrt = \tkz@init@ticka}
-\pgfqkeys{/tkzticksY}{#1}
-\iftkz@np\let\numprint@saved\numprint %
-\let\numprint\relax\fi %
-
-\FPtrunc\tkz@posmin{\tkz@ya}{\tkz@init@ydec}%
-\FPtrunc\tkz@posmax{\tkz@yb}{\tkz@init@ydec}%
-\FPtrunc\y@tkzero{0.0000000}{\tkz@init@ydec}%
-
-\ifnum\tkz@Y@frac=0
- \ifnum\tkz@Y@trig=0 % affichage normal
- \FPdiv\tz@posnext{\tkz@posnext}{\tkz@init@ystep}
- \FPadd\tz@posnext{\tkz@posmin}{\tz@posnext}
- \foreach \tz@pos in {\tkz@posmin,\tz@posnext,...,\tkz@posmax}{%
- \FPtrunc\tkz@pos{\tz@pos}{\tkz@init@ydec}%
- \FPmul{\ygrad}{\tz@pos}{\tkz@init@ystep}%
- \FPadd{\ygrad}{\ygrad}{\tkz@init@yorigine}%
- \FPtrunc\ygrad{\ygrad}{\tkz@init@ydec}%
- \protected@edef\tkz@temp{%
- \noexpand\path[shift = {(0,\tz@pos)}]%
- (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt)%
- node[ylabel style,
- fill = \tkz@fillcolor,
- \cmd@Y@option]}\tkz@temp{\tkz@Yshowgradresult};
-}
- \else% trig > 0
- \FPadd{\tkz@posmin}{\tkz@posmin}{.5}%
- \FPdiv\tkz@posmax{\tkz@posmax}{\FPpi}%
- \FPmul\tkz@posmax{\tkz@posmax}{\tkz@Y@trig}%
- \FPdiv\tkz@posmin{\tkz@posmin}{\FPpi}%
- \FPmul\tkz@posmin{\tkz@posmin}{\tkz@Y@trig}%
- \FPround\tkz@posmin{\tkz@posmin}{0}%
- \foreach \tz@pos in {\tkz@posmin,...,\tkz@posmax}{%
- \tkzPrintFracWithPi{\tz@pos}{\tkz@Y@trig}
- \FPmul\tz@pospi{\tz@pos}{\FPpi}
- \FPdiv\tz@pospi{\tz@pospi}{\tkz@Y@trig}%
- \protected@edef\tkz@temp{%
- \noexpand\path[shift = {(0,\tz@pospi)}]%
- (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt)%
- node[ylabel style,
- text height = 8pt,
- fill = \tkz@fillcolor,
- \cmd@Y@option]}\tkz@temp{\tkz@Yshowgrad};%
- }% end foreach
- \fi
-\else% frac > 0
-\FPround\tkz@posmin{\tkz@posmin}{0}%
- \foreach \tz@pos in {\tkz@posmin,...,\tkz@posmax}{%
- \tkzPrintFrac{\tz@pos}{\tkz@Y@frac}%
- \protected@edef\tkz@temp{%
- \noexpand\path[shift = {(0,\tz@pos)}]%
- (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt)%
- node[ylabel style,
- text height = 8pt,
- fill = \tkz@fillcolor,
- \cmd@Y@option]}\tkz@temp{\tkz@Yshowgrad}%
- ;%
- }% end foreach
-\fi
- \iftkz@np\let\numprint\numprint@saved \fi%
-\endgroup}
-%<--------------------------------------------------------------------------–>
-\def\tkzAxeY{\pgfutil@ifnextchar[{\tkz@AxeY}{\tkz@AxeY[]}}
-\def\tkz@AxeY[#1]{%
-\begingroup
- \tkzDrawY[#1] \tkzLabelY[#1]
-\endgroup}
-%<-------------------------------------------------------------------------->
-\newif\if@tkz@swap
-\pgfkeys{% prob avec space
- tkzAxeXY/.cd,
- swap/.is if = @tkz@swap,
- swap/.default = true,
- /tkzAxeXY/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}}}
-
-\def\tkzAxeXY{\pgfutil@ifnextchar[{\tkzAxe@XY}{\tkzAxe@XY[]}}
-\def\tkzAxe@XY[#1]{%
-\pgfkeys{
- /tkzAxeXY/.cd,
- swap = false}
-\pgfqkeys{/tkzAxeXY}{#1}
-\if@tkz@swap
-\tkzLabelX[#1]\tkzLabelY[#1]\tkzDrawX[#1]\tkzDrawY[#1]
-\else
-\tkzDrawX[#1]\tkzDrawY[#1]\tkzLabelX[#1]\tkzLabelY[#1]
-\fi}
-\def\tkzDrawXY{\pgfutil@ifnextchar[{\tkzDraw@XY}{\tkzDraw@XY[]}}
-\def\tkzDraw@XY[#1]{\tkzDrawX[#1]\tkzDrawY[#1]}
-\def\tkzLabelXY{\pgfutil@ifnextchar[{\tkzLabel@XY}{\tkzLabel@XY[]}}
-\def\tkzLabel@XY[#1]{\tkzLabelX[#1]\tkzLabelY[#1]}
-%<--------------------------------------------------------------------------–>
-% grid
-%<--------------------------------------------------------------------------–>
-\newif\if@tkz@gd@sub
-\def\tkzRatioLineGrid{0.75}
-\def\tkz@gd@sublw{0.4 pt}
-
-
-\pgfkeys{
- /tkzGrid/.cd,
- color/.code = {\def\tkz@gd@color{#1}%
- \edef\tkz@gd@subcolor{%
- \tkz@gd@color!\tkzCoeffSubColor}},
- subxstep/.code = {\def\tkz@gd@subxstep{#1}},
- subystep/.code = {\def\tkz@gd@subystep{#1}},
- ratio/.code = {\def\tkz@gd@ratio{#1}},
- line width/.code = {\edef\tkz@gd@lw{#1}
- \edef\tkz@gd@sublw{\tkz@gd@ratio\tkz@gd@lw}},
- sub/.is if = @tkz@gd@sub,
- sub/.default = true ,
- /tkzGrid/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}}}
-
-\def\tkzGrid{\pgfutil@ifnextchar[{\tkz@Grid}{\tkz@Grid[]}}
-\def\tkz@Grid[#1]{\@ifnextchar({\tkz@@Grid[#1]}%
- {\tkz@@Grid[#1](\@xa,\@ya)(\@xb,\@yb)}}
-\def\tkz@@Grid[#1](#2,#3)(#4,#5){%
-\pgfkeys{
- /tkzGrid/.cd,
- sub = false,
- color = \tkz@grid@color,
- ratio = 0.75,
- subxstep = \tkz@grid@xstep,
- subystep = \tkz@grid@ystep,
- line width = \tkz@grid@lw}
- \pgfqkeys{/tkzGrid}{#1}
- \begingroup
- \FPadd{\tkz@gxa}{#2}{-\tkz@init@xorigine}
- \FPadd{\tkz@gxb}{#4}{-\tkz@init@xorigine}
- \FPadd{\tkz@gya}{#3}{-\tkz@init@yorigine}
- \FPadd{\tkz@gyb}{#5}{-\tkz@init@yorigine}
- \FPdiv{\tkz@gxa}{\tkz@gxa}{\tkz@init@xstep}
- \FPdiv{\tkz@gya}{\tkz@gya}{\tkz@init@ystep}
- \FPdiv{\tkz@gxb}{\tkz@gxb}{\tkz@init@xstep}
- \FPdiv{\tkz@gyb}{\tkz@gyb}{\tkz@init@ystep}
- \if@tkz@gd@sub%
- \FPeval\@subxstep{\tkz@gd@subxstep/\tkz@init@xstep}%
- \FPeval\@subystep{\tkz@gd@subystep/\tkz@init@ystep}%
- \draw [xstep = \@subxstep cm,%
- ystep = \@subystep cm,%
- color = \tkz@gd@subcolor,%
- line width = \tkzRatioLineGrid]%
- (\tkz@gxa,\tkz@gya) grid (\tkz@gxb,\tkz@gyb);%
- \fi
- \draw [color = \tkz@gd@color,%
- line width = \tkz@gd@lw]%
- (\tkz@gxa,\tkz@gya) grid (\tkz@gxb,\tkz@gyb);%
- \endgroup
-}%
-%<--------------------------------------------------------------------------–>
-% repère
-%<--------------------------------------------------------------------------–>
-
-\newif\iftkz@Rep@orig
-\pgfkeys{
- /tkzRep/.cd,
- line width/.code = {\def\tkz@Rep@lw{#1}},
- xlabel/.code = {\def\tkz@Rep@xlabel{#1}},
- ylabel/.code = {\def\tkz@Rep@ylabel{#1}},
- posxlabel/.code = {\def\tkz@Rep@posxlabel{#1}},
- posylabel/.code = {\def\tkz@Rep@posylabel{#1}},
- xnorm/.code = {\def\tkz@Rep@xnorm{#1}},
- ynorm/.code = {\def\tkz@Rep@ynorm{#1}},
- color/.code = {\def\tkz@Rep@color{#1}},
- colorlabel/.code = {\def\tkz@Rep@colorlabel{#1}}}
- % /tkzRep/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- % \pgfkeysalso{\searchname/.try=#1,
- % /tikz/\searchname/.retry=#1}}}
-%<--------------------------------------------------------------------------–>
-\def\tkzRep{\pgfutil@ifnextchar[{\tkz@Rep}{%
- \tkz@Rep[]}}
-\def\tkz@Rep[#1]{%
-\pgfkeys{
- /tkzRep/.cd,
-line width = \tkz@sur@lw,
-xlabel = $\vec{\imath}$,
-ylabel = $\vec{\jmath}$,
-posxlabel = {\tkz@sur@posxlabel},
-posylabel = {\tkz@sur@posylabel},
-xnorm = 1,
-ynorm = 1,
-color = \tkz@sur@color,% remove ?
-colorlabel = \tkz@sur@colorlabel}% remove ?
-\pgfqkeys{/tkzRep}{#1}
-\begingroup
- \protected@edef\tkz@temp{%
- \noexpand\draw [line width=\tkz@Rep@lw,color=\tkz@Rep@color,rep style]%
- (0,0) to node[\tkz@Rep@posylabel,color = \tkz@Rep@colorlabel]}\tkz@temp%
- {\tkz@Rep@ylabel}(0,\tkz@Rep@ynorm);
- \protected@edef\tkz@temp{%
- \noexpand \draw [line width=\tkz@Rep@lw,color=\tkz@Rep@color,rep style]%
- (0,0) to node[\tkz@Rep@posxlabel,color = \tkz@Rep@colorlabel]}\tkz@temp%
- {\tkz@Rep@xlabel}(\tkz@Rep@xnorm,0);
-\endgroup
-}
-\def\tkzAddName{\pgfutil@ifnextchar[{\tkz@AddName}{\tkz@AddName[]}}
-\def\tkz@AddName[#1]#2{%
-\node[above left,#1] at (\pgf@path@lastx,\pgf@path@lasty){#2};
-}%
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-math.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-math.tex
deleted file mode 100644
index a4f46d2237..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-math.tex
+++ /dev/null
@@ -1,688 +0,0 @@
-% Copyright 2011 by Alain Matthes
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-
-
-\def\fileversion{1.16 d}
-\def\filedate{2018/09/19}
-
-
-
-% Objet : outils mathématiques pour la géométrie euclideienne avec pgf/tikz
-% utilisable de préférence avec un repère orthonormé et le cm comme unité
-% utile pour la compatibilité avec pgf 2
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% Duplicate Length à revoir pas de pt pas de global
-% ||v(CN)||= ||v(AB)|| et v(CN) colineaire à v(CD)
-% A-->#1 B-->#2 C-->#3 D-->#4 N-->#5 ?????
-%<--------------------------------------------------------------------------–>
-\def\tkzDuplicateLen(#1,#2)(#3,#4){%
-\begingroup
- \tkzCalcLength(#1,#2)\tkzGetLength{tkz@firstlen}%
- \tkzCalcLength(#3,#4)\tkzGetLength{tkz@secondlen}%
- \FPdiv\tkz@ratio{\tkz@firstlen}{\tkz@secondlen}%
- \tkz@VecKCoLinear[\tkz@ratio](#3,#4,#3){tkzPointResult}%
-\endgroup
-}
-\let\tkzDuplicateSegment\tkzDuplicateLen %<--------------------------------------------------------------------------–>
-% Coordonnées d'un vecteur (couple de points)
-% Deux points A et B donc un vecteur on récupère les coordonnées de v(AB)
-% en cm
-% tkzGetVecCoord en cm ou en pt ???
-%<--------------------------------------------------------------------------–>
-%result in #3x et #3y #1 et #2 sont les points
-% passage en cm avec fp ?
-\def\tkzGetVectxy(#1,#2)#3{%
-\begingroup
-\pgfpointdiff{\pgfpointanchor{#1}{center}}%
- {\pgfpointanchor{#2}{center}}%
-\pgfmathparse{\pgf@sys@tonumber{\pgf@x}/28.45274}%
-\global\let\tkzresultx\pgfmathresult
-\pgfmathparse{\pgf@sys@tonumber{\pgf@y}/28.45274}%
-\global\let\tkzresulty\pgfmathresult
-\global\expandafter\edef\csname #3x\endcsname{\tkzresultx}%
-\global\expandafter\edef\csname #3y\endcsname{\tkzresulty}%
-\endgroup
-}
-\let\tkzGetVecCoord\tkzGetVectxy
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-\def\tkz@numv{0}
-\pgfkeys{/tkzdefv/.cd,
-K/.code = {\pgfmathparse{#1}\global\def\tkz@ratio{\pgfmathresult}},
-colinear/.code args = {at #1}{\global\def\tkz@numv{0}%
- \global\def\tkz@frompoint{#1}},
-orthogonal/.code = {\global\def\tkz@numv{1}},
-linear/.code = {\global\def\tkz@numv{2}}\pgfmathparse{#1},
-normed orthogonal/.code = {\global\def\tkz@numv{3}},
-normed linear/.code = {\global\def\tkz@numv{4}},
-}
-\def\tkzDefVector[#1](#2,#3)#4{%
-\begingroup
-\pgfkeys{/tkzdefv/.cd,K=1}
-\pgfqkeys{/tkzdefv}{#1}
-\ifcase\tkz@numv%
- % first case 0
- \tkzDefVectorfrom[\tkz@ratio](#2,#3){#4}
- \or% 1
- \tkz@VecKOrth[\tkz@ratio](#2,#3){#4}
- \or% 2
- \tkz@VecK[\tkz@ratio](#2,#3){#4}
- \or% 3
- \tkz@VecKOrthNorm[\tkz@ratio](#2,#3){#4}
- \or% 4
- \tkz@VecKCoLinear[#1](#2,#3)#4
- \fi
-\endgroup
-}
-
-\def\tkzDefVectorfrom[#1](#2,#3)#4{%
-\begingroup
- \pgfpointdiff{\pgfpointanchor{#2}{center}}%
- {\pgfpointanchor{#3}{center}}%
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- \path[coordinate](\tkz@frompoint)--+(\tkz@ratio\pgf@xa,%
- \tkz@ratio\pgf@ya) coordinate (#4);
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% VecKCoLinear CN = K x AB #1 pt #2 pt #3 pt #4 nb #5 pt result
-% il faut modifier cette macro : on supprime #3 pour la colinéarité
-% Il suffit d'utiliser Replicate ou Duplicate coeff dans #1
-% v(CD)=#1 x v(AB) #1 le coeff; #2-->A #3-->B #4-->C #5-->N
-%<--------------------------------------------------------------------------–>
-\def\tkzVecKCoLinear{\pgfutil@ifnextchar[{\tkz@VecKCoLinear}{\tkz@VecKCoLinear[1]}}
-\def\tkz@VecKCoLinear[#1](#2,#3,#4)#5{%
-\begingroup
- \pgfpointdiff{\pgfpointanchor{#2}{center}}%
- {\pgfpointanchor{#3}{center}}%
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- \pgfmathparse{#1}\edef\tkz@coeff{\pgfmathresult}
- \path[coordinate](#4)--+(\tkz@coeff\pgf@xa,\tkz@coeff\pgf@ya)%
- coordinate (#5);%
-\endgroup
-}%
-%<--------------------------------------------------------------------------–>
-% v(AN)=#1 x v(AB)
-% #1 le coeff; #2--> A #3--> B #4-->N tq #4-#2 = #1*(#3-#2)
-%<--------------------------------------------------------------------------–>
-\pgfkeys{
- /tkzscalev/.cd,
- ratio/.code = {\pgfmathparse{#1}\global\edef\tkz@ratio{\pgfmathresult}}
- }
-\def\tkzScaleVector{\pgfutil@ifnextchar[{\tkz@ScaleVector}{%
- \tkz@ScaleVector[]}}
-\def\tkz@ScaleVector[#1](#2,#3)#4{%
-\begingroup
-\pgfkeys{/tkzscalev/.cd,ratio=-1}
-\pgfqkeys{/tkzscalev}{#1}
- \pgfpointdiff{\pgfpointanchor{#2}{center}}%
- {\pgfpointanchor{#3}{center}}%
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- \path[coordinate](#2)--++(\pgf@xa *\tkz@ratio,\pgf@ya *\tkz@ratio)%
- coordinate (#4);%
-\endgroup
-}%
-%<--------------------------------------------------------------------------–>
-% Outils pour les vecteurs
-%<--------------------------------------------------------------------------–>
-% ce sont des outils élémentaires qui à partir de deux points en définissent
-% un troisième
-% #1 si c'est une option alors c'est un nombre réel
-% #2 et #3 sont deux points
-% #4 est le nom du point qui résulte de la transformation
-% exemple : \tkzVecKNorm (A,B){C} définit un point C tel que AC = 1 et C est % % un point de la droite (AC). #1 peut être négatif
-
-%<--------------------------------------------------------------------------–>
-% VectorNormalised ou K*VectorNormalised
-% A-->#2 B-->#3 N-->#4 v(AB) devient v(AN) tq ||v(AN)||=1 si #1=1
-% sinon ||v(AN)||=#1
-%<--------------------------------------------------------------------------–>
-\def\tkzVecKNorm{\pgfutil@ifnextchar[{\tkz@VecKNorm}{\tkz@VecKNorm[1]}}
-\def\tkz@VecKNorm[#1](#2,#3)#4{%
-\begingroup
- \tkzpointnormalised{%
- \pgfpointdiff{\pgfpointanchor{#2}{center}}
- {\pgfpointanchor{#3}{center}}}
- \pgf@xa=\pgf@x\relax%
- \pgf@ya=\pgf@y\relax%
- \pgfmathparse{#1}\edef\tkz@coeff{\pgfmathresult}
- \FPmul\tkz@coeff{28.45274}{\tkz@coeff}
- \FPmul\tkz@x{\tkz@coeff}{\pgf@sys@tonumber{\pgf@xa}}
- \FPmul\tkz@y{\tkz@coeff}{\pgf@sys@tonumber{\pgf@ya}}
- \path[coordinate](#2)--++(\tkz@x pt,\tkz@y pt)%
- coordinate (#4);%
-\endgroup
-}%
-%<--------------------------------------------------------------------------–>
-% v(AN)=#1 x v(AB)
-% #1 le coeff; #2--> A #3--> B #4-->N tq #4-#2 = #1*(#3-#2)
-%<--------------------------------------------------------------------------–>
-\def\tkzVecK{\pgfutil@ifnextchar[{\tkz@VecK}{\tkz@VecK[1]}}
-\def\tkz@VecK[#1](#2,#3)#4{%
-\begingroup
- \pgfpointdiff{\pgfpointanchor{#2}{center}}%
- {\pgfpointanchor{#3}{center}}%
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- \pgfmathparse{#1}\edef\tkz@coeff{\pgfmathresult}
- \path[coordinate](#2)--++(\pgf@xa *\tkz@coeff,%
- \pgf@ya *\tkz@coeff)%
- coordinate (#4);%
-\endgroup
-}%
-%<--------------------------------------------------------------------------–>
-% tkzVector K Orth coeff dans #1
-% v(AN) perp v(AB) v(AB) v(AN) sens direct cercle trigo
-% ||v(AN)||=||v(AB)||
-%<--------------------------------------------------------------------------–>
-\def\tkzVecKOrth{\pgfutil@ifnextchar[{\tkz@VecKOrth}{\tkz@VecKOrth[1]}}
-\def\tkz@VecKOrth[#1](#2,#3)#4{%
-\begingroup
- \pgfpointdiff{\pgfpointanchor{#2}{center}}%
- {\pgfpointanchor{#3}{center}}%
- \pgf@xa=-\pgf@y%
- \pgf@ya=\pgf@x%
- \pgfmathparse{#1}\edef\tkz@coeff{\pgfmathresult}
- \path[coordinate](#2)--++(\tkz@coeff\pgf@xa,\tkz@coeff\pgf@ya)%
- coordinate (#4);%
-\endgroup
-}%
-%<--------------------------------------------------------------------------–>
-% tkzVecKOrthNorm coeff dans #1
-% v(AN) perp v(AB) v(AB) v(AN) sens direct cercle trigo
-% ||v(AN||=1 si #1 est vide ou =1 sinon ||v(AN||=K
-%<--------------------------------------------------------------------------–>
-\def\tkzVecKOrthNorm{\pgfutil@ifnextchar[{\tkz@VecKOrthNorm}%
- {\tkz@VecKOrthNorm[1]}}
-\def\tkz@VecKOrthNorm[#1](#2,#3)#4{%
-\begingroup
- \tkzpointnormalised{\pgfpointdiff{\pgfpointanchor{#2}{center}}%
- {\pgfpointanchor{#3}{center}}}
- \pgf@xa=-\pgf@y%
- \pgf@ya=\pgf@x%
- \FPmul\tkz@coeff{28.45274}{#1}
- \FPmul\tkz@x{\tkz@coeff}{\pgf@sys@tonumber{\pgf@xa}}
- \FPmul\tkz@y{\tkz@coeff}{\pgf@sys@tonumber{\pgf@ya}}
- \path[coordinate](#2)--++(\tkz@x pt,\tkz@y pt)%
- coordinate (#4);%
-\endgroup
-}%
-%<--------------------------------------------------------------------------–>
-% \tkzpointnormalised normalise un point A-->A' tq ||v(OA')=1||
-% équivalent de \pgfpointnormalised avec fp
-% example
-% \tkzpointnormalised{%
-% \pgfpointdiff{\pgfpointanchor{A}{center}}
-% {\pgfpointanchor{B}{center}}}
-
-% or
-% \pgf@x=1 cm
-% \pgf@y=12 cm
-% \tkzpointnormalised{} %<--------------------------------------------------------------------------–>
-\def\tkzpointnormalised#1{%
-\pgf@process{#1}%
-\FPmul{\tkz@sx}{\pgf@sys@tonumber{\pgf@x}}{\pgf@sys@tonumber{\pgf@x}}
-\FPmul{\tkz@sy}{\pgf@sys@tonumber{\pgf@y}}{\pgf@sys@tonumber{\pgf@y}}
-\FPadd{\tkz@sxy}{\tkz@sx}{\tkz@sy}
-\FProot{\tkz@den}{\tkz@sxy}{2}
-\FPdiv{\tkz@coordx}{\pgf@sys@tonumber{\pgf@x}}{\tkz@den}
-\FPround{\tkz@coordx}{\tkz@coordx}{5}
-\FPdiv{\tkz@coordy}{\pgf@sys@tonumber{\pgf@y}}{\tkz@den}
-\FPround{\tkz@coordy}{\tkz@coordy}{5}
-\pgf@x = \tkz@coordx pt
-\pgf@y = \tkz@coordy pt
-}
-%<--------------------------------------------------------------------------–>
-% restaure and save length
-\def\tkz@save@length{%
-\global\let\tkz@temp@length\tkzLengthResult}%
-\def\tkz@restore@length{%
- \global\let\tkzLengthResult\tkz@temp@length }%
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-% \tkzCalcLength Distance entre deux points en pt ou en cm avec FP
-% \veclen mais avec fp
-% option cm le résultat est en cm sinon en pt
-%<--------------------------------------------------------------------------–>
-
-\newif\iftkzLengthIncm
-\pgfkeys{
-DefVecLen/.cd,
- cm/.is if = tkzLengthIncm,
- cm/.default = true}
-
-\def\tkzCalcLength{\pgfutil@ifnextchar[{\tkz@CalcLength}{\tkz@CalcLength[]}}
-\def\tkz@CalcLength[#1](#2,#3){%
-\pgfkeys{DefVecLen/.cd, cm = false}
-\pgfqkeys{/DefVecLen}{#1}%
-\begingroup
-\tkz@@CalcLength(#2,#3){tkzLengthResult}
-\iftkzLengthIncm
- \FPdiv\tkzFPMathLen{\tkzFPMathLen}{28.45274}
- \FPround\tkzFPMathLen\tkzFPMathLen5\relax%
- \global\let\tkzLengthResult\tkzFPMathLen
-\fi
-\endgroup
-}%
-\def\tkz@@CalcLength(#1,#2)#3{%
-\pgfpointdiff{\pgfpointanchor{#1}{center}}%
- {\pgfpointanchor{#2}{center}}%
-\pgf@xa=\pgf@x%
-\pgf@ya=\pgf@y%
-\FPeval\tkz@temp@a{\pgfmath@tonumber{\pgf@xa}}%
-\FPeval\tkz@temp@b{\pgfmath@tonumber{\pgf@ya}}%
-\FPeval\tkz@temp@sum{(\tkz@temp@a*\tkz@temp@a+\tkz@temp@b*\tkz@temp@b)}%
-\FProot{\tkzFPMathLen}{\tkz@temp@sum}{2}%
-\FPround\tkzFPMathLen\tkzFPMathLen5\relax
-\global\expandafter\edef\csname #3\endcsname{\tkzFPMathLen}
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzGetLength#1{%
-\global\expandafter\edef\csname #1\endcsname{\tkzLengthResult}}
-%<--------------------------------------------------------------------------–>
-% \tkzpttocm passage de pt à cm div par 28.45274
-%<--------------------------------------------------------------------------–>
-\def\tkzpttocm(#1)#2{%
-\begingroup
- \FPdiv\tkz@mathresult{#1}{28.45274}
- \FPround\tkz@mathresult\tkz@mathresult5\relax%
- \global\let\tkz@mathresult\tkz@mathresult
- \global\expandafter\edef\csname #2\endcsname{\tkz@mathresult}%
-\endgroup
-}%
-%<--------------------------------------------------------------------------–>
-% \tkzcmtopt passage de cm à pt mul par 28.45274 %<--------------------------------------------------------------------------–
-\def\tkzcmtopt(#1)#2{%
-\begingroup
- \FPmul\tkz@mathresult{#1}{28.45274}
- \FPround\tkz@mathresult\tkz@mathresult5\relax%
- \global\let\tkz@mathresult\tkz@mathresult
-\global\expandafter\edef\csname #2\endcsname{\tkz@mathresult}%
-\endgroup
-}%
-%<--------------------------------------------------------------------------–>
-% Slope
-%<--------------------------------------------------------------------------–>
-\def\tkzFindSlope{\tkz@FindSlope}
-\def\tkz@FindSlope(#1,#2)#3{%
- \begingroup
- \tkzpointnormalised{\pgfpointdiff{\pgfpointanchor{#1}{center}}%
- {\pgfpointanchor{#2}{center}}}
- \tkz@ax=\pgf@x\relax%
- \tkz@ay=\pgf@y\relax%
- \FPdiv{\tkz@Slope}{\pgfmath@tonumber{\tkz@ay}}{\pgfmath@tonumber{\tkz@ax}}
- \FPround{\tkz@Slope}{\tkz@Slope}{5}
- \global\expandafter\edef\csname #3\endcsname{\tkz@Slope}%
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-%<----------------– for compatibility --------------------------------------–>
-%<--------------------------------------------------------------------------–>
-\def\tkzmathanglebetweenpoints#1#2{%
-\begingroup
- \pgf@process{\pgfpointdiff{#1}{#2}}%
- %
- % First approximate the angle of the external point...
- %
- \pgf@xa\pgf@x%
- \pgf@ya\pgf@y%
- \pgf@xb\pgf@x%
- \pgf@yb\pgf@y%
- \ifdim\pgf@xa<0pt\relax%
- \pgf@xa-\pgf@xa%
- \fi
- \ifdim\pgf@ya<0pt\relax%
- \pgf@ya-\pgf@ya%
- \fi
- \ifdim\pgf@ya>\pgf@xa%
- \pgf@x\pgf@xa%
- \pgf@y\pgf@ya%
- \else
- \pgf@x\pgf@ya%
- \pgf@y\pgf@xa%
- \fi
- \ifdim\pgf@y=0pt\relax%
- \pgf@x0pt%
- \else
- \FPdiv\pgfmathresult{1}{\pgfmath@tonumber{\pgf@y}}
- \FPround\pgfmathresult\pgfmathresult5\relax%
- \pgf@x\pgfmathresult\pgf@x%
- \fi
- \multiply\pgf@x1000\relax%
- \afterassignment\pgfmath@gobbletilpgfmath@%
- \expandafter\c@pgf@counta\the\pgf@x\relax\pgfmath@%
-\expandafter\pgf@x\csname pgfmath@atan@\the\c@pgf@counta\endcsname pt\relax%
- \ifdim\pgfmath@ya>\pgfmath@xa\relax%
- \pgf@x-\pgf@x%
- \advance\pgf@x90pt%
- \fi
- \ifdim\pgf@xb<0pt%
- \ifdim\pgf@yb>0pt%
- \pgf@x-\pgf@x%
- \fi
- \advance\pgf@x180pt\relax%
- \else
- \ifdim\pgf@yb<0pt%
- \pgf@x-\pgf@x%
- \advance\pgf@x360pt\relax%
- \fi
- \fi
- \ifdim\pgf@x>180pt%
- \advance\pgf@x-360pt\relax%
- \fi
- \pgfmath@returnone\pgf@x%
- \endgroup
-}
-
-% \tkzmathrotatepointaround
-%
-% Rotate point #1 about point #2 by #3 degrees.
-%
-\def\tkzmathrotatepointaround#1#2#3{%
- \pgf@process{%
- \pgf@process{#1}%
- \pgf@xc=\pgf@x%
- \pgf@yc=\pgf@y%
- \pgf@process{#2}%
- \pgf@xa\pgf@x%
- \pgf@ya\pgf@y%
- \pgf@xb\pgf@x%
- \pgf@yb\pgf@y%
- \pgf@x=\pgf@xc%
- \pgf@y=\pgf@yc%
- \advance\pgf@x-\pgf@xa%
- \advance\pgf@y-\pgf@ya%
- \pgfmathsetmacro\tkz@angle{#3}%
- \pgfmathsin@{\tkz@angle}%
- \let\sineangle\pgfmathresult%
- \pgfmathcos@{\tkz@angle}%
- \let\cosineangle\pgfmathresult%
- \pgf@xa\cosineangle\pgf@x%
- \advance\pgf@xa-\sineangle\pgf@y%
- \pgf@ya\sineangle\pgf@x%
- \advance\pgf@ya\cosineangle\pgf@y%
- \pgf@x\pgf@xb%
- \pgf@y\pgf@yb%
- \advance\pgf@x\pgf@xa%
- \advance\pgf@y\pgf@ya%
- }%
-}
-
-
-% \tkzmathanglebetweenlines
-%
-% Calculate the clockwise angle between a line from point #1
-% to point #2 and a line from #3 to point #4.
-%
-\def\tkzmathanglebetweenlines#1#2#3#4{%
- \begingroup
- \tkzmathanglebetweenpoints{#1}{#2}%
- \let\firstangle\pgfmathresult%
- \tkzmathanglebetweenpoints{#3}{#4}%
- \let\secondangle\pgfmathresult%
- \ifdim\firstangle pt>\secondangle pt\relax%
- \pgfmathadd@{\secondangle}{360}%
- \let\secondangle\pgfmathresult%
- \fi
- \pgfmathsubtract@{\secondangle}{\firstangle}%
- \pgfmath@smuggleone\pgfmathresult%
- \endgroup
-}
-% \pgfmathpointreflectalongaxis
-%
-% Reflects point #2 around an axis centered on #2 at an angle #3.
-%
-\def\tkzmathreflectpointalongaxis#1#2#3{%
- \pgf@process{%
- \pgfmathanglebetweenpoints{#2}{#1}%
- \pgfmath@tempdima\pgfmathresult pt\relax%
- \pgfmathparse{#3}%
- \advance\pgfmath@tempdima-\pgfmathresult pt\relax%
- \pgfmath@tempdima-2.0\pgfmath@tempdima%
- \pgfmathrotatepointaround{#1}{#2}{\pgfmath@tonumber{\pgfmath@tempdima}}%
- }%
-}
-
-
-% \pgfmathpointintersectionoflineandarc
-%
-% A bit experimental at the moment:
-%
-% Locates the point where a line crosses an eliptical arc. If the line
-% does not cross the arc, a meaningless point will result.
-%
-% #1 the point of the line on the "convex" side of the arc.
-% #2 the point of the line on the "concave" side of the arc.
-% #3 the center of the eliptical arc.
-% #4 start angle of the arc.
-% #5 end angle of the arc.
-% #6 radii of the arc.
-%
-\def\tkzmathpointintersectionoflineandarc#1#2#3#4#5#6{%
- \pgf@process{%
- %
- % Get the required angle.
- %
- \pgfmathanglebetweenpoints{#2}{#1}%
- \let\x\pgfmathresult%
- %
- % Get the radii of the arc.
- %
- \pgfmath@in@{and }{#6}%
- \ifpgfmath@in@%
- \pgf@polar@#6\@@%
- \else
- \pgf@polar@#6 and #6\@@%
- \fi
- \edef\xarcradius{\the\pgf@x}%
- \edef\yarcradius{\the\pgf@y}%
- %
- % Get the start and end angles of the arc...
- %
- \pgfmathsetmacro\s{#4}%
- \pgfmathsetmacro\e{#5}%
- %
- % ...and also with rounding.
- %
- \pgfmathmod@{\s}{360}%
- \ifdim\pgfmathresult pt<0pt\relax%
- \pgfmathadd@{\pgfmathresult}{360}%
- \fi
- \let\ss\pgfmathresult%
- \pgfmathmod@{\e}{360}%
- \ifdim\pgfmathresult pt<0pt\relax%
- \pgfmathadd@{\pgfmathresult}{360}%
- \fi
- \let\ee\pgfmathresult%
- %
- % Hackery for when arc straddles zero.
- %
- \ifdim\ee pt<\ss pt\relax%
- \pgfmathadd@{\x}{180}%
- \pgfmathmod@{\pgfmathresult}{360}%
- \let\x\pgfmathresult%
- \fi
- \def\m{360}% Measure of nearness.
- \pgfmathadd@{\s}{\e}%
- \pgfmathdivide@{\pgfmathresult}{2}%
- \let\n\pgfmathresult% The best estimate (default to middle of arc).
- \pgfmathloop%
- \pgfmathadd@{\s}{\e}%
- \pgfmathdivide@{\pgfmathresult}{2}%
- \let\p\pgfmathresult%
- \ifdim\p pt=\s pt\relax%
- \else
- \tkzmathanglebetweenpoints{#2}{%
- \pgfpointadd{#3}{%
- \pgf@x\xarcradius\relax%
- \pgfmathcos@{\p}%
- \pgf@x\pgfmathresult\pgf@x%
- \pgf@y\yarcradius\relax%
- \pgfmathsin@{\p}%
- \pgf@y\pgfmathresult\pgf@y%
- }%
- }%
- %
- % Hackery for when arc straddles zero.
- %
- \ifdim\ee pt<\ss pt\relax%
- \pgfmathadd@{\pgfmathresult}{180}%
- \pgfmathmod@{\pgfmathresult}{360}%
- \fi
- \let\q\pgfmathresult%
- %
- % More hackery...
- %
- \ifdim\x pt>335pt\relax%
- \ifdim\q pt<45pt\relax%
- \pgfmathadd@{\q}{360}%
- \let\q\pgfmathresult%
- \fi
- \fi
- \ifdim\x pt=\q pt% Found it!
- \pgfmathbreakloop% Breaks after current iteration is complete.
- \else
- \ifdim\x pt<\q pt\relax%
- \let\e\p%
- \else
- \let\s\p%
- \fi
- \fi
- \pgfmathsubtract@{\x}{\q}%
- \pgfmathabs@{\pgfmathresult}%
- %
- % Save the estimate if it is better than any previous estimate.
- %
- \ifdim\pgfmathresult pt<\m pt\relax%
- \let\m\pgfmathresult%
- \let\n\p%
- \fi
- \repeatpgfmathloop%
- \pgfpointadd{#3}{\pgfpointpolar{\n}{\xarcradius and \yarcradius}}%
- }%
-}
-
-% \tkzmathangleonellipse
-%
-% Find the angle corresponding to a point on the border of an ellispe.
-%
-% #1 - the point on the border.
-% #2 - the radii of the ellipse.
-%
-\def\tkzmathangleonellipse#1#2{%
- \begingroup
- \pgfmath@in@{and }{#2}%
- \ifpgfmath@in@%
- \pgf@polar@#2\@@%
- \else
- \pgf@polar@#2 and #2\@@%
- \fi
- \pgf@xa\pgf@x%
- \pgf@ya\pgf@y%
- \pgf@process{#1}%
- \ifdim\pgf@x=0pt\relax%
- \pgfutil@tempdima1pt\relax%
- \else
- \pgfutil@tempdima\pgf@x%
-%\pgfmathdivide@{\pgfmath@tonumber{\pgf@xa}}{\pgfmath@tonumber{\pgfutil@tempdima}}%
-\FPdiv\pgfmathresult{\pgfmath@tonumber{\pgf@xa}}{\pgfmath@tonumber{\pgfutil@tempdima}}
-\FPround\pgfmathresult\pgfmathresult5\relax%
- \pgfutil@tempdima\pgfmathresult pt\relax%
- \fi
- \ifdim\pgf@y=0pt\relax%
- \pgfutil@tempdima1pt\relax%
- \else
- % \pgfmathdivide@{\pgfmath@tonumber{\pgf@y}}{\pgfmath@tonumber{\pgf@ya}}%
- \FPdiv\pgfmathresult{\pgfmath@tonumber{\pgf@y}}{%
- \pgfmath@tonumber{\pgf@ya}}%
- \FPround\pgfmathresult\pgfmathresult5\relax%
- \pgfutil@tempdima\pgfmathresult\pgfutil@tempdima%
- \pgfmathatan@{\pgfmath@tonumber{\pgfutil@tempdima}}%
- \fi
- %
- \pgfutil@tempdima\pgfmathresult pt\relax%
- \ifdim\pgfutil@tempdima<0pt\relax%
- \advance\pgfutil@tempdima360pt\relax%
- \fi
- \ifdim\pgf@x<0pt\relax%
- \ifdim\pgf@y=0pt\relax%
- \pgfutil@tempdima180pt\relax%
- \else
- \ifdim\pgf@y<0pt\relax%
- \advance\pgfutil@tempdima180pt\relax%
- \else
- \advance\pgfutil@tempdima-180pt\relax%
- \fi
- \fi
- \else
- \ifdim\pgf@x=0pt\relax%
- \ifdim\pgf@y<0pt\relax%
- \pgfutil@tempdima270pt\relax%
- \else
- \pgfutil@tempdima90pt\relax%
- \fi
- \else
- \ifdim\pgf@y=0pt\relax%
- \pgfutil@tempdima0pt\relax%
- \fi
- \fi
- \fi
- \pgfmath@returnone\pgfutil@tempdima%
- \endgroup
-}
-
-\def\tkzpointborderellipse#1#2{%
- \pgf@process{#2}%
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- \ifdim\pgf@xa=\pgf@ya% circle. that's easy!
- \pgf@process{\pgfpointnormalised{#1}}%
- \pgf@x=\pgf@sys@tonumber{\pgf@xa}\pgf@x%
- \pgf@y=\pgf@sys@tonumber{\pgf@xa}\pgf@y%
- \else
- \ifdim\pgf@xa<\pgf@ya%
- % Ok, first, let's compute x/y:
- \c@pgf@countb=\pgf@ya%
- \divide\c@pgf@countb by65536\relax%
- \divide\pgf@x by\c@pgf@countb%
- \divide\pgf@y by\c@pgf@countb%
- \pgf@xc=\pgf@x%
- \pgf@yc=8192pt%
- \pgf@y=.125\pgf@y%
- \c@pgf@countb=\pgf@y%
- \divide\pgf@yc by\c@pgf@countb%
- \pgf@process{#1}%
- \pgf@y=\pgf@sys@tonumber{\pgf@yc}\pgf@y%
- \pgf@y=\pgf@sys@tonumber{\pgf@xc}\pgf@y%
- \pgf@process{\pgfpointnormalised{}}%
- \pgf@x=\pgf@sys@tonumber{\pgf@xa}\pgf@x%
- \pgf@y=\pgf@sys@tonumber{\pgf@ya}\pgf@y%
- \else
- % Ok, now let's compute y/x:
- \c@pgf@countb=\pgf@xa%
- \divide\c@pgf@countb by65536\relax%
- \divide\pgf@x by\c@pgf@countb%
- \divide\pgf@y by\c@pgf@countb%
- \pgf@yc=\pgf@y%
- \pgf@xc=8192pt%
- \pgf@x=.125\pgf@x%
- \c@pgf@countb=\pgf@x%
- \divide\pgf@xc by\c@pgf@countb%
- \pgf@process{#1}%
- \pgf@x=\pgf@sys@tonumber{\pgf@yc}\pgf@x%
- \pgf@x=\pgf@sys@tonumber{\pgf@xc}\pgf@x%
- \pgf@process{\pgfpointnormalised{}}%
- \pgf@x=\pgf@sys@tonumber{\pgf@xa}\pgf@x%
- \pgf@y=\pgf@sys@tonumber{\pgf@ya}\pgf@y%
- \fi
- \fi
-}
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-misc.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-misc.tex
deleted file mode 100644
index 1b77e7b958..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-misc.tex
+++ /dev/null
@@ -1,181 +0,0 @@
-% Copyright 2011 by Alain Matthes
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-
-
-\def\fileversion{1.16 d}
-\def\filedate{2018/09/19}
-
-
-%<--------------------------------------------------------------------------–>
-% tkzText
-%<--------------------------------------------------------------------------–>
-\newif\iftkz@node\tkz@nodefalse
-
-\def\tkz@parsenode#1{%
-\tkz@getvirg#1,\@nil
-\iftkz@node
-\else
- \tkz@getfromcart#1\@nil
-\fi
-}
-\def\tkz@getvirg#1,#2\@nil{%
-\ifx\tkzempty#2\tkzempty%
- \tkz@nodetrue
-\else
- \tkz@nodefalse
-\fi
-}
-
-
-\def\tkzText{\pgfutil@ifnextchar[{\tkz@Text}{\tkz@Text[]}}
-\def\tkz@Text[#1](#2)#3{%
- \begingroup
- \tkz@parsenode{#2}
- \iftkz@node \node[#1] at (#2){#3};
- \else
- \FPadd{\ptxa}{\tkz@absc}{-\tkz@init@xorigine}
- \FPadd{\ptya}{\tkz@ord}{-\tkz@init@yorigine}
- \FPdiv{\ptxa}{\ptxa}{\tkz@init@xstep}
- \FPdiv{\ptya}{\ptya}{\tkz@init@ystep}
- \node[#1] at (\ptxa,\ptya){#3};%
- \fi
-\endgroup
-}%
-% %<--------------------------------------------------------------------------–>
-% % légende
-% %<--------------------------------------------------------------------------–>
-\newif\iftkz@legend@line
-\pgfkeys{
-/tkzlegend/.cd,
-line/.is if = tkz@legend@line,
-line/.default = true,
-/tkzlegend/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
- /tikz/\searchname/.retry=#1}}
-}
-
-\def\tkzLegend{\pgfutil@ifnextchar[{\tkz@Legend}{\tkz@Legend[]}}
-\def\tkz@Legend[#1](#2,#3)#4{%
-\pgfkeys{/tkzlegend/.cd,
-line=false}
- \pgfqkeys{/tkzlegend}{#1}
- \begingroup
-\c@pgfmath@counta=0 %
-\FPadd{\ptxa}{#2}{-\tkz@init@xorigine}
-\FPadd{\ptya}{#3}{-\tkz@init@yorigine}
-\FPdiv{\ptxa}{\ptxa}{\tkz@init@xstep}
-\FPdiv{\ptya}{\ptya}{\tkz@init@ystep}
-\node[/tkzlegend/.cd,#1] at (\ptxa,\ptya) {%
-\begin{tikzpicture}
- \foreach \motif/\size/\col/\mtext in {#4}{%
- \iftkz@legend@line
- \draw[color = \col,
- line width = \size,
- style = \motif,
- text = \tkz@mainlinecolor]%
- (0cm ,\the\c@pgfmath@counta ex)--%
- (\tkz@legend@line@len,\the\c@pgfmath@counta ex)
- \else
- \draw plot[mark size = \size,%
- mark = \motif,%
- mark options = {color=\col}]%
- coordinates{(0 ex,\the\c@pgfmath@counta ex)}%
- \fi
- node[right=1ex] {\mtext};
- \global\advance\c@pgfmath@counta by 3 %
- }%
-
-\end{tikzpicture}%
-};%
-\endgroup
-}
-
-%<--------------------------------------------------------------------------–>
-% hline pb avec line
-%<--------------------------------------------------------------------------–>
-\def\tkzHLine{\pgfutil@ifnextchar[{\tkz@HLine}{\tkz@HLine[]}}
-\def\tkz@HLine[#1]#2{%
- \begingroup
- \FPeval{\tkz@valy}{(#2)}%
- \FPadd{\tkz@ptya}{\tkz@valy}{-\tkz@init@yorigine}
- \FPdiv{\tkz@ptya}{\tkz@ptya}{\tkz@init@ystep}
- \draw[#1] (\tkz@xa,\tkz@ptya)--(\tkz@xb,\tkz@ptya);%
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% hlines pb avec line
-%<--------------------------------------------------------------------------–>
-\def\tkzHLines{\pgfutil@ifnextchar[{\tkz@HLines}{\tkz@HLines[]}}
-\def\tkz@HLines[#1]#2{%
- \begingroup
- \foreach \tkz@vy in {#2}{%
- \FPeval\my@tkz@vy{\tkz@vy}
- \tkz@HLine[#1]{\my@tkz@vy}}
-\endgroup
-}
-%<--------------------------------------------------------------------------->
-% vline
-%<--------------------------------------------------------------------------->
-\def\tkzVLine{\pgfutil@ifnextchar[{\tkz@VLine}{\tkz@VLine[]}}
-\def\tkz@VLine[#1]#2{%
-\begingroup
- \FPeval\tkz@valx{(#2)}%
- \FPadd{\tkz@ptxa}{\tkz@valx}{-\tkz@init@xorigine}
- \FPdiv{\tkz@ptxa}{\tkz@ptxa}{\tkz@init@xstep}
- \draw[#1](\tkz@ptxa,\tkz@ya)--(\tkz@ptxa,\tkz@yb);
-\endgroup
-}
-
-%<--------------------------------------------------------------------------->
-% vlines
-%<--------------------------------------------------------------------------->
-\def\tkzVLines{\pgfutil@ifnextchar[{\tkz@VLines}{\tkz@VLines[]}}
-\def\tkz@VLines[#1]#2{%
-\begingroup
- \foreach \tkz@vx in {#2}{%
- \FPeval\my@tkz@vx{\tkz@vx}
- \tkz@VLine[#1]{\my@tkz@vx}}
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzHTick{\pgfutil@ifnextchar[{\tkz@HTick}{\tkz@HTick[]}}
-\def\tkz@HTick[#1]#2{%
- \begingroup
- \FPeval\tkz@ptxa{(#2)}%
- \FPround\tkz@ptxa\tkz@ptxa{5}
- \FPclip\tkz@ptxa\tkz@ptxa
- \FPadd\tkz@ptxa\tkz@ptxa{-\tkz@init@xorigine}
- \FPdiv\tkz@ptxa\tkz@ptxa{\tkz@init@xstep}
- \draw plot[mark style,#1] coordinates {(\tkz@ptxa,0)};
-\endgroup
-}
-\def\tkzHTicks{\pgfutil@ifnextchar[{\tkz@HTicks}{\tkz@HTicks[]}}
-\def\tkz@HTicks[#1]#2{%
- \begingroup
-\foreach \tkz@hy in {#2} {\tkz@HTick[#1]{\tkz@hy}}
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzVTick{\pgfutil@ifnextchar[{\tkz@VTick}{\tkz@VTick[]}}
-\def\tkz@VTick[#1]#2{%
- \begingroup
- \FPeval\tkz@ptya{(#2)}%
- \FPround\tkz@ptya\tkz@ptya{5}%
- \FPclip\tkz@ptya\tkz@ptya
- \FPadd\tkz@ptya\tkz@ptya{-\tkz@init@yorigine}%
- \FPdiv\tkz@ptya\tkz@ptya{\tkz@init@ystep}%
- \draw plot[mark style,#1] coordinates {(0,\tkz@ptya)};
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzVTicks{\pgfutil@ifnextchar[{\tkz@VTicks}{\tkz@VTicks[]}}
-\def\tkz@VTicks[#1]#2{%
-\begingroup
-\foreach \tkz@hy in {#2} {\tkz@VTick[#1]{\tkz@hy}}
-\endgroup
-}
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-obsolete.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-obsolete.tex
deleted file mode 100644
index 82f7e1bcbb..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-obsolete.tex
+++ /dev/null
@@ -1,219 +0,0 @@
-\makeatletter
-\global\edef\tkz@sua@lw{0.4pt}
-\global\edef\tkz@sua@color{black}
-\global\edef\tkz@sua@gradsize{\textstyle}
-\global\edef\tkz@sua@tickwd{0.8 pt}
-\global\edef\tkz@sua@ticka{2 pt}
-\global\edef\tkz@sua@tickb{2 pt}
-
-
-
-\def\tkzX{\pgfutil@ifnextchar[{\tkz@X}{\tkz@X[]}}
-\def\tkz@X[#1]{%
-\begingroup
- \pgfkeys{/tkzX/.cd,
- trig = 0,
- lw = \tkz@sua@lw,
- gradsize = \tkz@sua@gradsize,
- color = \tkz@sua@color,
- tickwd = \tkz@sua@tickwd,
- tickup = \tkz@sua@ticka,
- tickdn = \tkz@sua@tickb,
- pos = {below = 3pt},
- label = $x$,
- poslabel = {below = 3pt},
- noticks = false,
- nograd = false,
-% unit = false,
- orig = false,
- step = \tkz@init@xstep
- }
- \pgfqkeys{/tkzX}{#1}
- \FPtrunc\posmax{\tkz@xb}{\tkz@init@xdec}%
- \FPtrunc\posmin{\tkz@xa}{\tkz@init@xdec}%
- \FPdiv\tkz@posnext{\tkz@posnext}{\tkz@init@xstep}
- \FPadd\posnext{\posmin}{\tkz@posnext}
- \FPadd\tkz@xbsup{\tkz@xb}{\tkz@init@rightspace}
- \path (\tkz@xa,0)--(\tkz@xb,0) node(tkz@xline){};%
- \protected@edef\tkz@temp{%
- \noexpand%
- \draw[xaxe style,line width = \tkz@X@lw,%
- color = \tkz@X@color]%
- (\tkz@xa,0)--(\tkz@xbsup,0)%
- node[xlabel style,\tkz@X@poslabel]}\tkz@temp%
- {\tkz@X@label};%
- \FPtrunc\xtkzero{0.0000000}{\tkz@init@xdec}%
- \iftkz@X@noticks%
- \else
-\ifnum\tkz@X@trig=0%
- \FPtrunc\posmax{\posmax}{\tkz@init@xdec}%
- \foreach \pos in {\posmin,\posnext,...,\posmax}{%
- \FPtrunc\tkz@pos{\pos}{\tkz@init@xdec}%
- \protected@edef\tkz@temp{%
- \noexpand%
- \draw[line width = \tkz@X@tickwd,shift = {(\pos,0)}]%
- (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickdn)%
- node[\tkz@X@pos,inner sep = 0pt]}\tkz@temp
- {\FPmul{\xgrad}{\pos}{\tkz@init@xstep}%
- \FPadd{\xgrad}{\xgrad}{\tkz@init@xorigine}%
- \FPtrunc\xgrad{\xgrad}{\tkz@init@xdec}%
- \iftkz@X@orig%
- \iftkz@X@nograd
- \else\tkz@showgrad{\xgrad}%
- $\textcolor{\tkz@sur@colorlabel}{%
- \tkz@X@gradsize{\numprint{\tkz@result}}}$%
- \fi
- \else % orig
- \iftkz@init@NO%
- \ifx\tkz@pos\posmin
- \else
- \tkz@showgrad{\xgrad}%
- $\textcolor{\tkz@sur@colorlabel}{%
- \tkz@X@gradsize{\numprint{\tkz@result}}}$
- \fi
- \else % NO
- \ifx\tkz@pos\xtkzero%
- % \iftkz@X@unit\tkz@showgrad{\xgrad}%
- % $\textcolor{\tkz@sur@colorlabel}{%
- % \tkz@X@gradsize{\numprint{\tkz@result}}}$
- % \fi
- \else
- \iftkz@X@nograd%
- \else\tkz@showgrad{\xgrad}%
- $\textcolor{\tkz@sur@colorlabel}{%
- \tkz@X@gradsize{\numprint{\tkz@result}}}$
- \fi
- \fi%end of xtkzero
- \fi%end of NO
- \fi%end of orig
-};% end of draw
-}% end foreach
- \else %trig affichage
- \FPadd{\posmin}{\posmin}{0.5}%
- \FPdiv\nbtrigticksmax{\posmax}{\FPpi}%
- \FPdiv\nbtrigticksmin{\posmin}{\FPpi}%
- \FPmul\nbtrigticksmax{\nbtrigticksmax}{\tkz@X@trig}%
- \FPmul\nbtrigticksmin{\nbtrigticksmin}{\tkz@X@trig}%
- \FPround\nbtrigticksmin{\nbtrigticksmin}{0}%
- \foreach \pos in {\nbtrigticksmin,...,\nbtrigticksmax}{%
- \FPmul\pospi{\pos}{\FPpi}
- \FPdiv\pospi{\pospi}{\tkz@X@trig}%
- \protected@edef\tkz@temp{%
- \noexpand\draw[line width = \tkz@X@tickwd,%
- shift = {(\pospi,0)}]%
- (0pt,\tkz@X@tickup)--(0pt,-\tkz@X@tickup)%
- node[\tkz@X@pos,%
- text height = 8pt,%
- inner sep = 1pt]}\tkz@temp%
- {\tkzPrintFracWithPi{\pos}{\tkz@X@trig}%
- \tkzprintfrac};%
- }% end foreach
- \fi
-\fi% end ticks
-\endgroup
- }% todo macro pour l'affichage
-
-%<--------------------------------------------------------------------------–>
-% tkzY
-%<--------------------------------------------------------------------------–>
-
-\pgfkeys{
- tkzY/.cd,
- pos/.code = {\def\tkz@Y@pos{#1}},
- trig/.code = {\def\tkz@Y@trig{#1}},
- lw/.code = {\def\tkz@Y@lw{#1}},
- color/.code = {\def\tkz@Y@color{#1}},
- label/.code = {\def\tkz@Y@label{#1}},
- poslabel/.code = {\def\tkz@Y@poslabel{#1}},
- tickwd/.code = {\def\tkz@Y@tickwd{#1}},
- ticklt/.code = {\def\tkz@Y@ticklt{#1}},
- tickrt/.code = {\def\tkz@Y@tickrt{#1}},
- gradsize/.code = {\def\tkz@Y@gradsize{#1}},
- step/.code = {\def\tkz@posnext{#1}},
- noticks/.is if = tkz@Y@noticks,
- noticks/.default = true,
- nograd/.is if = tkz@Y@nograd,
- nograd/.default = true,
- orig/.is if = tkz@Y@orig,
- orig/.default = true,
- unit/.is if = tkz@Y@unit,
- unit/.default = true }
-\def\tkzY{\pgfutil@ifnextchar[{\tkz@Y}{\tkz@Y[]}}
-\def\tkz@Y[#1]{%
- \pgfkeys{/tkzY/.cd,
- trig = 0,
- lw = \tkz@sua@lw,
- gradsize = \tkz@sua@gradsize,
- color = \tkz@sua@color,
- tickwd = \tkz@sua@tickwd,
- tickrt = \tkz@sua@ticka,
- ticklt = \tkz@sua@tickb,
- label = $y$,
- poslabel = {left = 3pt},
- pos = {left = 3pt},
- noticks = false,
- nograd = false,
- unit = false,
- orig = false,
- step = \tkz@init@ystep
- }
- \pgfqkeys{/tkzY}{#1}
- \FPtrunc\posmax{\tkz@yb}{\tkz@init@ydec}%
- \FPtrunc\posmin{\tkz@ya}{\tkz@init@ydec}%
- \FPdiv\tkz@posnext{\tkz@posnext}{\tkz@init@ystep}
- \FPadd\posnext{\posmin}{\tkz@posnext}
- \path (0,\tkz@ya)--(0,\tkz@yb) node(tkz@yline){};%
- \FPadd\tkz@ybsup{\tkz@yb}{\tkz@init@upspace}
- \protected@edef\tkz@temp{%
- \noexpand%
- \draw[line width = \tkz@Y@lw,%
- color = \tkz@Y@color,yaxe style]%
- (0,\tkz@ya)--(0,\tkz@ybsup)%
- node[\tkz@Y@poslabel,ylabel style]}\tkz@temp%
- {\tkz@Y@label};%
- \FPtrunc\ytkzero{0.000000}{\tkz@init@ydec}%
- \iftkz@Y@noticks%
- \else
- \foreach \pos in {\posmin,\posnext,...,\posmax}{%
- \FPtrunc\tkz@pos{\pos}{\tkz@init@ydec}%
- \protected@edef\tkz@temp{%
- \noexpand%
- \draw[line width = \tkz@Y@tickwd,%
- shift = {(0,\pos)}]%
- (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt)%
- node[\tkz@Y@pos,inner sep = 0pt]}\tkz@temp%
- {\FPmul{\ygrad}{\pos}{\tkz@init@ystep}%
- \FPadd{\ygrad}{\ygrad}{\tkz@init@yorigine}
- \FPtrunc\ygrad{\ygrad}{\tkz@init@ydec}%
- \iftkz@Y@orig%
- \iftkz@Y@nograd\else\tkz@showgrad{\ygrad}%
- $\textcolor{\tkz@sur@colorlabel}{\tkz@Y@gradsize{\numprint{\tkz@result}}}$\fi
- \else
- \iftkz@init@NO%
- \ifx\tkz@pos \posmin\else
- \tkz@showgrad{\ygrad}%
- $\textcolor{\tkz@sur@colorlabel}{\tkz@Y@gradsize{\numprint{\tkz@result}}}$\fi
- \else
- \ifx\tkz@pos \ytkzero
- \iftkz@Y@unit\tkz@showgrad{\ygrad}%
- $\textcolor{\tkz@sur@colorlabel}{\tkz@Y@gradsize{\numprint{\tkz@result}}}$\fi\else
- \iftkz@Y@nograd%
- \else \tkz@showgrad{\ygrad}%
- $\textcolor{\tkz@sur@colorlabel}{\tkz@Y@gradsize{\numprint{\tkz@result}}}$\fi\fi
- \fi
- \fi
- };%
- }%
-\fi
-\iftkz@init@NO\else\iftkz@Y@unit%
- \draw[line width = 1pt,%
- inner sep = 1pt] (0,0) -- (0,1)%
- node[left=3pt]%
- {$\tkz@Y@gradsize{\numprint{\tkz@init@ystep}}$};%
- \draw[line width = \tkz@Y@tickwd,%
- shift = {(0,1)}]%
- (\tkz@Y@tickrt,0pt)--(-\tkz@Y@ticklt,0pt);%
- \fi\fi
-}%
-\makeatother
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-utilities.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-utilities.tex
deleted file mode 100644
index 412ad2d8d3..0000000000
--- a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-tools-utilities.tex
+++ /dev/null
@@ -1,338 +0,0 @@
-% Copyright 2011 by Alain Matthes
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-
-
-\def\fileversion{1.16 d}
-\def\filedate{2018/09/19}
-
-%<--------------------------------------------------------------------------–>
-\def\tkzutil@empty{}
-\def\tkzutil@firstofone#1{#1}
-\def\tkzutil@firstoftwo#1#2{#1}
-\def\tkzutil@secondoftwo#1#2{#2}
-%<--------------------------------------------------------------------------–>
-\long\def\tkzutil@ifundefined#1{%
- \expandafter\ifx\csname#1\endcsname\relax
- \expandafter\tkzutil@firstoftwo
- \else
- \expandafter\tkzutil@secondoftwo
- \fi}
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-\global\def\tkzActivOff{%
-\edef\tkzTwoPtCode{\the\catcode`\:}
-\edef\tkzPtExCode{\the\catcode`\!}
-\edef\tkzPtVirCode{\the\catcode`\;}
-\catcode`\:=12 \catcode`\!=12 \catcode`\;=12}%
-\global\def\tkzActivOn{%
-\catcode`\:=\tkzTwoPtCode\relax
-\catcode`\!=\tkzPtExCode\relax
-\catcode`\;=\tkzPtVirCode\relax
-}%
-
-%<----------------------------– autres tools -------------------------------->
-%<-------------------------- Initialisation -------------------------------->
-\pgfkeys{
-/tkzsupcol/.cd,
- background/.code = {\global\edef\tkz@suc@bkc{#1}},%
- text/.code = {\global\edef\tkz@suc@txt{#1}},
-}
-\def\tkzSetUpColors{\pgfutil@ifnextchar[{\tkz@SetUpColors}{\tkz@SetUpColors[]}}
-\def\tkz@SetUpColors[#1]{%
-\begingroup
-\pgfkeys{%
-tkzsupcol/.cd,
- background = \tkz@backgroundcolor,
- text = \tkz@textcolor
- }
-\pgfqkeys{/tkzsupcol}{#1}
-\global\edef\tkz@fillcolor{\tkz@suc@bkc}
-\global\edef\tkz@mainlinecolor{\tkz@suc@txt}
-\global\edef\tkz@textcolor{\tkz@suc@txt}
-\global\def\tkz@otherlinecolor{\tkz@suc@txt!50}
-\global\edef\tkz@sua@color{\tkz@mainlinecolor}
-\pagecolor{\tkz@suc@bkc}
-\color{\tkz@suc@txt}
- \InputIfFileExists{tkz-base.cfg}{\typeout{Local configuration file tkz-param.cfg found and used}}{\typeout{tkz-base.cfg not found}
-%<--------- axes cartesian system ---------------------------------------–>
-\global\edef\tkz@init@color{\tkz@textcolor}
-\global\def\tkz@init@lw{0.4 pt}
-\global\def\tkz@init@xlabel{$x$}
-\global\def\tkz@init@ylabel{$y$}
-\global\def\tkz@init@tickwd{0.8 pt}
-\global\def\tkz@init@ticka{2 pt}
-\global\def\tkz@init@tickb{2 pt}
-\global\def\tkz@init@rightspace{.5}
-\global\def\tkz@init@leftspace{0}
-\global\def\tkz@init@upspace{.5}
-\global\def\tkz@init@downspace{0}
-\global\let\tkzmathstyle\displaystyle
-\tikzset{xlabel style/.style={below=3 pt,
- inner sep = 1pt,
- outer sep = 0pt}}
-\tikzset{xaxe style/.style ={>=latex,->}}
-\tikzset{ylabel style/.style={left = 3 pt,
- inner sep = 1pt,
- outer sep = 0pt}}
-\tikzset{yaxe style/.style ={>=latex,->}}
-%<-------------------------- rep ---------------------------------------–>
-\global\edef\tkz@sur@color{\tkz@mainlinecolor}
-\global\edef\tkz@sur@colorlabel{\tkz@mainlinecolor}
-\global\def\tkz@sur@lw{0.8 pt}
-\global\def\tkz@sur@posxlabel{below=2pt}
-\global\def\tkz@sur@posylabel{left=2pt}
-%<-------------------------- grid ---------------------------------------–>
-\global\edef\tkz@grid@color{gray}
-\global\def\tkz@grid@lw{0.4 pt}
-\global\def\tkzCoeffSubColor{50}
-\global\def\tkzCoeffSubLw{0.8}
-\global\def\tkz@grid@xstep{0.2}
-\global\def\tkz@grid@ystep{0.2}
-%<-------------------------- line ---------------------------------------–>
-\global\edef\tkz@euc@linecolor{\tkz@mainlinecolor}
-\global\def\tkz@euc@linewidth{0.6pt}
-\global\def\tkz@euc@linestyle{solid}
-\global\def\tkz@euc@lineleft{.2}
-\global\def\tkz@euc@lineright{.2}
-\global\def\tkz@legend@line@len{1cm}
-\global\edef\tkz@euc@segmentcolor{\tkz@mainlinecolor}
-\global\edef\tkz@euc@circlecolor{\tkz@mainlinecolor}
-\tikzset{line style/.style={%
- line width = \tkz@euc@linewidth,
- color = \tkz@euc@linecolor,
- style = \tkz@euc@linestyle,
- add = {\tkz@euc@lineleft} and {\tkz@euc@lineright}}}
-%<-------------------------- points -----------------------------------–>
-\global\edef\tkz@euc@pointshape{circle}
-\global\edef\tkz@euc@pointcolor{\tkz@mainlinecolor}
-\global\edef\tkz@euc@labelcolor{\tkz@mainlinecolor}
-\global\def\tkz@euc@pointsize{6}
-\global\def\tkz@euc@pointpos{below right}
-\tikzset{point style/.style={draw = \tkz@euc@pointcolor,
- inner sep = 0pt,
- shape = \tkz@euc@pointshape,
- minimum size = \tkz@euc@pointsize*\pgflinewidth,
- fill = \tkz@euc@pointcolor!50}}
-%<---------------------------- mark -----------------------------------–>
-\global\edef\tkz@mk@color{\tkz@mainlinecolor}
-\global\edef\tkz@mk@mark{*}
-\global\edef\tkz@mk@size{3pt}
-\global\edef\tkz@mk@fill{\tkz@otherlinecolor}
-\tikzset{mark style/.style={mark=\tkz@mk@mark,mark size=\tkz@mk@size,mark options={color=\tkz@mk@color,fill=\tkz@mk@fill}}}
-\tikzset{arrow coord style/.style={dashed,
- \tkz@euc@linecolor,
- >=latex',
- ->}}
-\tikzset{xcoord style/.style={\tkz@euc@labelcolor,
- font=\normalsize,text height=1ex,
- inner sep = 0pt,
- outer sep = 0pt,
- fill=\tkz@fillcolor,
- below=3pt}}
-\tikzset{ycoord style/.style={\tkz@euc@labelcolor,
- font=\normalsize,text height=1ex,
- inner sep = 0pt,
- outer sep = 0pt,
- fill=\tkz@fillcolor,
- left=3pt}}
-%<--------------------------- vector --------------------------------------–>
-\tikzset{vector style/.style={>=latex,->}}
-%<------------------------- compass -----------------------------------–>
-\global\edef\tkz@euc@compasscolor{\tkz@otherlinecolor}
-\global\def\tkz@euc@compasswidth{0.4pt}
-\global\def\tkz@euc@compassstyle{solid}
-\tikzset{compass style/.style={color = \tkz@euc@compasscolor,
- line width = \tkz@euc@compasswidth,
- style = \tkz@euc@compassstyle}}
-}
-\endgroup}
-
-%<--------------------------------------------------------------------------–>
-% Pour savoir le nombre de décimales d'un nombre
-% le nombre dans #1 et le résultat dans \c@pgfmath@countb
-%<--------------------------------------------------------------------------–>
-
-\newcommand*\tkz@getdecimal[1]{%
- \expandafter\@getdecimal#1.\@nil
-}
-
-\def\@getdecimal#1.#2\@nil{%
- \ifx\empty#2\empty
- % Si #2 est vide, c'est qu'il n'y avait pas de point
- % dans la chaîne initiale
- \c@pgfmath@countb0 %
- \global\def\tkz@decpart{}%
- \else
- % sinon c'est la chaîne qui suit le point décimal...
- \CountToken{#2}%
- % ... y compris le point en trop ajouté par \tkz@getdecimal :-)
- \advance\c@pgfmath@countb by-1 %
- \@@getdecimal#2\@nil
- \fi
-}
-\def\@@getdecimal#1.\@nil{\global\def\tkz@decpart{#1}}
-%<--------------------------------------------------------------------------–>
-% code from JCC modifi
-\newcommand\CountToken[1]{%
- \c@pgfmath@countb0 %
- \expandafter\C@untToken#1\@nil
-%modifi ajout du expandafter
-}
-\newcommand\C@untToken{%
- \afterassignment\C@untT@ken\let\CurrT@ken=
-}
-\newcommand\C@untT@ken{%
- \ifx\CurrT@ken\@nil \else
- \advance\c@pgfmath@countb by1 %
- \expandafter\C@untToken
- \fi
-}
-% end code from JCC
-
-%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
-% Tools
-%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
-%<–––––––– code from TeX in Practice ––––––––>
-\newif\if@TestSubString
-\def\SubStringConditional #1#2{%
- TT\fi
- \edef\@MainString{#1}%
- \edef\@SubStringConditionalTemp{{#1}{#2}}%
- \expandafter\@SubStringConditional\@SubStringConditionalTemp
-}
-\def\@SubStringConditional #1#2{%
- \def\@TestSubS ##1#2##2\\{%
- \def\@TestTemp{##1}%
- }%
- \@TestSubS #1#2\\
- \ifx\@MainString\@TestTemp
- \@TestSubStringfalse
- \else
- \@TestSubStringtrue
- \fi
- \if@TestSubString
-}
-
-\def\RecursionMacroEnd #1#2#3{%
- #1\relax
- \def\@RecursionMacroEndNext{#2}%
- \else
- \def\@RecursionMacroEndNext{#3}%
- \fi
- \@RecursionMacroEndNext
-}
-
-\def\ReplaceSubStrings #1#2#3#4{%
- \def\@ReplaceResult{#1}%
- \edef\@ReplaceMain{#2}%
- \edef\@ReplaceSub{#3}%
- \edef\@ReplaceSubRep{#4}%
- \@ReplaceSubStrings
-}
-\def\@ReplaceSubStrings{%
- \RecursionMacroEnd
- {\if\SubStringConditional{\@ReplaceMain}{\@ReplaceSub}}%
- {\@ReplaceSubStringsDo}{\expandafter\edef\@ReplaceResult{\@ReplaceMain}}%
-}
-\def\@ReplaceSubStringsDoX{%
- \def\@ReplaceSubStringsDoA ##1%
-}%
-\def\@ReplaceSubStringsDo{%
- \expandafter\@ReplaceSubStringsDoX \@ReplaceSub
- ##2\@EndReplaceSubStrings{%
- \edef\@ReplaceMain{##1\@ReplaceSubRep ##2}%
- }%
- \expandafter\@ReplaceSubStringsDoA\@ReplaceMain
- \@EndReplaceSubStrings
- \@ReplaceSubStrings
-}
-\def\tkzPrintFrac#1#2{%
-\begingroup
-\tkzReducFrac{#1}{#2}
-\global\edef\tkzprintfrac{$ \frac{\tkzMathFirstResult}{\tkzMathSecondResult}$}%
- \ifnum\tkzMathFirstResult=0%
- \global\edef\tkzprintfrac{$0$}%
- \else
- \ifnum\tkzMathSecondResult=1 %
- \ifnum\tkzMathFirstResult=1 %
- \global\edef\tkzprintfrac{$1$}%
- \else
- \ifnum\tkzMathFirstResult=-1%
- \global\edef\tkzprintfrac{$-1$}%
- \else
- \global\edef\tkzprintfrac{$\tkzMathFirstResult$}%
- \fi\fi
- \else
- \ifnum\tkzMathFirstResult=1 %
- \global\edef\tkzprintfrac{$\tkzmathstyle\frac{1}{\tkzMathSecondResult}$}%
- \else
- \ifnum\tkzMathFirstResult=-1 %
- \global\edef\tkzprintfrac{$\tkzmathstyle\frac{-1}{\tkzMathSecondResult}$}%
- \else
- \global\edef\tkzprintfrac{$\tkzmathstyle\frac{\tkzMathFirstResult}{%
- \tkzMathSecondResult}$}%
- \fi\fi\fi\fi
-\endgroup}
-%<--------------------------------------------------------------------------->
-\def\tkzPrintFracWithPi#1#2{%
-\begingroup
-\tkzReducFrac{#1}{#2}
-\global\edef\tkzprintfrac{$\tkzmathstyle\frac{\tkzMathFirstResult\pi}{\tkzMathSecondResult}$}%
- \ifnum\tkzMathFirstResult=0%
- \global\edef\tkzprintfrac{$0$}%
- \else
- \ifnum\tkzMathSecondResult=1 %
- \ifnum\tkzMathFirstResult=1 %
- \global\edef\tkzprintfrac{$\pi$}%
- \else
- \ifnum\tkzMathFirstResult=-1%
- \global\edef\tkzprintfrac{$-\pi$}%
- \else
- \global\edef\tkzprintfrac{$\tkzMathFirstResult\pi$}%
- \fi\fi
- \else
- \ifnum\tkzMathFirstResult=1 %
- \global\edef\tkzprintfrac{$\tkzmathstyle\frac{\pi}{\tkzMathSecondResult}$}%
- \else
- \ifnum\tkzMathFirstResult=-1 %
- \global\edef\tkzprintfrac{$\tkzmathstyle\frac{-\pi}{\tkzMathSecondResult}$}%
- \else
- \global\edef\tkzprintfrac{$\tkzmathstyle\frac{\tkzMathFirstResult\pi}{%
- \tkzMathSecondResult}$}%
- \fi\fi\fi\fi
-\endgroup}%
-
-%<--------------------------------------------------------------------------->
-% chargement des modules
-\def\tkz@obj@all{polygons,vectors,arcs,sectors,angles,protractor}
-\def\tkz@obj@txt{all}
-\def\usetkzobj{\pgfutil@ifnextchar[{\use@usetkzobj}{\use@@usetkzobj}}%}
-\def\use@usetkzobj[#1]{\use@@usetkzobj{#1}}
-\def\use@@usetkzobj#1{%
- \def\tkz@list{#1}
- \ifx\tkz@obj@txt\tkz@list \edef\tkz@list{\tkz@obj@all}%
- \else
- \edef\tkz@list{#1}%
- \fi
- %\edef\tkz@list{#1}%
- \pgfutil@for\tkz@temp:=\tkz@list\do{%
- \expandafter\ifx\csname tkz@library@\tkz@temp @loaded\endcsname\relax%
- \expandafter\global\expandafter\let\csname tkz@library@\tkz@temp @loaded\endcsname=\pgfutil@empty%
- \expandafter\edef\csname tkz@obj@#1@atcode\endcsname{\the\catcode`\@}
- \expandafter\edef\csname tkz@obj@#1@barcode\endcsname{\the\catcode`\|}
- \catcode`\@=11
- \catcode`\|=12
- \input tkz-obj-\tkz@temp.tex
- \catcode`\@=\csname tkz@obj@#1@atcode\endcsname
- \catcode`\|=\csname tkz@obj@#1@barcode\endcsname
- \fi%
- }%
-}%
-\def\DisabledNumprint{\let\tkz@numprint\numprint
-\let\numprint\relax}
-\def\EnabledNumprint{\let\numprint\tkz@numprint}
-\endinput \ No newline at end of file