texlive[63907] Master/texmf-dist: tkz-euclide (15jul22)

commits+karl at tug.org commits+karl at tug.org
Fri Jul 15 23:46:25 CEST 2022


Revision: 63907
          http://tug.org/svn/texlive?view=revision&revision=63907
Author:   karl
Date:     2022-07-15 23:46:25 +0200 (Fri, 15 Jul 2022)
Log Message:
-----------
tkz-euclide (15jul22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/README.md
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-FAQ.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-angles.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-circleby.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-circles.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-clipping.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-compass.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-drawing.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-elements.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-examples.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-filling.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-installation.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-labelling.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-lines.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-main.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-marking.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-news.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-others.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointby.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-points.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointsSpc.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointwith.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-polygons.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-presentation.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-rapporteur.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-rnd.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-show.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-styles.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-tools.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-triangles.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/tkz-euclide.pdf
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-compass.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-angles.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-circles.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-lines.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-protractor.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-sectors.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-show.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-documentation.tex
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersection.tex
    trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-points.tex

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersec.tex

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/README.md	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/README.md	2022-07-15 21:46:25 UTC (rev 63907)
@@ -1,6 +1,6 @@
 # tkz-euclide — for euclidean geometry
 
-Release 4.051 b 2022/02/25
+Release 4.2c 2022/07/14
 
 ## Description
 
@@ -67,15 +67,99 @@
 
 Other examples, in French, are on my site.
 
-## Compatibility
 
-The new version of `tkz-euclide` is *not* fully compatible with the version
-3.06 but the differences are minor.
-
 ## History
 
-- 4.051b Fixed a problem when tkz-base is loaded. 
+- 4.2c
+  Now \tkzDefCircle gives two points as results: the center of the circle and a point of the circle. When a point of the circle is known, it is enough to use  \tkzGetPoint  or  \tkzGetFirstPoint 
+ to get the center, otherwise  \tkzGetPoints  will give you the center and a point of the circle. You can always get the length of the radius with  \tkzGetLength . I wanted to favor working with nodes and banish the appearance of numbers in the code.
+  
+   In order to isolate the definitions, I deleted or modified certain macros which are:  \tkzDrawLine ,  \tkzDrawTriangle ,  \tkzDrawCircle ,  \tkzDrawSemiCircle  and   \tkzDrawRectangle ;
+  
+  Thus  \tkzDrawSquare(A,B)  becomes  \tkzDefSquare(A,B)  \tkzGetPoints{C}{D}  then
 
+   \tkzDrawPolygon(A,B,C,D) ;
+
+  
+  
+ If you want to draw a circle, you can't do so  \tkzDrawCircle[R](A,1) . First you have to define the point through which the circle passes, so you have to do 
+  \tkzDefCircle[R](A,1)   \tkzGetPoint{a}  and finally  \tkzDrawCircle(A,a) . Another possibilty is to define a point on the circle  \tkzDefShiftPoint[A](1,O){a} ;  
+  
+
+  The following macros   tkzDefCircleBy[orthogonal through]  and  \tkzDefCircleBy[orthogonal from]  become  tkzDefCircle[orthogonal through]  and  \tkzDefCircle[orthogonal from]  ;  
+
+  
+   \tkzDefLine[euler](A,B,C)  is a macro that allows you to obtain the line of \tkzname{Euler} when possible.  \tkzDefLine[altitude](A,B,C)  is possible again, as well as  \tkzDefLine[tangent at=A](O)  and  \tkzDefLine[tangent from=P](O,A)  which did not works;  
+
+
+    \tkzDefTangent  is replaced by  \tkzDelLine[tangent from = ...]  or  \tkzDelLine[tangent at = ...] 
+
+
+  I added the macro  \tkzPicAngle[tikz options](A,B,C)  for those who prefer to use  \TIKZ\ .
+
+  
+ The order of the arguments of the macro \tkzcname{tkzDefPointOnCircle} has changed: now it is center, angle and point or radius.
+ I have added two options for working with radians which are \tkzname{through in rad} and \tkzname{R in rad}.
+
+
+  I added the option \tkzname{reverse} to the arcs paths. This allows to reverse the path and to reverse if necessary the arrows that would be present.
+
+
+  I have unified the styles for the labels. There is now only \tkzname{label style} left which is valid for points, segments, lines, circles and angles. I have deleted \tkzname{label seg style} \tkzname{label line style} and \tkzname{label angle style}
+
+  I added the macro  tkzFillAngles  to use several angles.
+
+  Correction option \tkzname{return} witk \tkzcname{tkzProtractor}
+
+ As a reminder, the following changes have been made previously:
+  
+     \tkzDrawMedian ,  \tkzDrawBisector ,  \tkzDrawAltitude ,  \tkzDrawMedians ,  \tkzDrawBisectors  et   \tkzDrawAltitudes  do not exist anymore. The creation and drawing separation is not respected so it is preferable to first create the coordinates of these points with  \tkzDefSpcTriangle[median]  and then to choose the ones you are going to draw with  \tkzDrawSegments  or  \tkzDrawLines ;
+ 
+   \tkzDrawTriangle  has been deleted.   \tkzDrawTriangle[equilateral]  was handy but it is better to get the third point with  \tkzDefTriangle[equilateral]  and then draw with  \tkzDrawPolygon ; idem for  \tkzDrawSquare  and  \tkzDrawGoldRectangle ; 
+
+
+  The circle inversion was badly defined so I rewrote the macro. The input arguments are always the center and a point of the circle, the output arguments are the center of the image circle and a point of the image circle or two points of the image line if the antecedent circle passes through the pole of the inversion. If the circle passes the inversion center, the image is a straight line, the validity of the procedure depends on the choice of the point on the antecedent circle; 
+
+  Correct allocation for gold sublime and euclide triangles;
+
+
+  I added the option " next to" for the intersections LC and CC;
+
+
+  Correction option isoceles right;
+
+
+   \tkzDefMidArc(O,A,B)  gives the middle of the arc center $O$ from $A$ to $B$; 
+
+  Good news : Some useful tools have been added. They are present on an experimental basis and will undoubtedly need to be improved;
+
+
+  The options "orthogonal from and through" depend now of \tkzcname{tkzDefCircleBy}
+
+  
+    \tkzDotProduct(A,B,C)  computes the scalar product in an orthogonal reference system of the vectors $\overrightarrow{A,B}$ and $\overrightarrow{A,C}$. 
+  
+    \tkzDotProduct(A,B,C)=aa'+bb' if vec{AB} =(a,b) and vec{AC} =(a',b') 
+  
+  
+    \tkzPowerCircle(A)(B,C)  power of point $A$ with respect to the circle of center $B$ passing through $C$;
+  
+  
+    \tkzDefRadicalAxis(A,B)(C,D)  Radical axis of two circles of center $A$ and $C$;
+  
+  
+   Some tests :  \tkzIsOrtho(A,B,C)  and  \tkzIsLinear(A,B,C)  The first indicates whether the lines $(A,B)$ and $(A,C)$ are orthogonal. The second indicates whether the points $A$, $B$ and $C$ are aligned;
+
+   \tkzIsLinear(A,B,C)  if $A$,$B$,$C$ are aligned then  \tkzLineartrue 
+   you can use  \iftkzLinear  (idem for  \tkzIsOrtho );
+
+  A style for vectors has been added that you can of course modify
+  tikzset{vector style/.style={>=Latex,->}} ;
+
+
+  Now it's possible to add an arrow on a line or a circle with the option  tkz arrow . 
+
+
 - 4.05b 
       \tkzInterLC new option  near  new method to choice the points
       \tkzInterCC  new method to choice the points

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-FAQ.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-FAQ.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-FAQ.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -15,7 +15,6 @@
   \item \tkzcname{tkzGetPoint\{A\}} in place of \tkzcname{tkzGetFirstPoint\{A\}}. When a macro gives two points as results, either we retrieve these points using \tkzcname{tkzGetPoints\{A\}\{B\}}, or we retrieve only one of the two points, using \tkzcname{tkzGetFirstPoint\{A\}} or 
   \tkzcname{tkzGetSecondPoint\{A\}}. These two points can be used with the reference \tkzname{tkzFirstPointResult} or 
   \tkzname{tkzSecondPointResult}. It is possible that a third point is given as\\ \tkzname{tkzPointResult};
-  
 
 \item Mixing options and arguments; all macros that use a circle need to know the radius of the circle. If the radius is given by a measure then the option includes a \tkzname{R}.  
 
@@ -26,7 +25,7 @@
  
 \item Do not mix the syntax of \tkzNamePack{pgfmath} and \tkzNamePack{xfp}. I've often chosen \tkzNamePack{xfp} but if you prefer pgfmath then do your calculations before passing parameters.
   
- \item  Error "dimension too large"  : In some cases, this error occurs. One way to avoid it is to use the "\tkzname{xfp}" option. When this option is used in an environment, the "veclen" function is replaced by a function dependent on "xfp".  For example, an error occurs if you use the macro \tkzcname{tkzDrawArc}
+ \item  Error "dimension too large"  : In some cases, this error occurs. One way to avoid it is to use the "\tkzname{xfp}" option. When this option is used in an scope, the "veclen" function is replaced by a function dependent on "xfp".  Do not use intersection macros in this scope. For example, an error occurs if you use the macro \tkzcname{tkzDrawArc}
  with too small an angle. The error is produced by the \NameLib{decoration} library when you want to place a mark on an arc. Even if the mark is absent, the error is still present.
 
 \end{itemize}    

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-angles.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-angles.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-angles.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -5,7 +5,6 @@
 Let us agree that an angle measured counterclockwise is positive.
 
   \begin{center}
-
     \begin{tikzpicture}[scale=.75]
       \node {clockwise};
       \tkzDefPoint(0,0){O} \tkzDefPoint(90:2){A}\tkzDefPoint(180:2){B}   
@@ -16,7 +15,6 @@
       \tkzDefPoint(0,0){O} \tkzDefPoint(90:2){A}\tkzDefPoint(0:2){B}   
       \tkzDrawArc[black,line width=2pt,arrows = {-Stealth}](O,A)(B)
     \end{tikzpicture}  
-
   \end{center}
   
  \tkzname{Angles} are involved in several macros like \tkzcname{tkzDefPoint},\tkzcname{tkzDefPointBy[rotation = \dots]}, \tkzcname{tkzDrawArc}
@@ -33,7 +31,7 @@
  \tkzMarkAngles[size=2,-Stealth,teal](A,O,B)
  \tkzFindAngle(A,O,B)   \tkzGetAngle{an}
  \tkzLabelAngle[pos=1,teal](A,O,B){$ \pgfmathprintnumber{\an}^\circ$}
- \tkzAutoLabelPoints[center=O](A,B)
+ \tkzLabelPoints(A)  \tkzLabelPoints[above](B)
  \end{tikzpicture}}
       {Rotation $80^\circ$ from $(O,A)$ to $(O,B)$\\ 
     {\textbackslash}tkzDefPointBy[rotation=center O angle 80]}
@@ -45,7 +43,7 @@
  \tkzMarkAngles[size=2,Stealth-,red](B,O,A)
  \tkzFindAngle(B,O,A)   \tkzGetAngle{an}
  \tkzLabelAngle[pos=1,red](B,O,A){$-\pgfmathprintnumber{\an}^\circ$}
- \tkzAutoLabelPoints[center=O](A,B)
+\tkzLabelPoints[right](A)  \tkzLabelPoints[below](B)
  \end{tikzpicture}}
   {Rotation $-80^\circ$ from $(O,A)$ to $(O,B)$\\ 
      {\textbackslash}tkzDefPointBy[rotation=center O angle -80]}
@@ -57,7 +55,7 @@
  \tkzMarkAngles[size=1.5,-Stealth,teal](A,O,B)
  \tkzFindAngle(A,O,B)   \tkzGetAngle{an}
  \tkzLabelAngle[pos=1,teal](A,O,B){$ \pgfmathprintnumber{\an}^\circ$}
- \tkzAutoLabelPoints[center=O](A,B)
+\tkzLabelPoints(A)  \tkzLabelPoints[above](B)
  \end{tikzpicture}}
       { {\textbackslash}tkzFindAngle(A,O,B) gives $80$}
  &
@@ -68,7 +66,7 @@
  \tkzMarkAngles[size=1,-Stealth,red](A,O,B)
  \tkzFindAngle(A,O,B)   \tkzGetAngle{an}
  \tkzLabelAngle[pos=.75,red](A,O,B){$\pgfmathprintnumber{\an}^\circ$}
- \tkzAutoLabelPoints[center=O](A,B)
+\tkzLabelPoints[right](A)  \tkzLabelPoints[below](B)
  \end{tikzpicture}}
   {{\textbackslash}tkzFindAngle(A,O,B) gives $\pgfmathprintnumber{\an}^\circ$}
  \\\hline
@@ -78,8 +76,6 @@
 As we can see, the $-80^\circ$ rotation defines a clockwise angle but the macro 
 \tkzcname{tkzFindAngle} recovers a counterclockwise angle.
 
-
-
 \subsection{Recovering an angle \tkzcname{tkzGetAngle}}
 \begin{NewMacroBox}{tkzGetAngle}{\parg{name of macro}}%
 Assigns the value in degree of an angle to a macro. The value is positive and between $0^\circ$ and $360^\circ$.  This macro retrieves \tkzcname{tkzAngleResult} and stores the result in a new macro.
@@ -92,8 +88,8 @@
 \midrule
 \TAline{name of macro} {\tkzcname{tkzGetAngle}\{ang\}}{\tkzcname{ang} contains the value of the angle.}
 \end{tabular}
+\end{NewMacroBox}
 
-\end{NewMacroBox}
 This is an auxiliary macro that allows you to retrieve the result of the following macro \tkzcname{tkzFindAngle}.
 
 \subsection{Angle formed by three points}
@@ -159,7 +155,6 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-
 \subsubsection{Angle between two circles}
 We are looking for the angle formed by the tangents at a point of intersection
 
@@ -169,9 +164,9 @@
           fixed,precision=1}
 \tkzDefPoints{0/0/A,6/0/B,4/2/C}
 \tkzDrawCircles(A,C B,C)
-\tkzDefTangent[at=C](A) \tkzGetPoint{a}
+\tkzDefLine[tangent at=C](A) \tkzGetPoint{a}
 \tkzDefPointsBy[symmetry = center C](a){d}
-\tkzDefTangent[at=C](B) \tkzGetPoint{b}
+\tkzDefLine[tangent at=C](B) \tkzGetPoint{b}
 \tkzDrawLines[add=1 and 4](a,C  C,b)
 \tkzFillAngle[fill=teal,opacity=.2%
                         ,size=2](b,C,d)
@@ -181,7 +176,6 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-
 \subsection{Angle formed by a straight line with the horizontal axis \tkzcname{tkzFindSlopeAngle}}
 Much more interesting than the last one. The result is between -180 degrees and +180 degrees.
 
@@ -265,5 +259,5 @@
      $\pgfmathprintnumber{\SAD}^\circ$}
 \end{tikzpicture}
 \end{tkzexample}
- 
+
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-circleby.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-circleby.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-circleby.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -8,8 +8,6 @@
    \item central symmetry;
    \item orthogonal projection;
    \item rotation (degrees);
-   \item orthogonal from ;
-   \item orthogonal through;
    \item inversion.
 \end{itemize}
 
@@ -18,7 +16,7 @@
 \tkzDefCircleBy[translation= from A to A'](O,M) 
 \end{tkzltxexample}
 $O$ is the center and $M$ is a point on the circle.
-The image is a circle. The new center is |tkzFirstPointResult| and |tkzSecondPointResult| is a point on the new circle. You can get the results with the macro \tkzcname{tkzGetPoints} .
+The image is a circle. The new center is |tkzFirstPointResult| and |tkzSecondPointResult| is a point on the new circle. You can get the results with the macro \tkzcname{tkzGetPoints}.
 \medskip
 \begin{NewMacroBox}{tkzDefCircleBy}{\oarg{local options}\parg{pt1,pt2}}%
 The argument is a couple of points. The results is a couple of points. If you want to keep these points then the macro \tkzcname{tkzGetPoints\{O'\}\{M'\}} allows you to assign the name \tkzname{O'} to the center and \tkzname{M'} to the point on the circle.
@@ -40,18 +38,15 @@
 \TOline{symmetry }  {= center \#1}{[symmetry=center A](O,M)}
 \TOline{projection }{= onto \#1--\#2}{[projection=onto A--B](O,M)}
 \TOline{rotation }  {= center \#1 angle \#2}{[rotation=center O angle 30](O,M)}
-\TOline{orthogonal from} {= \#1}{[orthogonal from = A ](O,M)}
-\TOline{orthogonal through}{= \#1 and \#2}{[orthogonal through = A and B](O,M)}
 \TOline{inversion}{= center \#1 through \#2}{[inversion =center O through A](O,M)} 
 % \TOline{inversion negative}{= center \#1 through \#2}{[inversion negative =center O through A](O,M)}
 \bottomrule
 \end{tabular}
 
-The image is only defined and not drawn.
+\medskip
+\emph{The image is only defined and not drawn.}
 \end{NewMacroBox} 
 
-\subsubsection{Examples of transformations} 
-
 \subsubsection{\tkzname{Translation}}
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[>=latex] 
@@ -67,7 +62,7 @@
 \end{tikzpicture} 
 \end{tkzexample}
 
- \subsubsection{\tkzname{Reflection} (orthogonal symmetry)}
+\subsubsection{\tkzname{Reflection} (orthogonal symmetry)}
 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[>=latex] 
@@ -79,11 +74,10 @@
  \tkzDrawLine[add =0 and 1][orange](A,B)
  \tkzDrawCircles(C,D C',D')
  \tkzLabelPoints[color=teal](A,B,C,C') 
- \tkzLabelPoints[color=teal,above](D,D') 
+ \tkzLabelPoints[color=teal,right](D,D') 
 \end{tikzpicture} 
 \end{tkzexample}
 
-
 \subsubsection{\tkzname{Homothety}}
 
 \begin{tkzexample}[latex=7cm,small]
@@ -95,11 +89,10 @@
  \tkzDrawPoints[teal](A,C,D,C',D')
  \tkzDrawCircles(C,D C',D')
  \tkzLabelPoints[color=teal](A,C,C')
- \tkzLabelPoints[color=teal,above](D,D') 
+ \tkzLabelPoints[color=teal,right](D,D') 
 \end{tikzpicture}
 \end{tkzexample}
 
-
 \subsubsection{\tkzname{Symmetry}}
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=1]
@@ -129,67 +122,11 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-
-\subsubsection{\tkzname{Orthogonal from}}
-Orthogonal circle of given center. \tkzcname{tkzGetPoints\{z1\}\{z2\}} gives two points of the circle.
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75]
-  \tkzDefPoints{0/0/O,1/0/A}
-  \tkzDefPoints{1.5/1.25/B,-2/-3/C}
-  \tkzDefCircleBy[orthogonal from=B](O,A)
-  \tkzGetPoints{z1}{z2}
-  \tkzDefCircleBy[orthogonal from=C](O,A)
-  \tkzGetPoints{t1}{t2}
-  \tkzDrawCircle(O,A)
-  \tkzDrawCircles[new](B,z1 C,t1)
-  \tkzDrawPoints(t1,t2,C)
-  \tkzDrawPoints(z1,z2,O,A,B)
-  \tkzLabelPoints(O,A,B,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{\tkzname{Orthogonal from} : Right angle between circles}
-We are looking for a circle orthogonal to the given circle.
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.4]
-\tkzDefPoints{0/0/A,6/0/B,4/2/D}
-\tkzDefCircleBy[orthogonal from=B](A,D)
-\tkzGetSecondPoint{C}
-\tkzDrawCircles(A,C B,C)
-\tkzDefTangent[at=C](A) \tkzGetPoint{a}
-\tkzDefPointsBy[symmetry = center C](a){d}
-\tkzDefTangent[at=C](B) \tkzGetPoint{b}
-\tkzDrawLines[add=1 and 4](a,C  C,b)
-\tkzDrawSegments(A,C B,C)
-\tkzMarkRightAngle[fill=teal,opacity=.2,size=1](b,C,d)
-\end{tikzpicture}
-\end{tkzexample}
-
- \subsubsection{\tkzname{Orthogonal through}}
-Orthogonal circle passing through two given points.
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=1]
-  \tkzDefPoint(0,0){O}
-  \tkzDefPoint(1,0){A}
-  \tkzDrawCircle(O,A)
-  \tkzDefPoint(-1.5,-1.5){z1}
-  \tkzDefPoint(1.5,-1.25){z2}
-  \tkzDefCircleBy[orthogonal through=z1 and z2](O,A)
-   \tkzGetPoint{c}
-  \tkzDrawCircle[new](tkzPointResult,z1)
-  \tkzDrawPoints[new](O,A,z1,z2,c)
-  \tkzLabelPoints(O,A,z1,z2,c)
-\end{tikzpicture}
-\end{tkzexample}
-
-
 \subsubsection{\tkzname{Inversion}}
 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=1.5]
-\tkzSetUpPoint[size=4,color=red,fill=red!20]
+\tkzSetUpPoint[size=3,color=red,fill=red!20]
 \tkzSetUpStyle[color=purple,ultra thin]{st1}
 \tkzSetUpStyle[color=cyan,ultra thin]{st2}
 \tkzDefPoint(2,0){A} \tkzDefPoint(3,0){B} 
@@ -204,5 +141,4 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-circles.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-circles.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-circles.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,8 +10,7 @@
  \item then a macro that allows you to color in a disc, but without drawing the circle \tkzcname{tkzFillCircle};
  
  \item sometimes, it is necessary for a drawing to be contained in a disk, this is the role assigned to \tkzcname{tkzClipCircle};
-
- 
+  
  \item  it finally remains to be able to give a label to designate a circle and if several possibilities are offered, we will see here \tkzcname{tkzLabelCircle}.
 \end{itemize} 
 
@@ -20,7 +19,7 @@
 This macro allows you to retrieve the characteristics (center and radius) of certain circles.
 
 \begin{NewMacroBox}{tkzDefCircle}{\oarg{local options}\parg{A,B} or \parg{A,B,C}}%
-\tkzHandBomb\ Attention the arguments are lists of two or three points. This macro is either used in partnership with \\ \tkzcname{tkzGetPoint} and/or \tkzcname{tkzGetLength} to obtain the center and the radius of the circle, or by using \\ \tkzname{tkzPointResult} and \tkzname{tkzLengthResult} if it is not necessary to keep the results.
+\tkzHandBomb\ Attention the arguments are lists of two or three points. This macro is either used in partnership with \\ \tkzcname{tkzGetPoints} to obtain the center and a point on the circle, or by using \\ \tkzname{tkzFirstPointResult} and \tkzname{tkzSecondPointResult} if it is not necessary to keep the results. You can also use  \tkzcname{tkzGetLength} to get the radius.
 
 \medskip
 \begin{tabular}{lll}%
@@ -36,48 +35,28 @@
 \toprule
 options             & default & definition                         \\ 
 \midrule
-\TOline{through}      {through}{circle characterized by two points defining a radius} 
-\TOline{diameter}     {through}{circle characterized by two points defining a diameter}
-\TOline{circum}       {through}{circle circumscribed of a triangle} 
-\TOline{in}           {through}{incircle a triangle} 
-\TOline{ex}           {through}{excircle of a  triangle}
-\TOline{euler or nine}{through}{Euler's Circle}
-\TOline{spieker}      {through}{Spieker Circle}
-\TOline{apollonius}   {through}{circle of Apollonius} 
+\TOline{R}       {circum}{circle characterized by a center and a radius} 
+\TOline{diameter}{circum}{circle characterized by two points defining a diameter}
+\TOline{circum}       {circum}{circle circumscribed of a triangle} 
+\TOline{in}           {circum}{incircle a triangle} 
+\TOline{ex}           {circum}{excircle of a  triangle}
+\TOline{euler or nine}{circum}{Euler's Circle}
+\TOline{spieker}      {circum}{Spieker Circle}
+\TOline{apollonius}   {circum}{circle of Apollonius}
+\TOline{orthogonal from} {circum}{[orthogonal from = A ](O,M)}
+\TOline{orthogonal through}{circum}{[orthogonal through = A and B](O,M)} 
 \TOline{K} {1}{coefficient used for a circle of Apollonius} 
  \bottomrule
 \end{tabular}
 
-{In the following examples, I draw the circles with a macro not yet presented, but this is not necessary. In some cases you may only need the center or the radius.}
+\medskip
+\emph{In the following examples, I draw the circles with a macro not yet presented. You may only need the center and a point on the circle. }
 \end{NewMacroBox}  
 
- \subsubsection{Example with a random point and  option \tkzname{through}} 
-
-\begin{tkzexample}[latex=7 cm,small]
+ \subsubsection{Example with  option \tkzname{diameter}}  
+ It is simpler here to search directly for the middle of $[AB]$. The result is the center and if necessary 
+\begin{tkzexample}[latex=7cm,small]  
 \begin{tikzpicture}[scale=1]
-  \tkzDefPoint(0,4){A}
-  \tkzDefPoint(2,2){B}
-  \tkzDefMidPoint(A,B) \tkzGetPoint{I}
-  \tkzDefRandPointOn[segment = I--B]
-  \tkzGetPoint{C}
-  \tkzDefCircle[through](A,C) 
-  \tkzGetLength{rACcm}
-  \tkzcmtopt(\rACcm){rACpt}
-  \tkzDrawCircle(A,C)
-  \tkzDrawPoints(A,B,C)
-  \tkzLabelPoints(A,B,C) 
-  \tkzLabelCircle[draw,
-           text width=3cm,text centered,
-           font=\scriptsize,below=1cm](A,C)(-90)%
-  {The radius measurement is:
-   \rACcm cm i.e. \rACpt pt}  
-\end{tikzpicture}   
- \end{tkzexample}  
- 
- \subsubsection{Example with  option \tkzname{diameter}}  
- It is simpler here to search directly for the middle of $[AB]$.
- \begin{tkzexample}[latex=7cm,small]  
- \begin{tikzpicture}[scale=1]
     \tkzDefPoint(0,0){A} 
     \tkzDefPoint(2,2){B}
     \tkzDefCircle[diameter](A,B)  
@@ -86,10 +65,10 @@
     \tkzDrawSegment(A,B)
     \tkzDrawPoints(A,B,O)   
     \tkzLabelPoints[below](A,B,O)
- \end{tikzpicture} 
- \end{tkzexample}    
+\end{tikzpicture} 
+\end{tkzexample}    
 
- \subsubsection{Circles inscribed and circumscribed for a given triangle} 
+\subsubsection{Circles inscribed and circumscribed for a given triangle} 
  
 \begin{tkzexample}[latex=7cm,small]  
 \begin{tikzpicture}[scale=.75]
@@ -96,10 +75,10 @@
  \tkzDefPoint(2,2){A}  \tkzDefPoint(5,-2){B}
  \tkzDefPoint(1,-2){C}
  \tkzDefCircle[in](A,B,C)
- \tkzGetPoint{I}    \tkzGetLength{rIN}
+ \tkzGetPoints{I}{x}   
  \tkzDefCircle[circum](A,B,C)
- \tkzGetPoint{K}   \tkzGetLength{rCI}   
- \tkzDrawCircles[R,new](I,{\rIN} K,{\rCI}) 
+ \tkzGetPoint{K}  
+ \tkzDrawCircles[new](I,x K,A) 
  \tkzLabelPoints[below](B,C)
  \tkzLabelPoints[above left](A,I,K)
  \tkzDrawPolygon(A,B,C)
@@ -107,7 +86,7 @@
 \end{tikzpicture} 
 \end{tkzexample}
 
- \subsubsection{Example with option \tkzname{ex}}
+\subsubsection{Example with option \tkzname{ex}}
 We want to define an excircle of a  triangle relatively to point $C$
 
 \begin{tkzexample}[latex=8cm,small]
@@ -114,35 +93,32 @@
 \begin{tikzpicture}[scale=.75]
   \tkzDefPoints{ 0/0/A,4/0/B,0.8/4/C}
   \tkzDefCircle[ex](B,C,A)                   
-  \tkzGetPoint{J_c} \tkzGetLength{rc}
+  \tkzGetPoints{J_c}{h}
   \tkzDefPointBy[projection=onto A--C ](J_c)   
   \tkzGetPoint{X_c}
   \tkzDefPointBy[projection=onto A--B ](J_c)   
   \tkzGetPoint{Y_c}     
+  \tkzDefCircle[in](A,B,C)    
+  \tkzGetPoints{I}{y}
+  \tkzDrawCircles[color=lightgray](J_c,h I,y)
+  \tkzDefPointBy[projection=onto A--C ](I)
+  \tkzGetPoint{F}
+  \tkzDefPointBy[projection=onto A--B ](I)
+  \tkzGetPoint{D}
   \tkzDrawPolygon(A,B,C)
-  \tkzDrawCircle[R,color=lightgray](J_c,\rc)
-  % possible  \tkzDrawCircle[ex](A,B,C) 
-  \tkzDrawCircle[in,new](A,B,C)    
-  \tkzGetPoint{I} 
-  \tkzDefPointBy[projection=onto A--C ](I)   
-  \tkzGetPoint{F} 
-  \tkzDefPointBy[projection=onto A--B ](I)   
-  \tkzGetPoint{D}    
-  \tkzDrawLines[add=0 and 2.2,dashed](C,A C,B)
-  \tkzDrawSegments[dashed](J_c,X_c I,D  I,F%
-          J_c,Y_c)
-  \tkzMarkRightAngles(A,F,I B,D,I J_c,X_c,A%
-         J_c,Y_c,B)
+  \tkzDrawLines[add=0 and 1.5](C,A C,B)
+  \tkzDrawSegments(J_c,X_c I,D  I,F J_c,Y_c)
+  \tkzMarkRightAngles(A,F,I B,D,I J_c,X_c,A J_c,Y_c,B)
   \tkzDrawPoints(B,C,A,I,D,F,X_c,J_c,Y_c)
-  \tkzLabelPoints(B,A,J_c,I,D,X_c,Y_c)
+  \tkzLabelPoints(B,A,J_c,I,D)
+  \tkzLabelPoints[above](Y_c)
+  \tkzLabelPoints[left](X_c)
   \tkzLabelPoints[above left](C)
   \tkzLabelPoints[left](F)
-\end{tikzpicture}    
+\end{tikzpicture}  
 \end{tkzexample}
 
-
-  
- \subsubsection{Euler's circle for a given triangle with option \tkzname{euler}}
+\subsubsection{Euler's circle for a given triangle with option \tkzname{euler}}
  
 We verify that this circle passes through the middle of each side.
 \begin{tkzexample}[latex=6cm,small]  
@@ -150,10 +126,10 @@
    \tkzDefPoint(5,3.5){A} 
    \tkzDefPoint(0,0){B} \tkzDefPoint(7,0){C}
    \tkzDefCircle[euler](A,B,C)
-   \tkzGetPoint{E}  \tkzGetLength{rEuler}
+   \tkzGetPoints{E}{e}
    \tkzDefSpcTriangle[medial](A,B,C){M_a,M_b,M_c}
+   \tkzDrawCircle[new](E,e)
    \tkzDrawPoints(A,B,C,E,M_a,M_b,M_c)    
-   \tkzDrawCircle[R](E,\rEuler)
    \tkzDrawPolygon(A,B,C)    
    \tkzLabelPoints[below](B,C)  
    \tkzLabelPoints[left](A,E)   
@@ -160,7 +136,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
- \subsubsection{Apollonius circles for a given segment option \tkzname{apollonius}} 
+\subsubsection{Apollonius circles for a given segment option \tkzname{apollonius}} 
  
 \begin{tkzexample}[latex=9cm,small]    
 \begin{tikzpicture}[scale=0.75]
@@ -167,14 +143,13 @@
   \tkzDefPoint(0,0){A} 
   \tkzDefPoint(4,0){B}
   \tkzDefCircle[apollonius,K=2](A,B)
-  \tkzGetPoint{K1}
-  \tkzGetLength{rAp}
-  \tkzDrawCircle[R,color = teal!50!black,
-      fill=teal!20,opacity=.4](K1,\rAp)
+  \tkzGetPoints{K1}{x}
+  \tkzDrawCircle[color = teal!50!black,
+      fill=teal!20,opacity=.4](K1,x)
   \tkzDefCircle[apollonius,K=3](A,B)
-  \tkzGetPoint{K2}   \tkzGetLength{rAp}
-  \tkzDrawCircle[R,color=orange!50,
-   fill=orange!20,opacity=.4](K2,\rAp) 
+  \tkzGetPoints{K2}{y}
+  \tkzDrawCircle[color=orange!50,
+      fill=orange!20,opacity=.4](K2,y) 
   \tkzLabelPoints[below](A,B,K1,K2)
   \tkzDrawPoints(A,B,K1,K2) 
   \tkzDrawLine[add=.2 and 1](A,B)  
@@ -191,31 +166,23 @@
   \tkzDefPoint(0,0){A}
   \tkzDefPoint(3,0){B}
   \tkzDefPoint(1,2.5){C}
-  \tkzDefCircle[ex](A,B,C) \tkzGetPoint{I} 
-    \tkzGetLength{rI}
-  \tkzDefCircle[ex](C,A,B) \tkzGetPoint{J} 
-    \tkzGetLength{rJ}
-  \tkzDefCircle[ex](B,C,A) \tkzGetPoint{K} 
-    \tkzGetLength{rK}
-   \tkzDefCircle[in](B,C,A) \tkzGetPoint{O}
-     \tkzGetLength{rO} 
+  \tkzDefCircle[ex](A,B,C) \tkzGetPoints{I}{i}
+  \tkzDefCircle[ex](C,A,B) \tkzGetPoints{J}{j}
+  \tkzDefCircle[ex](B,C,A) \tkzGetPoints{K}{k}
+  \tkzDefCircle[in](B,C,A) \tkzGetPoints{O}{o}
+  \tkzDrawCircles[new](J,j I,i K,k O,o) 
   \tkzDrawLines[add=1.5 and 1.5](A,B A,C B,C)
-  \tkzDrawPoints(I,J,K)
-  \tkzDrawPolygon(A,B,C)
-  \tkzDrawPolygon[dashed](I,J,K)
-  \tkzDrawCircle[R,teal](O,\rO)
-  \tkzDrawSegments[dashed](A,K B,J C,I)
+  \tkzDrawPolygon[purple](I,J,K)
+  \tkzDrawSegments[new](A,K B,J C,I)
   \tkzDrawPoints(A,B,C)
-  \tkzDrawCircles[R,new](J,{\rJ} I,{\rI}%
-                         K,{\rK})    
+  \tkzDrawPoints[new](I,J,K)   
   \tkzLabelPoints(A,B,C,I,J,K)
 \end{tikzpicture}
 \end{tkzexample}
  
-  \subsubsection{Spieker circle with option \tkzname{spieker}}   
-The  incircle of the medial triangle $M_aM_bM_c$ is the Spieker circle:
+\subsubsection{Spieker circle with option \tkzname{spieker}}   
+The incircle of the medial triangle $M_aM_bM_c$ is the Spieker circle:
 
-
 \begin{tkzexample}[latex=6cm, small]
 \begin{tikzpicture}[scale=1]
   \tkzDefPoints{ 0/0/A,4/0/B,0.8/4/C}
@@ -225,112 +192,16 @@
    \tkzDrawPolygon(A,B,C)
    \tkzDrawPolygon[cyan](M_a,M_b,M_c)
    \tkzDrawPoints(B,C,A)
+   \tkzDefCircle[spieker](A,B,C)
    \tkzDrawPoints[new](M_a,M_b,M_c,S_p)
-   \tkzDrawCircle[in,new](M_a,M_b,M_c)
-   \tkzAutoLabelPoints[center=S_p,dist=.3](M_a,M_b,M_c)
-   \tkzLabelPoints[right](S_p)
-   \tkzAutoLabelPoints[center=S_p](A,B,C)
+   \tkzDrawCircle[new](tkzFirstPointResult,tkzSecondPointResult)
+   \tkzLabelPoints[right](M_a)
+   \tkzLabelPoints[left](M_b)
+   \tkzLabelPoints[below](A,B,M_c,S_p)
+   \tkzLabelPoints[above](C)
 \end{tikzpicture}
 \end{tkzexample}
  
- \subsubsection{Examples from js bibra tex.stackexchange.com}      
-
-\begin{tikzpicture}[scale=0.4]
-\tkzDefPoint(6,4){A}
-\tkzDefPoint(6,-4){B}
-\tkzDefMidPoint(B,A)\tkzGetPoint{P}
-\tkzDefLine[orthogonal =through P](A,B)\tkzGetPoint{X}
-\tkzDefCircle[through](X,P)
-\tkzCalcLength(X,P)\tkzGetLength{rXP}
-\tkzDefShiftPoint[X](180:\rXP*2){y}
-\tkzDefPointWith[linear,K=0.3](y,P) \tkzGetPoint{x}
-\tkzDrawPoints(X,x) 
-\tkzDrawCircles(x,P X,P)
-\tkzLabelLine[pos=0.5,above](x,P){r1}
-\tkzDefShiftPoint[X](-60:\rXP){X'}
-\tkzDrawSegments[<->, >=triangle 45](X,X' P,x)  
-\tkzLabelLine[pos=0.5,above, sloped](X,X'){r}
-\tkzLabelPoints[above](x)
-\tkzLabelPoints[above](X)
-\end{tikzpicture}
-
-\begin{tkzexample}[code only, small]
-\begin{tikzpicture}[scale=0.4]
-\tkzDefPoint(6,4){A}
-\tkzDefPoint(6,-4){B}
-\tkzDefMidPoint(B,A)\tkzGetPoint{P}
-\tkzDefLine[orthogonal =through P](A,B)
-\tkzGetPoint{X}
-\tkzDefCircle[through](X,P)
-\tkzCalcLength(X,P)\tkzGetLength{rXP}
-\tkzDefShiftPoint[X](180:\rXP*2){y}
-\tkzDefPointWith[linear,K=0.3](y,P)
- \tkzGetPoint{x}
-\tkzDrawPoints(X,x) 
-\tkzDrawCircles(x,P X,P)
-\tkzLabelLine[pos=0.5,above](x,P){r1}
-\tkzDefShiftPoint[X](-60:\rXP){X'}
-\tkzDrawSegments[<->, >=triangle 45](X,X' P,x)  
-\tkzLabelLine[pos=0.5,above, sloped](X,X'){r}
-\tkzLabelPoints[above](x)
-\tkzLabelPoints[above](X)
-\end{tikzpicture}
-\end{tkzexample}
-
-\begin{tikzpicture}
-    \tkzDefPoint(0,4){A}
-    \tkzDefPoint(2,2){B}
-    \tkzDefMidPoint(B,A)\tkzGetPoint{P}
-    \tkzDefLine[orthogonal =through P](B,A)
-    \tkzGetPoint{X}
-    \tkzDefCircle[through](X,P)
-    \tkzGetLength{rXPpt}
-    \tkzpttocm(\rXPpt){rXPcm}
-    \tkzDefPointWith[linear,K=0.3](X,P) 
-    \tkzGetPoint{x}
-    \tkzDefCircle[through](x,P)
-    \tkzGetLength{rxPpt}
-    \tkzpttocm(\rxPpt){rxPcm}    
-    \tkzDrawCircles(X,P x,P)
-    \tkzDrawPoints(X,x)
-    \tkzDrawSegment[<->, >=triangle 45](x,P)
-    \tkzDrawSegment(P,X)
-    \tkzLabelPoints(X,x)
-    \tkzLabelLine[pos=0.5,left](x,P){r}
-    \tkzCalcLength[cm](X,P)\tkzGetLength{rXP}
-    \tkzDefShiftPoint[X](-90:\rXP){y}
-    \tkzDrawSegments[<->, >=triangle 45](X,y)  
-    \tkzLabelLine[pos=0.5,left](X,y){R}    
-\end{tikzpicture}
-
-\begin{tkzexample}[code only, small]
-\begin{tikzpicture}
-    \tkzDefPoint(0,4){A}
-    \tkzDefPoint(2,2){B}
-    \tkzDefMidPoint(B,A)\tkzGetPoint{P}
-    \tkzDefLine[orthogonal =through P](B,A)
-    \tkzGetPoint{X}
-    \tkzDefCircle[through](X,P)
-    \tkzGetLength{rXPpt}
-    \tkzpttocm(\rXPpt){rXPcm}
-    \tkzDefPointWith[linear,K=0.3](X,P) 
-    \tkzGetPoint{x}
-    \tkzDefCircle[through](x,P)
-    \tkzGetLength{rxPpt}
-    \tkzpttocm(\rxPpt){rxPcm}   
-    \tkzDrawCircles(X,P x,P)
-    \tkzDrawPoints(X,x)
-    \tkzDrawSegment[<->, >=triangle 45](x,P)
-    \tkzDrawSegment(P,X)
-    \tkzLabelPoints(X,x)
-    \tkzLabelLine[pos=0.5,left](x,P){r}
-    \tkzCalcLength[cm](X,P)\tkzGetLength{rXP}
-    \tkzDefShiftPoint[X](-90:\rXP){y}
-    \tkzDrawSegments[<->, >=triangle 45](X,y)  
-    \tkzLabelLine[pos=0.5,left](X,y){R}    
-\end{tikzpicture}
-\end{tkzexample}
-
 \subsection{Projection of excenters}
 
 \begin{NewMacroBox}{tkzDefProjExcenter}{\oarg{local options}\parg{A,B,C}\parg{a,b,c}\marg{X,Y,Z}}%
@@ -354,8 +225,9 @@
 \medskip
 \end{NewMacroBox}
 
-\subsubsection{Excircles}
+\subsubsection{\tkzname{Excircles}}
 
+\begin{tkzexample}[vbox,small]
 \begin{tikzpicture}[scale=.6]
 \tikzset{line style/.append style={line width=.2pt}}
 \tikzset{label style/.append style={color=teal,font=\footnotesize}}
@@ -363,7 +235,6 @@
 \tkzDefSpcTriangle[excentral,name=J](A,B,C){a,b,c} 
 \tkzDefSpcTriangle[intouch,name=I](A,B,C){a,b,c}
 \tkzDefProjExcenter[name=J](A,B,C)(a,b,c){X,Y,Z}
-
 \tkzDefCircle[in](A,B,C)   \tkzGetPoint{I} \tkzGetSecondPoint{T}  
 \tkzDrawCircles[red](Ja,Xa Jb,Yb Jc,Zc)
 \tkzDrawCircle(I,T) 
@@ -373,48 +244,52 @@
                  Jb,Xb Jb,Yb Jb,Zb
                  Jc,Xc Jc,Yc Jc,Zc
                  I,Ia I,Ib I,Ic)
-\tkzMarkRightAngles[size=.2,fill=gray!15](Ja,Za,B Ja,Xa,B Ja,Ya,C Jb,Yb,C Jb,Zb,B Jb,Xb,C Jc,Yc,A Jc,Zc,B Jc,Xc,C I,Ia,B I,Ib,C I,Ic,A)
+\tkzMarkRightAngles[size=.2,fill=gray!15](Ja,Za,B Ja,Xa,B Ja,Ya,C Jb,Yb,C)
+\tkzMarkRightAngles[size=.2,fill=gray!15](Jb,Zb,B Jb,Xb,C Jc,Yc,A Jc,Zc,B) Jc,Xc,C I,Ia,B I,Ib,C I,Ic,A)
 \tkzDrawSegments[blue](Jc,C Ja,A Jb,B)
-\tkzLabelPoints(A,Yc,Ya,Yb,Ja,I,Zc)
-\tkzLabelPoints[left](Jb,Ib)
-\tkzLabelPoints[below](Zb,Ic,Jc,B,Za)
-\tkzLabelPoints[above right](C)
-\tkzLabelPoints[right](Xb,Ia,Xa,Xc)
-\end{tikzpicture} 
+\tkzDrawPoints(A,B,C,Xa,Xb,Xc,Ja,Jb,Jc,Ia,Ib,Ic,Ya,Yb,Yc,Za,Zb,Zc)
+\tkzLabelPoints(A,Ya,Yb,Ja,I)
+\tkzLabelPoints[left](Jb,Ib,Yc)
+\tkzLabelPoints[below](Zb,Ic,Jc,B,Za,Xa)
+\tkzLabelPoints[above right](C,Zc,Yb)
+\tkzLabelPoints[right](Xb,Ia,Xc)
+\end{tikzpicture}
+\end{tkzexample}
+ 
+\subsubsection{\tkzname{Orthogonal from}}
+Orthogonal circle of given center. \tkzcname{tkzGetPoints\{z1\}\{z2\}} gives two points of the circle.
 
-\begin{tkzexample}[code only,small]
-\begin{tikzpicture}[scale=.6]
-\tikzset{line style/.append style={line width=.2pt}}
-\tikzset{label style/.append style={color=teal,font=\footnotesize}}
-\tkzDefPoints{0/0/A,5/0/B,0.8/4/C}
-\tkzDefSpcTriangle[excentral,name=J](A,B,C){a,b,c} 
-\tkzDefSpcTriangle[intouch,name=I](A,B,C){a,b,c}
-\tkzDefProjExcenter[name=J](A,B,C)(a,b,c){X,Y,Z}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+  \tkzDefPoints{0/0/O,1/0/A}
+  \tkzDefPoints{1.5/1.25/B,-2/-3/C}
+  \tkzDefCircle[orthogonal from=B](O,A)
+  \tkzGetPoints{z1}{z2}
+  \tkzDefCircle[orthogonal from=C](O,A)
+  \tkzGetPoints{t1}{t2}
+  \tkzDrawCircle(O,A)
+  \tkzDrawCircles[new](B,z1 C,t1)
+  \tkzDrawPoints(t1,t2,C)
+  \tkzDrawPoints(z1,z2,O,A,B)
+  \tkzLabelPoints[right](O,A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
 
-\tkzDefCircle[in](A,B,C)   \tkzGetPoint{I} \tkzGetSecondPoint{T}  
-\tkzDrawCircles[red](Ja,Xa Jb,Yb Jc,Zc)
-\tkzDrawCircle(I,T) 
-\tkzDrawPolygon[dashed,color=blue](Ja,Jb,Jc)
-\tkzDrawLines[add=1.5 and 1.5](A,C A,B B,C)
-\tkzDrawSegments(Ja,Xa Ja,Ya Ja,Za
-                 Jb,Xb Jb,Yb Jb,Zb
-                 Jc,Xc Jc,Yc Jc,Zc
-                 I,Ia I,Ib I,Ic)
-\tkzMarkRightAngles[size=.2,fill=gray!15](%
-      Ja,Za,B Ja,Xa,B
-      Ja,Ya,C Jb,Yb,C
-      Jb,Zb,B Jb,Xb,C
-      Jc,Yc,A Jc,Zc,B
-      Jc,Xc,C I,Ia,B
-      I,Ib,C I,Ic,A)
-\tkzDrawSegments[blue](Jc,C Ja,A Jb,B)
-\tkzLabelPoints(A,Yc,Ya,Yb,Ja,I,Zc)
-\tkzLabelPoints[left](Jb,Ib)
-\tkzLabelPoints[below](Zb,Ic,Jc,B,Za)
-\tkzLabelPoints[above right](C)
-\tkzLabelPoints[right](Xb,Ia,Xa,Xc)
-\end{tikzpicture} 
+\subsubsection{\tkzname{Orthogonal through}}
+Orthogonal circle passing through two given points.
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=1]
+  \tkzDefPoint(0,0){O}
+  \tkzDefPoint(1,0){A}
+  \tkzDrawCircle(O,A)
+  \tkzDefPoint(-1.5,-1.5){z1}
+  \tkzDefPoint(1.5,-1.25){z2}
+  \tkzDefCircle[orthogonal through=z1 and z2](O,A)
+   \tkzGetPoint{c}
+  \tkzDrawCircle[new](tkzPointResult,z1)
+  \tkzDrawPoints[new](O,A,z1,z2,c)
+  \tkzLabelPoints[right](O,A,z1,z2,c)
+\end{tikzpicture}
 \end{tkzexample}
- 
 
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-clipping.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-clipping.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-clipping.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -114,10 +114,12 @@
   \tkzDefPoint(3,0){A}
    \begin{scope}
     \tkzClipBB
-    \tkzDrawCircle[R](A,5)
+    \tkzDefCircle[R](A,5) \tkzGetPoint{a}
+    \tkzDrawCircle(A,a)
      \tkzShowBB[line width = 4pt,fill=teal!10,opacity=.4]
    \end{scope}
-\tkzDrawCircle[R,red](A,4)
+\tkzDefCircle[R](A,4) \tkzGetPoint{b}
+\tkzDrawCircle[red](A,b)
 \end{tikzpicture}
 \end{tkzexample}
 %<--------------------------------------------------------------------------->
@@ -219,23 +221,20 @@
  \tkzDefPointBy[symmetry=center K](B)  
  \tkzGetPoint{M}
  \tkzClipPolygon(B,C,D,A)
- \tkzCalcLength(M,I)   \tkzGetLength{dMI}
  \tkzFillPolygon[color = orange](A,B,C,D)
- \tkzFillCircle[R,color = yellow](M,\dMI)
- \tkzFillCircle[R,color = blue!50!black](F,4)
+ \tkzFillCircle[color = yellow](M,I)
+ \tkzFillCircle[color = blue!50!black](F,D)
 \end{tikzpicture}
 \end{tkzexample}
 
-
- 
 \subsection{Clipping a disc}
 
-\begin{NewMacroBox}{tkzClipCircle}{\oarg{local options}\parg{A,B} or \parg{A,r}}%
+\begin{NewMacroBox}{tkzClipCircle}{\oarg{local options}\parg{A,B}}%
 \begin{tabular}{lll}%
 \toprule
 arguments           & example & explanation                         \\
 \midrule
-\TAline{\parg{A,B} or \parg{A,r}}{\parg{A,B} or \parg{A,2cm}} {AB radius or diameter }
+\TAline{\parg{A,B}}{\parg{A,B}} {AB radius}
 \bottomrule
 \end{tabular}  
  
@@ -243,8 +242,6 @@
 \begin{tabular}{lll}%
 options             & default & definition                         \\ 
 \midrule
-\TOline{radius} {radius}{circle characterized by two points defining a radius} 
-\TOline{R} {radius}{circle characterized by a point and the measurement of a radius }  
 \TOline{out} {} {allows to clip the outside of the object}
  \bottomrule
 \end{tabular}
@@ -267,7 +264,6 @@
 \end{tikzpicture} 
 \end{tkzexample}
 
-
 \subsection{Clip out}
 
 \begin{tkzexample}[latex=6cm,small]
@@ -276,10 +272,10 @@
    \tkzDefPoint(0,0){O}
    \tkzDefPoint(-4,-2){A}
    \tkzDefPoint(3,1){B}
-   \tkzDrawCircle[R](O,2)
+   \tkzDefCircle[R](O,2) \tkzGetPoint{o}
    \tkzDrawPoints(A,B) % to have a good bounding box
    \begin{scope}
-    \tkzClipCircle[out,R](O,2)
+    \tkzClipCircle[out](O,o)
     \tkzDrawLines(A,B)
    \end{scope}
 \end{tikzpicture}  
@@ -298,11 +294,8 @@
 \end{tikzpicture}
 \end{tkzexample} 
 
-
 see a more complex example about clipping here : \ref{About clipping circles}
 
-
-
 \subsection{Clipping a sector}
 \tkzHandBomb\  Attention the arguments vary according to the options. 
 \begin{NewMacroBox}{tkzClipSector}{\oarg{local options}\parg{O,\dots}\parg{\dots}}%
@@ -372,7 +365,8 @@
   \tkzDrawSector[new](O,B)(A)
 \begin{scope}
 \tkzClipSector(O,B)(A)
-\tkzDrawSquare[color=teal,fill=teal!20](O,B)
+\tkzDefSquare(O,B) \tkzGetPoints{B'}{O'}
+\tkzDrawPolygon[color=teal,fill=teal!20](O,B,B',O')
 \end{scope}
 \tkzDrawPoints(A,B,O) 
 \end{tikzpicture} 
@@ -411,25 +405,23 @@
    -- cycle} }}
 \end{tkzltxexample}
 
-
 \subsubsection{Example with \tkzcname{tkzClipPolygon[out]}}
 \tkzcname{tkzClipPolygon[out]}, \tkzcname{tkzClipCircle[out]} use this option.
 \begin{tkzexample}[vbox,small]
-\fbox{\begin{tikzpicture}[scale=1]
+\begin{tikzpicture}[scale=1]
 \tkzInit[xmin=-5,xmax=5,ymin=-4,ymax=6]
 \tkzClip
-  \tkzDefPoints{-.5/0/P1,.5/0/P2}
-  \foreach \i [count=\j from 3] in {2,...,7}{%
-      \tkzDefShiftPoint[P\i]({45*(\i-1)}:1){P\j}}  
-  \tkzClipPolygon[out](P1,P...,P8)
-  \tkzCalcLength(P1,P5)\tkzGetLength{r}
-  \begin{scope}[blend group=screen]
-     \foreach \i in {1,...,8}{%
-       \pgfmathparse{100-5*\i}
-       \tkzFillCircle[R,color=teal!%
-       \pgfmathresult](P\i,\r)}
-    \end{scope}
-\end{tikzpicture}} 
+\tkzDefPoints{-.5/0/P1,.5/0/P2}
+\foreach \i [count=\j from 3] in {2,...,7}{%
+    \tkzDefShiftPoint[P\i]({45*(\i-1)}:1){P\j}}  
+\tkzClipPolygon[out](P1,P...,P8)
+\tkzCalcLength(P1,P5)\tkzGetLength{r}
+\begin{scope}[blend group=screen]
+  \foreach \i in {1,...,8}{%
+   \tkzDefCircle[R](P\i,\r) \tkzGetPoint{x}
+   \tkzFillCircle[color=teal](P\i,x)}
+  \end{scope}
+\end{tikzpicture}
 \end{tkzexample}
 
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-compass.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-compass.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-compass.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -59,6 +59,10 @@
 \end{tabular}
 \end{NewMacroBox} 
 
+\subsubsection{Use \tkzcname{tkzCompasss}} % (fold)
+\label{ssub:use_tkzcname_tkzcompasss}
+
+% subsubsection use_tkzcname_tkzcompasss (end)
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=.75]
  \tkzDefPoint(2,2){A}  \tkzDefPoint(5,-2){B}

Added: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-documentation.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-documentation.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-documentation.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -0,0 +1,29 @@
+\section{About this documentation and the examples}
+
+It is obtained by compiling with "lualatex". I use a class \tkzname{doc.cls} based on \tkzname{scrartcl}.
+
+Below the list of styles used in the docuimentation. To understand how to use the styles see the section \ref{custom}
+
+|\tkzSetUpColors[background=white,text=black]  |
+
+|\tkzSetUpCompass[color=orange, line width=.2pt,delta=10]|
+
+|\tkzSetUpArc[color=gray,line width=.2pt]|
+
+|\tkzSetUpPoint[size=2,color=teal]|
+
+|\tkzSetUpLine[line width=.2pt,color=teal]|
+
+|\tkzSetUpStyle[color=orange,line width=.2pt]{new}|
+
+|\tikzset{every picture/.style={line width=.2pt}}|
+
+|\tikzset{label angle style/.append style={color=teal,font=\footnotesize}}|
+
+
+|\tikzset{label style/.append style={below,color=teal,font=\scriptsize}}|
+
+Some examples use predefined styles like 
+
+
+|\tikzset{new/.style={color=orange,line width=.2pt}}  |
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-documentation.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-drawing.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-drawing.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-drawing.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -88,7 +88,6 @@
 \tkzHandBomb\ Beware of the final "s", an oversight leads to cascading errors if you try to draw multiple points. The options are the same as for the previous macro.
 \end{NewMacroBox}
 
-
 \subsubsection{Example}
 
 \begin{tkzexample}[latex=7cm,small]
@@ -97,18 +96,14 @@
 \tkzDrawPoints[size=3,color=red,fill=red!50](A,B,C)
 \end{tikzpicture}
 \end{tkzexample}
-
-
 %<---------------------------------------------------------------------------->
 %    LINE(S)
 %<---------------------------------------------------------------------------->
-
 \section{Drawing the lines}
 The following macros are simply used to draw, name lines.
 \subsection{Draw a straight line}
 To draw a normal straight line, just give a couple of points. You can  use the \tkzname{add} option to extend the line (This option is due to \tkzimp{Mark Wibrow}, see the code below). 
 
-
 The style of a line is by default :
 
 \begin{tkzltxexample}[]
@@ -182,11 +177,9 @@
   \tkzLabelPoints(A,B,C,D)
 \end{tikzpicture}
 \end{tkzexample}
-
 %<---------------------------------------------------------------------------->
 %    SEGMENT(S)
 %<---------------------------------------------------------------------------->
-
 \section{Drawing a segment}
 There is, of course, a macro to simply draw a segment.
 
@@ -230,11 +223,12 @@
 \subsubsection{Example of extending an segment with option \tkzname{add}} 
 
 \begin{tkzexample}[latex=7cm,small]
-  \begin{tikzpicture}
+\begin{tikzpicture}
   \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
   \tkzDefTriangleCenter[euler](A,B,C) 
   \tkzGetPoint{E}
-  \tkzDrawCircle[euler,red](A,B,C)
+  \tkzDefCircle[euler](A,B,C)\tkzGetPoints{E}{e}
+  \tkzDrawCircle[red](E,e)
   \tkzDrawLines[add=.5 and .5](A,B A,C B,C)
   \tkzDrawPoints(A,B,C,E)
   \tkzLabelPoints(A,B,C,E)
@@ -254,7 +248,6 @@
        dim fence style/.style={dashed}]
 \end{verbatim}
 
-
 \begin{tkzexample}[latex=7cm]
 \begin{tikzpicture}[scale=.75]
   \tkzDefPoints{0/3/A, 1/-3/B}
@@ -273,7 +266,6 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-
 \subsubsection{Adding dimensions with option \tkzname{dim} partI} 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=2]
@@ -282,8 +274,8 @@
 \tkzDefPoint(3.07,0){B}
 \tkzInterCC[R](A,2.37)(B,1.82)
 \tkzGetPoints{C}{C'}
-\tkzDrawCircle[in](A,B,C) \tkzGetPoint{G}
-\tkzGetLength{rIn} 
+\tkzDefCircle[in](A,B,C) \tkzGetPoints{G}{g}
+\tkzDrawCircle(G,g)
 \tkzDrawPolygon(A,B,C)
 \tkzDrawPoints(A,B,C)
 \tkzCalcLength(A,B)\tkzGetLength{ABl}
@@ -307,11 +299,11 @@
   \tkzDrawPolygon(C,...,F)
   \tkzDrawSegments(A,B)
   \tkzDrawPoints(A,...,F,O)
-  \tkzLabelPoints(A,...,F,O)
-   \tkzDrawSegment[dim={ $\sqrt{5}$,2cm,}](C,E)
-   \tkzDrawSegment[dim={ $\frac{\sqrt{5}}{2}$,1cm,}](O,E)
-   \tkzDrawSegment[dim={ $2$,2cm,left=8pt}](F,C)
-   \tkzDrawSegment[dim={ $1$,1cm,left=8pt}](F,A)
+  \tkzLabelPoints[below left](A,...,F,O)
+  \tkzDrawSegment[dim={ $\sqrt{5}$,2cm,}](C,E)
+  \tkzDrawSegment[dim={ $\frac{\sqrt{5}}{2}$,1cm,}](O,E)
+  \tkzDrawSegment[dim={ $2$,2cm,left=8pt}](F,C)
+  \tkzDrawSegment[dim={ $1$,1cm,left=8pt}](F,A)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -391,7 +383,7 @@
 arguments             & example & explanation                         \\
 \midrule
 \TAline{\parg{pt1,pt2,pt3,...}}{|\BS tkzDrawPolygon[gray,dashed](A,B,C)|}{Drawing a triangle}
- \end{tabular}
+\end{tabular}
 
 \medskip
 \begin{tabular}{lll}%
@@ -438,7 +430,8 @@
 \tkzDrawPolygon[teal!80,
 line join=round](p0,p2,p4)
 \tkzDrawSegments(m1,p3 m3,p5 m5,p1)
-\tkzDrawCircle[teal,R](O,4.8)
+\tkzDefCircle[R](O,4.8)\tkzGetPoint{o}
+\tkzDrawCircle[teal](O,o)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -451,7 +444,7 @@
 arguments             & example & explanation                         \\
 \midrule
 \TAline{\parg{pt1,pt2,pt3,...}}{|\BS tkzDrawPolySeg[gray,dashed](A,B,C)|}{Drawing a triangle}
- \end{tabular}
+\end{tabular}
 
 \medskip
 \begin{tabular}{lll}%
@@ -501,16 +494,14 @@
 \tkzDrawPoints(P_1,P_...,P_8)
 \end{tikzpicture}
 \end{tkzexample}
-
 %<---------------------------------------------------------------------------->
 %    CIRCLE
 %<---------------------------------------------------------------------------->
-
 \section{Draw a circle with \tkzcname{tkzDrawCircle}}
 
 \subsection{Draw one circle}
 \begin{NewMacroBox}{tkzDrawCircle}{\oarg{local options}\parg{A,B}}%
-\tkzHandBomb\ Attention you need only two points to define a radius or a diameter.  An additional option \tkzname{R} is available  to give a measure directly.
+\tkzHandBomb\ Attention you need only two points to define a radius.  An additional option \tkzname{R} is available  to give a measure directly.
 
 \medskip
 \begin{tabular}{lll}%
@@ -517,21 +508,11 @@
 \toprule
 arguments           & example & explanation                         \\
 \midrule
-\TAline{\parg{pt1,pt2}}{\parg{A,B}} {two points to define a radius or a diameter}
+\TAline{\parg{pt1,pt2}}{\parg{A,B}} {A center through B}
+ \bottomrule
 \end{tabular}   
 
 \medskip
-\begin{tabular}{lll}%
-\toprule
-options             & default & definition                         \\ 
-\midrule
-\TOline{through}{through}{circle with two points defining a radius}
-\TOline{diameter}{through}{circle with two points defining a diameter}
-\TOline{R}{through}{circle characterized by a point and the measurement of a radius}
- \bottomrule
-\end{tabular}
-
-\medskip
 Of course, you have to add all the styles of \TIKZ\ for the tracings...
 \end{NewMacroBox}
  
@@ -545,12 +526,12 @@
  % circle with center O and passing through A
   \tkzDrawCircle(O,A) 
  % diameter circle $[OA]$
-  \tkzDrawCircle[diameter,new,%
-                 line width=.4pt,fill=orange!10,%
-                 opacity=.5](O,A)
+ \tkzDefCircle[diameter](O,A) \tkzGetPoint{I}
+ \tkzDrawCircle[new,fill=orange!10,opacity=.5](I,A)
  % circle with center O and radius = exp(1) cm
   \edef\rayon{\fpeval{0.25*exp(1)}}
-  \tkzDrawCircle[R,color=orange](O,\rayon) 
+  \tkzDefCircle[R](O,\rayon) \tkzGetPoint{o}
+   \tkzDrawCircle[color=orange](O,o) 
 \end{tikzpicture} 
 \end{tkzexample}  
 
@@ -594,18 +575,18 @@
 \end{tikzpicture} 
 \end{tkzexample}
 
- \subsubsection{Concentric circles.} 
+\subsubsection{Concentric circles.} 
  
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}
-   \tkzDefPoint(0,0){A}
-   \tkzDrawCircles[R](A,1 A,2 A,3)
+   \tkzDefPoints{0/0/A,1/0/a,2/0/b,3/0/c}
+   \tkzDrawCircles(A,a A,b A,c)
    \tkzDrawPoint(A)
    \tkzLabelPoints(A)
 \end{tikzpicture}
 \end{tkzexample}
 
- \subsubsection{Exinscribed circles.} 
+\subsubsection{Exinscribed circles.} 
 
 \begin{tkzexample}[latex=8cm,small] 
 \begin{tikzpicture}[scale=1] 
@@ -613,8 +594,7 @@
 \tkzDrawPolygon(A,B,C)
 \tkzDefCircle[ex](B,C,A) 
 \tkzGetPoint{J_c} \tkzGetSecondPoint{T_c}
-\tkzGetLength{rJc} 
-\tkzDrawCircle[R](J_c,{\rJc pt})
+\tkzDrawCircle(J_c,T_c)
 \tkzDrawLines[add=0 and 1](C,A C,B)
 \tkzDrawSegment(J_c,T_c)
 \tkzMarkRightAngle(J_c,T_c,B)
@@ -648,7 +628,7 @@
 \toprule
 arguments           & example & explanation                         \\
 \midrule
-\TAline{\parg{pt1,pt2}}{\parg{O,A} or \parg{A,B}} {radius or diameter}
+\TAline{\parg{pt1,pt2}}{\parg{O,A}} {radius}
 \bottomrule
 \end{tabular} 
     
@@ -658,7 +638,6 @@
 options             & default & definition                         \\ 
 \midrule
 \TOline{through}  {through}{circle characterized by two points defining a radius} 
-\TOline{diameter} {through}{circle characterized by two points defining a diameter}
 \end{tabular}
 \end{NewMacroBox}  
 
@@ -680,7 +659,6 @@
    \tkzDrawCircle(M,I)
    \tkzCalcLength(M,I) \tkzGetLength{dMI}
    \tkzDrawPolygon(A,B,C,D)
-   \tkzDrawCircle[R](M,\dMI)
    \tkzDrawSemiCircle(F,D)
 \end{tikzpicture}
 \end{tkzexample}
@@ -704,16 +682,14 @@
 options             & default & definition                         \\ 
 \midrule
 \TOline{through}{through}{circle with two points defining a radius}
-\TOline{diameter}{through}{circle with two points defining a diameter}
  \bottomrule
 \end{tabular}
 \end{NewMacroBox}  
-
 %<---------------------------------------------------------------------------->
 %    ARC
 %<---------------------------------------------------------------------------->
-
 \section{Drawing arcs} 
+\subsection{Macro: \tkzcname{tkzDrawArc} }
 \begin{NewMacroBox}{tkzDrawArc}{\oarg{local options}\parg{O,\dots}\parg{\dots}}%
 This macro traces the arc of center $O$. Depending on the options, the arguments differ.   It is a question of determining a starting point and an end point. Either the starting point is given, which is the simplest, or the radius of the arc is given. In the latter case, it is necessary to have two angles. Either the angles can be given directly, or nodes associated with the center can be given to determine them. The angles are in degrees.
 
@@ -727,7 +703,8 @@
 \TOline{R}{towards}{We give the radius and two angles} 
 \TOline{R with nodes}{towards}{We give the radius and two points}
 \TOline{angles}{towards}{We give the radius and two points}
-\TOline{delta}{0}{angle added on each side } 
+\TOline{delta}{0}{angle added on each side }
+\TOline{reverse}{false}{inversion of the arc's path, interesting to inverse arrow} 
 \bottomrule
 \end{tabular}
 
@@ -750,7 +727,7 @@
 
 Here are a few examples: 
 
-\subsection{Option \tkzname{towards}}
+\subsubsection{Option \tkzname{towards}}
 It's useless to put \tkzname{towards}. In this first example the arc starts from $A$ and goes to $B$. The arc going from $B$ to $A$ is different. The salient is obtained by going in the direct direction of the trigonometric circle.
 \begin{tkzexample}[latex=6cm,small]
 \begin{tikzpicture}[scale=.75]
@@ -766,7 +743,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Option \tkzname{towards}}
+\subsubsection{Option \tkzname{towards}}
 In this one, the arc starts from A but stops on the right (OB).
  
 \begin{tkzexample}[latex=6cm,small]
@@ -783,7 +760,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Option \tkzname{rotate}}
+\subsubsection{Option \tkzname{rotate}}
 \begin{tkzexample}[latex=6cm,small] 
 \begin{tikzpicture}[scale=0.75] 
   \tkzDefPoint(0,0){O}
@@ -796,7 +773,7 @@
 \end{tikzpicture}
 \end{tkzexample} 
 
-\subsection{Option \tkzname{R}} 
+\subsubsection{Option \tkzname{R}} 
 \begin{tkzexample}[latex=6cm,small]   
 \begin{tikzpicture}[scale=0.75] 
   \tkzDefPoints{0/0/O}
@@ -808,7 +785,7 @@
 \end{tikzpicture} 
 \end{tkzexample}
 
-\subsection{Option \tkzname{R with nodes}} 
+\subsubsection{Option \tkzname{R with nodes}} 
 \begin{tkzexample}[latex=6cm,small]
 \begin{tikzpicture}[scale=0.75] 
   \tkzDefPoint(0,0){O}
@@ -819,7 +796,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Option \tkzname{delta}}
+\subsubsection{Option \tkzname{delta}}
 This option allows a bit like \tkzcname{tkzCompass} to place an arc and overflow on either side. delta is a measure in degrees.
 
 \begin{tkzexample}[latex=7cm,small] 
@@ -840,12 +817,12 @@
  \end{scope}
 
  \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(A,B,C,D)
+ \tkzLabelPoints[below right](A,B,C,D)
  \tkzMarkRightAngle(D,B,A)
 \end{tikzpicture}
 \end{tkzexample} 
 
-\subsection{Option \tkzname{angles}: example 1}
+\subsubsection{Option \tkzname{angles}: example 1}
 
 \begin{tkzexample}[latex=6cm,small]
 \begin{tikzpicture}[scale=.75]
@@ -863,12 +840,12 @@
     \tkzDrawLines(A,B O,E B,E)
     \tkzDrawPoints(A,B,O,D,E)
   \end{scope}
-  \tkzLabelPoints(A,B,O,D,E)
+  \tkzLabelPoints[below right](A,B,O,D,E)
   \tkzMarkRightAngle(O,B,E) 
 \end{tikzpicture} 
 \end{tkzexample}
 
-\subsection{Option \tkzname{angles}: example 2}
+\subsubsection{Option \tkzname{angles}: example 2}
 
 \begin{tkzexample}[latex=6cm,small]
   \begin{tikzpicture}
@@ -889,15 +866,26 @@
   \end{tikzpicture} 
 \end{tkzexample}
 
+\subsubsection{Option \tkzname{reverse}: inversion of the arrow}
+
+\begin{tkzexample}[latex=6cm,small]
+  \begin{tikzpicture}
+    \tkzDefPoints{0/0/O,3/0/U}
+    \tkzDefPoint(10:1){A}
+    \tkzDefPoint(90:1){B}
+    \tkzLabelPoints(A,B)
+    \tkzDrawArc[reverse,tkz arrow={Stealth}](O,A)(B)
+    \tkzDrawPoints(A,B,O)
+  \end{tikzpicture}
+\end{tkzexample}
 %<---------------------------------------------------------------------------->
 %    SECTOR
 %<---------------------------------------------------------------------------->
-
 \section{Drawing a sector or sectors}
 \subsection{\tkzcname{tkzDrawSector}} 
 \tkzHandBomb\  Attention the arguments vary according to the options.
 \begin{NewMacroBox}{tkzDrawSector}{\oarg{local options}\parg{O,\dots}\parg{\dots}}%
-\begin{tabular}{lll}%
+\begin{tabular}{SlSlSl}%
 options             & default & definition                         \\ 
 \midrule
 \TOline{towards}{towards}{$O$ is the center and the arc from $A$ to $(OB)$}
@@ -904,13 +892,14 @@
 \TOline{rotate} {towards}{the arc starts from $A$ and the angle determines its length } 
 \TOline{R}{towards}{We give the radius and two angles}
 \TOline{R with nodes}{towards}{We give the radius and two points}
-\bottomrule
+
 \end{tabular} 
 
-You have to add, of course, all the styles of \TIKZ\ for tracings...
+\medskip
+\emph{You have to add, of course, all the styles of \TIKZ\ for tracings...}
 
 \begin{tabular}{lll}%
-\toprule
+
 options             & arguments & example                         \\ 
 \midrule
 \TOline{towards}{\parg{pt,pt}\parg{pt}}{\tkzcname{tkzDrawSector(O,A)(B)}}

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-elements.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-elements.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-elements.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -1,4 +1,3 @@
-
 \section{The Elements of tkz code}
 
 To work with my package, you need to have notions of \LATEX\ as well as \TIKZ.
@@ -15,14 +14,9 @@
 
 The code of the figures is placed in an environment \tkzimp{tikzpicture}
 
-\begin{tkzltxexample}[]
- \begin{tikzpicture}
-   code ...
- \end{tikzpicture} 
- \end{tkzltxexample}
+
+Contrary to \TIKZ, you should not end a macro with  ";". We thus lose the important notion which is the \tkzimp{path}. However, it is possible to place some code between the macros \tkzname{\tkznameofpack}.
  
- Contrary to \TIKZ, you should not end a macro with  ";". We thus lose the important notion which is the \tkzimp{path}. However, it is possible to place some code between the macros \tkzname{\tkznameofpack}.
- 
 
 Among the first category, |\tkzDefPoint| allows you to define fixed points. It will be studied in detail later. Here we will see in detail the macro  |\tkzDefTriangle|.
 
@@ -36,12 +30,10 @@
   |equilateral|,  |isosceles right|, |half|, |pythagoras|, |school|, |golden or sublime|, |euclid|, |gold|, |cheops|...
  and |two angles| you just have to choose between hooks, for example:
  
-
-
 \begin{minipage}{0.5\textwidth}
   \begin{tikzpicture}[scale=.5]
   \tkzDefPoints{0/0/A,8/0/B}
-  \foreach \tr in {euclid, gold}
+  \foreach \tr in {golden, equilateral}
   {\tkzDefTriangle[\tr](A,B) \tkzGetPoint{C}
   \tkzDrawPoint(C)
   \tkzLabelPoint[right](C){\tr}
@@ -55,7 +47,7 @@
   \begin{tkzexample}[code only,small]
     \begin{tikzpicture}[scale=.5]
     \tkzDefPoints{0/0/A,8/0/B}
-    \foreach \tr in {euclid,gold}
+   \foreach \tr in {golden, equilateral}
     {\tkzDefTriangle[\tr](A,B) \tkzGetPoint{C}
     \tkzDrawPoint(C)
     \tkzLabelPoint[right](C){\tr}
@@ -67,7 +59,6 @@
   \end{tkzexample}
 \end{minipage}
 
-
 \subsection{Notations and conventions}
 
 I deliberately chose to use the geometric French and personal  conventions  to describe the geometric objects represented. The objects defined and represented by \tkzname{\tkznameofpack} are points, lines and circles located in a plane. They are the primary objects of Euclidean geometry from which we will construct figures.
@@ -77,7 +68,6 @@
 
 Here are the notations that will be used:
 
-
 \begin{itemize}
 \item The points are represented geometrically either by a small disc or by the intersection of two lines (two straight lines, a straight line and a circle or two circles). In this case, the point is represented by a cross. 
 
@@ -130,7 +120,6 @@
 
 \item The semi-straight line is designated as follows $[AB)$.
 
-
 \item Relation between the straight lines. Two perpendicular $(AB)$ and $(CD)$ lines will be written $(AB) \perp (CD)$ and if they are parallel we will write $(AB) \parallelslant (CD)$.
 
 \item The lengths of the sides of triangle ABC are $AB$, $AC$ and $BC$. The numbers are also designated by a lowercase letter so we will write: $AB=c$, $AC=b$ and $BC=a$. The letter $a$ is also used to represent an angle, and $r$ is frequently used to represent a radius, $d$ a diameter, $l$ a length, $d$ a distance.
@@ -141,16 +130,13 @@
 
 \item The arcs are designated by their extremities. For example if $A$ and $B$ are two points of the same circle then $\widearc{AB}$.
 
-
 \item Circles are noted either $\mathcal{C}$ if there is no possible confusion or $\mathcal{C}$ $(O~;~A)$ for a circle with center $O$ and passing through the point $A$ or $\mathcal{C}$ $(O~;~1)$ for a circle with center O and radius 1 cm.
 
 \item  Name of the particular lines of a triangle: I used the terms bisector, bisector out, mediator (sometimes called perpendicular bisectors), altitude, median and symmedian.
 
 \item ($x_1$,$y_1$) coordinates of the point $A_1$, ($x_A$,$y_A$) coordinates of the point $A$.
-
 \end{itemize}
 
-
 \subsection{\tkzname{Set, Calculate, Draw, Mark, Label}}
 The title could have been: \texttt{Separation of Calculus and Drawings}
 

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-examples.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-examples.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-examples.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -1,4 +1,3 @@
-
 \section{Some interesting examples}
 
 \subsection{Square root of the integers}
@@ -87,10 +86,10 @@
 
 \begin{tikzpicture}
 \node [mybox,title={Book II, proposition XI  \_Euclid's Elements\_}] (box){%
-    \begin{minipage}{0.90\textwidth}
+\begin{minipage}{0.90\textwidth}
 {\emph{To construct Square and rectangle of same area.}
 } 
-    \end{minipage}
+\end{minipage}
 };
 \end{tikzpicture}% 
 
@@ -110,7 +109,8 @@
  \tkzDrawSegments(A,F E,B H,I F,H)
  \tkzDrawPolygons(A,B,C,D)
  \tkzDrawPoints(A,...,I)
- \tkzLabelPoints(A,...,I)
+ \tkzLabelPoints[below right](A,E,D,F,I)
+ \tkzLabelPoints[above right](C,B,G,H)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -120,7 +120,7 @@
 
 \begin{tikzpicture}
 \node [mybox,title={Steiner Line and Simson Line}] (box){%
-    \begin{minipage}{0.90\textwidth}
+\begin{minipage}{0.90\textwidth}
 {\emph{Consider the triangle ABC and a point M on its circumcircle. The projections  of M on the sides of the triangle are on a line (Steiner Line),  The three closest points to M on lines AB, AC, and BC are collinear. It's the Simson Line.
 }} 
 \end{minipage}
@@ -153,10 +153,8 @@
   \tkzDrawPoints(A,B,C,H,M,N,P,Q,R,P',Q',R',I,J,K)
   \tkzLabelPoints(A,B,C,H,M,N,P,Q,R,P',Q',R',I,J,K)
 \end{tikzpicture}
-
 \end{tkzexample}
 
-
 \newpage
 \subsection{Lune of Hippocrates}
 
@@ -180,7 +178,8 @@
   \tkzDrawPolygon[fill=green!5](A,B,C)
    \begin{scope}
      \tkzClipCircle[out](B,A)
-     \tkzDrawSemiCircle[diameter,fill=teal!5](A,C)
+     \tkzDefMidPoint(C,A) \tkzGetPoint{M}
+     \tkzDrawSemiCircle[fill=teal!5](M,C)
    \end{scope}
    \tkzDrawArc[delta=0](B,C)(A)
 \end{tikzpicture}
@@ -207,11 +206,14 @@
   \tkzDefMidPoint(C,A) \tkzGetPoint{I}
   \begin{scope}
     \tkzClipCircle[out](I,A)
-    \tkzDrawSemiCircle[diameter,fill=teal!5](B,A)
-    \tkzDrawSemiCircle[diameter,fill=teal!5](C,B)
+    \tkzDefMidPoint(B,A) \tkzGetPoint{x}
+    \tkzDrawSemiCircle[fill=teal!5](x,A)
+    \tkzDefMidPoint(B,C) \tkzGetPoint{y}
+    \tkzDrawSemiCircle[fill=teal!5](y,B)
   \end{scope}
   \tkzSetUpCompass[/tkzcompass/delta=0]
-  \tkzDrawSemiCircle[diameter](C,A)
+      \tkzDefMidPoint(C,A) \tkzGetPoint{z}
+  \tkzDrawSemiCircle(z,A)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -265,9 +267,6 @@
  \end{tikzpicture}
  \end{tkzexample}
 
-
-
-
 \newpage
 \subsection{Similar isosceles triangles}
 
@@ -281,8 +280,6 @@
 };
 \end{tikzpicture}% 
 
-
-
 The following is from the excellent site \textbf{Descartes et les Mathématiques}. I did not modify the text and I am only the author of the programming of the figures.
 
 \url{http://debart.pagesperso-orange.fr/seconde/triangle.html}
@@ -290,13 +287,10 @@
 Bibliography:
 
 \begin{itemize}
-
 \item   Géométrie au Bac - Tangente, special issue no. 8 - Exercise 11, page 11
 
-
 \item   Elisabeth Busser and Gilles Cohen: 200 nouveaux problèmes du "Monde" - POLE 2007 (200 new problems of "Le Monde")
 
-
 \item   Affaire de logique n° 364 - Le Monde February 17, 2004
 \end{itemize}
 
@@ -313,7 +307,7 @@
 
 \vspace*{2cm} The constructions and their associated codes are on the next two pages, but you can search before looking. The programming respects (it seems to me ...) my reasoning in both cases.
 
- \subsection{Revised version of "Tangente"}
+\subsection{Revised version of "Tangente"}
 \begin{tkzexample}[]
 \begin{tikzpicture}[scale=.8,rotate=60]
   \tkzDefPoint(6,0){X}   \tkzDefPoint(3,3){Y}
@@ -391,7 +385,8 @@
    \tkzDrawSegments[color=orange](B,B' C,C' A,A')
    \tkzMarkRightAngles(C,B',B B,C',C C,A',A)
    \tkzDrawPoints(A,B,C,A',B',C',H)
-   \tkzLabelPoints(A,B,C,A',B',C',H)
+   \tkzLabelPoints[above right](A,B',C',H)
+   \tkzLabelPoints[below right](B,C,A')
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -408,7 +403,9 @@
 \tkzInterLC(C,B)(O,A)
 \tkzGetSecondPoint{N}
 \tkzInterLL(B,M)(A,N)\tkzGetPoint{I}
-\tkzDrawCircles[diameter](A,B I,C)
+\tkzDefCircle[diameter](A,B)\tkzGetPoint{x}
+\tkzDefCircle[diameter](I,C)\tkzGetPoint{y}
+\tkzDrawCircles(x,A y,C)
 \tkzDrawSegments(C,A C,B A,B B,M A,N)
 \tkzMarkRightAngles[fill=brown!20](A,M,B A,N,B A,P,C)
 \tkzDrawSegment[style=dashed,color=orange](C,P)
@@ -422,7 +419,6 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-
 \newpage
 \subsection{Three circles  in an Equilateral Triangle }
 \begin{tikzpicture}
@@ -496,7 +492,6 @@
   \end{tikzpicture}
 \end{tkzexample}
 
-
 In the triangle $ABC$ 
 
 \begin{equation}
@@ -526,33 +521,33 @@
 Weisstein, Eric W. "Flower of Life." From MathWorld--A Wolfram Web Resource.\\ \url{http://mathworld.wolfram.com/FlowerofLife.html}
  
 \begin{tkzexample}[vbox,small]
-  \begin{tikzpicture}[scale=.75]
-    \tkzSetUpLine[line width=2pt,color=teal!80!black]
-    \tkzSetUpCompass[line width=2pt,color=teal!80!black]
-     \tkzDefPoint(0,0){O}  \tkzDefPoint(2.25,0){A}
-     \tkzDrawCircle(O,A)
-  \foreach \i in {0,...,5}{
-     \tkzDefPointBy[rotation= center O angle 30+60*\i](A)\tkzGetPoint{a\i}
-     \tkzDefPointBy[rotation= center {a\i} angle  120](O)\tkzGetPoint{b\i}
-     \tkzDefPointBy[rotation= center {a\i} angle  180](O)\tkzGetPoint{c\i}
-     \tkzDefPointBy[rotation= center {c\i} angle  120](a\i)\tkzGetPoint{d\i}
-     \tkzDefPointBy[rotation= center {c\i} angle   60](d\i)\tkzGetPoint{f\i}
-     \tkzDefPointBy[rotation= center {d\i} angle   60](b\i)\tkzGetPoint{e\i} 
-     \tkzDefPointBy[rotation= center {f\i} angle   60](d\i)\tkzGetPoint{g\i} 
-     \tkzDefPointBy[rotation= center {d\i} angle   60](e\i)\tkzGetPoint{h\i}
-     \tkzDefPointBy[rotation= center {e\i} angle  180](b\i)\tkzGetPoint{k\i}   
-     \tkzDrawCircle(a\i,O)
-     \tkzDrawCircle(b\i,a\i)
-     \tkzDrawCircle(c\i,a\i)
-     \tkzDrawArc[rotate](f\i,d\i)(-120)
-     \tkzDrawArc[rotate](e\i,d\i)(180)
-     \tkzDrawArc[rotate](d\i,f\i)(180)
-     \tkzDrawArc[rotate](g\i,f\i)(60)
-     \tkzDrawArc[rotate](h\i,d\i)(60)
-     \tkzDrawArc[rotate](k\i,e\i)(60) 
-  }
-     \tkzClipCircle(O,f0)
-  \end{tikzpicture}
+\begin{tikzpicture}[scale=.75]
+  \tkzSetUpLine[line width=2pt,color=teal!80!black]
+  \tkzSetUpCompass[line width=2pt,color=teal!80!black]
+   \tkzDefPoint(0,0){O}  \tkzDefPoint(2.25,0){A}
+   \tkzDrawCircle(O,A)
+\foreach \i in {0,...,5}{
+   \tkzDefPointBy[rotation= center O angle 30+60*\i](A)\tkzGetPoint{a\i}
+   \tkzDefPointBy[rotation= center {a\i} angle  120](O)\tkzGetPoint{b\i}
+   \tkzDefPointBy[rotation= center {a\i} angle  180](O)\tkzGetPoint{c\i}
+   \tkzDefPointBy[rotation= center {c\i} angle  120](a\i)\tkzGetPoint{d\i}
+   \tkzDefPointBy[rotation= center {c\i} angle   60](d\i)\tkzGetPoint{f\i}
+   \tkzDefPointBy[rotation= center {d\i} angle   60](b\i)\tkzGetPoint{e\i} 
+   \tkzDefPointBy[rotation= center {f\i} angle   60](d\i)\tkzGetPoint{g\i} 
+   \tkzDefPointBy[rotation= center {d\i} angle   60](e\i)\tkzGetPoint{h\i}
+   \tkzDefPointBy[rotation= center {e\i} angle  180](b\i)\tkzGetPoint{k\i}   
+   \tkzDrawCircle(a\i,O)
+   \tkzDrawCircle(b\i,a\i)
+   \tkzDrawCircle(c\i,a\i)
+   \tkzDrawArc[rotate](f\i,d\i)(-120)
+   \tkzDrawArc[rotate](e\i,d\i)(180)
+   \tkzDrawArc[rotate](d\i,f\i)(180)
+   \tkzDrawArc[rotate](g\i,f\i)(60)
+   \tkzDrawArc[rotate](h\i,d\i)(60)
+   \tkzDrawArc[rotate](k\i,e\i)(60) 
+}
+   \tkzClipCircle(O,f0)
+\end{tikzpicture}
 \end{tkzexample}
 
 
@@ -567,29 +562,7 @@
 };
 \end{tikzpicture}% 
 
-\begin{tkzexample}[code only, small]
-\begin{tikzpicture}
-  \tkzDefPoint(0,0){O} \tkzDefPoint(5,0){A}
-  \tkzDefPoint(0,5){B} \tkzDefPoint(-5,0){C} 
-  \tkzDefPoint(0,-5){D}
-  \tkzDefMidPoint(A,O)     \tkzGetPoint{I}
-  \tkzInterLC(I,B)(I,A)    \tkzGetPoints{F}{E}
-  \tkzInterCC(O,C)(B,E)    \tkzGetPoints{D3}{D2}
-  \tkzInterCC(O,C)(B,F)    \tkzGetPoints{D4}{D1}
-  \tkzDrawArc[angles](B,E)(180,360)
-  \tkzDrawArc[angles](B,F)(220,340)
-  \tkzDrawLine[add=.5 and .5](B,I)
-  \tkzDrawCircle(O,A)
-  \tkzDrawCircle[diameter](O,A)  
-  \tkzDrawSegments(B,D C,A) 
-  \tkzDrawPolygon[new](D,D1,D2,D3,D4)
-  \tkzDrawPoints(A,...,D,O)
-  \tkzDrawPoints[new](E,F,I,D1,D2,D4,D3)
-  \tkzLabelPoints(A,...,D,O)
-  \tkzLabelPoints[new](I,E,F,D1,D2,D4,D3)  
- \end{tikzpicture}
-\end{tkzexample}
-
+\begin{tkzexample}[vbox,small]
 \begin{tikzpicture}[scale=.75]
    \tkzDefPoint(0,0){O} 
    \tkzDefPoint(5,0){A}
@@ -596,23 +569,25 @@
    \tkzDefPoint(0,5){B}
    \tkzDefPoint(-5,0){C} 
    \tkzDefPoint(0,-5){D}
-   \tkzDefMidPoint(A,O)     \tkzGetPoint{I}
-   \tkzInterLC(I,B)(I,A)    \tkzGetPoints{F}{E}
-   \tkzInterCC(O,C)(B,E)    \tkzGetPoints{D3}{D2}
-   \tkzInterCC(O,C)(B,F)    \tkzGetPoints{D4}{D1}
+   \tkzDefMidPoint(A,O)             \tkzGetPoint{I}
+   \tkzInterLC(I,B)(I,A)            \tkzGetPoints{F}{E}
+   \tkzInterCC(O,C)(B,E)            \tkzGetPoints{D3}{D2}
+   \tkzInterCC(O,C)(B,F)            \tkzGetPoints{D4}{D1}
    \tkzDrawArc[angles](B,E)(180,360)
    \tkzDrawArc[angles](B,F)(220,340)
    \tkzDrawLine[add=.5 and .5](B,I)
    \tkzDrawCircle(O,A)
-   \tkzDrawCircle[diameter](O,A)  
+   \tkzDefCircle[diameter](O,A)     \tkzGetPoint{x}
+   \tkzDrawCircle(x,A)
    \tkzDrawSegments(B,D C,A) 
    \tkzDrawPolygon[new](D,D1,D2,D3,D4)
    \tkzDrawPoints(A,...,D,O)
    \tkzDrawPoints[new](E,F,I,D1,D2,D4,D3)
-   \tkzLabelPoints(A,...,D,O)
-   \tkzLabelPoints[new](I,E,F,D1,D2,D4,D3)  
+   \tkzLabelPoints[below left](A,...,D,O)
+   \tkzLabelPoints[new,below right](I,E,F,D1,D2,D4,D3)  
 \end{tikzpicture}
- 
+\end{tkzexample}
+
  \newpage
  \subsection{Pentagon in a square}
  \begin{tikzpicture}
@@ -624,12 +599,14 @@
  };
  \end{tikzpicture}%
     
-\begin{tkzexample}[code only, small]
-  \begin{tikzpicture}
-  \tkzDefPoint(-5,-5){A} \tkzDefPoint(0,0){O}  
-  \tkzDefPoint(+5,-5){B} \tkzDefPoint(0,-5){F}    
-  \tkzDefPoint(+5,0){F'} \tkzDefPoint(0,+5){E} \tkzDefPoint(-5,0){K}
-  \tkzDefSquare(A,B)                       \tkzGetPoints{C}{D}
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}[scale=.75]
+  \tkzDefPoints{0/0/O,-5/-5/A,5/-5/B}
+  \tkzDefSquare(A,B)   \tkzGetPoints{C}{D}
+  \tkzDefMidPoint(A,B) \tkzGetPoint{F}
+  \tkzDefMidPoint(C,D) \tkzGetPoint{E}
+  \tkzDefMidPoint(B,C) \tkzGetPoint{G}
+  \tkzDefMidPoint(A,D) \tkzGetPoint{K}
   \tkzInterLC(D,C)(E,B)                    \tkzGetSecondPoint{T}
   \tkzDefMidPoint(D,T)                     \tkzGetPoint{I}
   \tkzInterCC[with nodes](O,D,I)(E,D,I)    \tkzGetSecondPoint{H}
@@ -637,48 +614,17 @@
   \tkzInterCC(O,E)(E,M)                    \tkzGetFirstPoint{Q}
   \tkzInterCC[with nodes](O,O,E)(Q,E,M)    \tkzGetFirstPoint{P}
   \tkzInterCC[with nodes](O,O,E)(P,E,M)    \tkzGetFirstPoint{N}
-  \tkzCompass(O,H)
-  \tkzCompass(E,H)
+  \tkzCompasss(O,H E,H)
   \tkzDrawArc(E,B)(T)
-  \tkzDrawPolygon(A,B,C,D)
+  \tkzDrawPolygons[purple](A,B,C,D M,E,Q,P,N) 
   \tkzDrawCircle(O,E)
-  \tkzDrawSegments[new](T,I O,H E,H E,F F',K)
+  \tkzDrawSegments(T,I O,H E,H E,F G,K)
   \tkzDrawPoints(T,M,Q,P,N,I)
-  \tkzDrawPolygon[new](M,E,Q,P,N)
   \tkzLabelPoints(A,B,O,N,P,Q,M,H)
   \tkzLabelPoints[above right](C,D,E,I,T)
 \end{tikzpicture} 
-\end{tkzexample} 
+\end{tkzexample}
 
-  \begin{tikzpicture}[scale=.5]
-  \tkzDefPoint(-5,-5){A} 
-  \tkzDefPoint(0,0){O}  
-  \tkzDefPoint(+5,-5){B} 
-  \tkzDefPoint(0,-5){F}    
-  \tkzDefPoint(+5,0){F'}
-  \tkzDefPoint(0,+5){E} 
-  \tkzDefPoint(-5,0){K}
-  \tkzDefSquare(A,B)                       \tkzGetPoints{C}{D}
-  \tkzInterLC(D,C)(E,B)                    \tkzGetSecondPoint{T}
-  \tkzDefMidPoint(D,T)                     \tkzGetPoint{I}
-  \tkzInterCC[with nodes](O,D,I)(E,D,I)    \tkzGetSecondPoint{H}
-  \tkzInterLC(O,H)(O,E)                    \tkzGetSecondPoint{M}
-  \tkzInterCC(O,E)(E,M)                    \tkzGetFirstPoint{Q}
-  \tkzInterCC[with nodes](O,O,E)(Q,E,M)    \tkzGetFirstPoint{P}
-  \tkzInterCC[with nodes](O,O,E)(P,E,M)    \tkzGetFirstPoint{N}
-  \tkzCompass(O,H)
-  \tkzCompass(E,H)
-  \tkzDrawArc(E,B)(T)
-  \tkzDrawPolygon(A,B,C,D)
-  \tkzDrawCircle(O,E)
-  \tkzDrawSegments(T,I O,H E,H)
-  \tkzDrawSegments(E,F F',K)
-  \tkzDrawPoints(T,M,Q,P,N,I)
-  \tkzDrawPolygon[color=purple](M,E,Q,P,N)
-  \tkzLabelPoints(A,B,O,N,P,Q,M,H)
-  \tkzLabelPoints[above right](C,D,E,I,T)
-\end{tikzpicture} 
-
 \newpage
  \subsection{Hexagon Inscribed}
  \begin{tikzpicture}
@@ -690,7 +636,8 @@
  };
  \end{tikzpicture}%
  
- 
+\subsubsection{Hexagon Inscribed version 1} % (fold)
+\label{ssub:hexagon_inscribed_version_1}
 \begin{tkzexample}[latex=7cm,small]
   \begin{tikzpicture}[scale=.5]
    \pgfmathsetmacro{\c}{6} 
@@ -708,8 +655,10 @@
    \tkzDrawPolygon[red,thick](a2,a1,b2,b1,c2,c1)
  \end{tikzpicture} 
 \end{tkzexample}
+% subsubsection hexagon_inscribed_version_1 (end)
 
-Another solution
+\subsubsection{Hexagon Inscribed version 2} % (fold)
+\label{ssub:hexagon_inscribed_version_2}
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=.5]
  \pgfmathsetmacro{\c}{6} 
@@ -723,6 +672,7 @@
  \tkzDrawPolygon[fill=purple!20,opacity=.5](a,b,c)
 \end{tikzpicture} 
 \end{tkzexample}
+% subsubsection hexagon_inscribed_version_2 (end)
 
 \newpage
 \subsection{Power of a point with respect to a circle}
@@ -734,6 +684,7 @@
 \end{minipage}
 };
 \end{tikzpicture}% 
+
 \begin{tkzexample}[vbox,small]
 \begin{tikzpicture}
  \pgfmathsetmacro{\r}{2}%
@@ -765,12 +716,16 @@
 };
 \end{tikzpicture}% 
 
+\begin{tkzexample}[vbox,small]
 \begin{tikzpicture}
 \tkzDefPoints{0/0/A,4/2/B,2/3/K}
-\tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,2)
-\tkzDrawCircle[R,dashed,new](K,3)
-\tkzInterCC[R](A,1)(K,3) \tkzGetPoints{a}{a'}
-\tkzInterCC[R](B,2)(K,3) \tkzGetPoints{b}{b'}
+\tkzDefCircle[R](A,1)\tkzGetPoint{a}
+\tkzDefCircle[R](B,2)\tkzGetPoint{b}
+\tkzDefCircle[R](K,3)\tkzGetPoint{k}
+\tkzDrawCircles(A,a B,b)
+\tkzDrawCircle[dashed,new](K,k)
+\tkzInterCC(A,a)(K,k) \tkzGetPoints{a}{a'}
+\tkzInterCC(B,b)(K,k) \tkzGetPoints{b}{b'}
 \tkzDrawLines[new,add=2 and 2](a,a')
 \tkzDrawLines[new,add=1 and 1](b,b')
 \tkzInterLL(a,a')(b,b') \tkzGetPoint{X}
@@ -780,23 +735,6 @@
 \tkzDrawLine[add= 1 and 2,new](X,H)
 \tkzLabelPoints(A,B,H,X,a,b,a',b')
 \end{tikzpicture}
-
-\begin{tkzexample}[code only,small]
-  \begin{tikzpicture}
-  \tkzDefPoints{0/0/A,4/2/B,2/3/K}
-  \tkzInterCC[R](A,1)(K,3) \tkzGetPoints{a}{a'}
-  \tkzInterCC[R](B,2)(K,3) \tkzGetPoints{b}{b'}
-  \tkzDrawLines[color=red,add=2 and 2](a,a')
-  \tkzDrawLines[color=red,add=1 and 1](b,b')
-  \tkzInterLL(a,a')(b,b') \tkzGetPoint{X}
-  \tkzDefPointBy[projection= onto A--B](X) \tkzGetPoint{H}
-  \tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,2)
-  \tkzDrawCircle[R,dashed,orange](K,3)
-  \tkzDrawPoints(A,B,H,X,a,b,a',b')
-  \tkzDrawLine(A,B)
-  \tkzDrawLine[add= 1 and 2](X,H)
-  \tkzLabelPoints(A,B,H,X,a,b,a',b')
-  \end{tikzpicture}
 \end{tkzexample}
 
 \newpage
@@ -810,37 +748,23 @@
 };
 \end{tikzpicture}% 
 
+\begin{tkzexample}[vbox,small]
 \begin{tikzpicture}
 \tkzDefPoints{0/0/A,4/2/B,2/3/K}
-\tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,2)
+\tkzDefCircle[R](A,1)\tkzGetPoint{a}
+\tkzDefCircle[R](B,2)\tkzGetPoint{b}
+\tkzDrawCircles(A,a B,b)
 \tkzDrawLine(A,B)
 \tkzDefShiftPoint[A](60:1){M}
 \tkzDefShiftPoint[B](60:2){M'}
 \tkzInterLL(A,B)(M,M') \tkzGetPoint{O}
-\tkzDefTangent[from = O](B,M') \tkzGetPoints{X}{T'}
-\tkzDefTangent[from = O](A,M) \tkzGetPoints{X}{T}
+\tkzDefLine[tangent from = O](B,M') \tkzGetPoints{X}{T'}
+\tkzDefLine[tangent from = O](A,M) \tkzGetPoints{X}{T}
 \tkzDrawPoints(A,B,O,T,T',M,M')
 \tkzDrawLines[new](O,B O,T' O,M')
 \tkzDrawSegments[new](A,M B,M')
 \tkzLabelPoints(A,B,O,T,T',M,M')
 \end{tikzpicture}
-
-
-\begin{tkzexample}[code only,small]
-  \begin{tikzpicture}
-  \tkzDefPoints{0/0/A,4/2/B,2/3/K}
-  \tkzDefShiftPoint[A](60:1){M}
-  \tkzDefShiftPoint[B](60:2){M'}
-  \tkzInterLL(A,B)(M,M') \tkzGetPoint{O}
-  \tkzDefTangent[from = O](B,M') \tkzGetPoints{X}{T'}
-  \tkzDefTangent[from = O](A,M) \tkzGetPoints{X}{T}
-  \tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,2)
-  \tkzDrawLine(A,B)
-  \tkzDrawPoints(A,B,O,T,T',M,M')
-  \tkzDrawLines[new](O,B O,T' O,M')
-  \tkzDrawSegments[new](A,M B,M')
-  \tkzLabelPoints(A,B,O,T,T',M,M')
-  \end{tikzpicture}
 \end{tkzexample}
 
 \newpage
@@ -854,6 +778,7 @@
 };
 \end{tikzpicture}%
 
+\begin{tkzexample}[vbox,small]
 \begin{tikzpicture}
  \pgfmathsetmacro{\r}{1}%
  \pgfmathsetmacro{\R}{2}%
@@ -863,37 +788,20 @@
  \tkzInterLC[R](A,B)(B,\rt) \tkzGetPoints{E}{F}
  \tkzInterCC(I,B)(B,F) \tkzGetPoints{a}{a'}
  \tkzInterLC[R](B,a)(B,\R) \tkzGetPoints{X'}{T'}
- \tkzDefTangent[at=T'](B) \tkzGetPoint{h}
+ \tkzDefLine[tangent at=T'](B) \tkzGetPoint{h}
  \tkzInterLL(T',h)(A,B) \tkzGetPoint{O}
  \tkzInterLC[R](O,T')(A,\r) \tkzGetPoints{T}{T}
- \tkzDrawCircle[R](A,\r)          \tkzDrawCircle[R](B,\R)
- \tkzDrawCircle[R,orange](B,\rt)  \tkzDrawCircle[orange,dashed](I,B)
+ \tkzDefCircle[R](A,\r)  \tkzGetPoint{a}         
+ \tkzDefCircle[R](B,\R)  \tkzGetPoint{b}
+ \tkzDefCircle[R](B,\rt)  \tkzGetPoint{c}
+ \tkzDrawCircles(A,a)  
+ \tkzDrawCircles[orange](B,b B,c)           
+ \tkzDrawCircle[orange,dashed](I,B)
  \tkzDrawPoints(O,A,B,a,a',E,F,T',T)
  \tkzDrawLines(O,B A,a B,T' A,T)
  \tkzDrawLines[add= 1 and 8](T',h)
  \tkzLabelPoints(O,A,B,a,a',E,F,T,T')
 \end{tikzpicture}
-
-\begin{tkzexample}[code only,small]
-  \begin{tikzpicture}
- \pgfmathsetmacro{\r}{1}%
- \pgfmathsetmacro{\R}{2}%
- \pgfmathsetmacro{\rt}{\R-\r}%
- \tkzDefPoints{0/0/A,4/2/B,2/3/K}
- \tkzDefMidPoint(A,B) \tkzGetPoint{I}
- \tkzInterLC[R](A,B)(B,\rt) \tkzGetPoints{E}{F}
- \tkzInterCC(I,B)(B,F) \tkzGetPoints{a}{a'}
- \tkzInterLC[R](B,a)(B,\R) \tkzGetPoints{X'}{T'}
- \tkzDefTangent[at=T'](B) \tkzGetPoint{h}
- \tkzInterLL(T',h)(A,B) \tkzGetPoint{O}
- \tkzInterLC[R](O,T')(A,\r) \tkzGetPoints{T}{T}
- \tkzDrawCircle[R](A,\r)          \tkzDrawCircle[R](B,\R)
- \tkzDrawCircle[R,orange](B,\rt)  \tkzDrawCircle[orange,dashed](I,B)
- \tkzDrawPoints(O,A,B,a,a',E,F,T',T)
- \tkzDrawLines(O,B A,a B,T' A,T)
- \tkzDrawLines[add= 1 and 8](T',h)
- \tkzLabelPoints(O,A,B,a,a',E,F,T,T')
-  \end{tikzpicture}
 \end{tkzexample}
 
 \newpage
@@ -907,33 +815,12 @@
 };
 \end{tikzpicture}%
 
-\begin{tikzpicture}
-\tkzDefPoints{0/0/A,4/2/B,2/3/K}
-\tkzDrawCircles[R](A,1 B,3)
-\tkzInterCC[R](A,1)(K,3) \tkzGetPoints{a}{a'}
-\tkzInterCC[R](B,3)(K,3) \tkzGetPoints{b}{b'}
-\tkzInterLL(a,a')(b,b')  \tkzGetPoint{X}
-\tkzDefPointBy[projection= onto A--B](X) \tkzGetPoint{H}
-\tkzGetPoint{C}
-\tkzInterLC[R](A,B)(B,3) \tkzGetPoints{b1}{E}
-\tkzInterLC[R](A,B)(A,1) \tkzGetPoints{D}{a2}
-\tkzDefMidPoint(D,E) \tkzGetPoint{I}
-\tkzDrawCircle[orange](I,D)
-\tkzInterLC(X,H)(I,D) \tkzGetPoints{M}{M'}
-\tkzInterLC(M,D)(A,D) \tkzGetPoints{P}{P'}
-\tkzInterLC(M,E)(B,E) \tkzGetPoints{Q'}{Q}
-\tkzInterLL(P,Q)(A,B) \tkzGetPoint{O}
-\tkzDrawSegments[orange](A,P I,M B,Q)
-\tkzDrawPoints(A,B,D,E,M,I,O,P,Q,X,H)
-\tkzDrawLines(O,E M,D M,E O,Q)
-\tkzDrawLine[add= 3 and 4,orange](X,H)
-\tkzLabelPoints(A,B,D,E,M,I,O,P,Q,X,H)
-\end{tikzpicture}
 
-\begin{tkzexample}[code only,small]
+\begin{tkzexample}[vbox,small]
 \begin{tikzpicture}
 \tkzDefPoints{0/0/A,4/2/B,2/3/K}
-\tkzDrawCircles[R](A,1 B,3)
+\tkzDefCircle[R](A,1) \tkzGetPoint{a}
+\tkzDefCircle[R](B,3) \tkzGetPoint{b}
 \tkzInterCC[R](A,1)(K,3) \tkzGetPoints{a}{a'}
 \tkzInterCC[R](B,3)(K,3) \tkzGetPoints{b}{b'}
 \tkzInterLL(a,a')(b,b')  \tkzGetPoint{X}
@@ -947,6 +834,7 @@
 \tkzInterLC(M,D)(A,D) \tkzGetPoints{P}{P'}
 \tkzInterLC(M,E)(B,E) \tkzGetPoints{Q'}{Q}
 \tkzInterLL(P,Q)(A,B) \tkzGetPoint{O}
+\tkzDrawCircles(A,a B,b)
 \tkzDrawSegments[orange](A,P I,M B,Q)
 \tkzDrawPoints(A,B,D,E,M,I,O,P,Q,X,H)
 \tkzDrawLines(O,E M,D M,E O,Q)
@@ -966,46 +854,27 @@
 };
 \end{tikzpicture}%
 
- \begin{tikzpicture}
-   \tkzDefPoint(0,0){A}
-   \tkzDefRandPointOn[circle= center A radius 4]    \tkzGetPoint{B}
-   \tkzDefPointBy[rotation= center A angle 180](B)  \tkzGetPoint{C}
-   \tkzInterCC(A,B)(B,A)                         \tkzGetPoints{I}{I'}
-   \tkzInterCC(A,I)(I,A)                         \tkzGetPoints{J}{B}
-   \tkzInterCC(B,A)(C,B)                            \tkzGetPoints{D}{E}
-   \tkzInterCC(D,B)(E,B)                            \tkzGetPoints{M}{M'}
-   \tkzSetUpArc[color=orange,style=solid,delta=10]
-   \tkzDrawArc(C,D)(E)
-   \tkzDrawArc(B,E)(D)
-   \tkzDrawCircle[color=teal,line width=.2pt](A,B)
-   \tkzDrawArc(D,B)(M) 
-   \tkzDrawArc(E,M)(B)
-   \tkzCompasss[color=orange,style=solid](B,I I,J J,C)
-   \tkzDrawPoints(A,B,C,D,E,M)
-   \tkzLabelPoints(A,B,M)
-  \end{tikzpicture}
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}
+\tkzDefPoint(0,0){A}
+\tkzDefRandPointOn[circle= center A radius 4]    \tkzGetPoint{B}
+\tkzDefPointBy[rotation= center A angle 180](B)  \tkzGetPoint{C}
+\tkzInterCC(A,B)(B,A)                            \tkzGetPoints{I}{I'}
+\tkzInterCC(A,I)(I,A)                            \tkzGetPoints{J}{B}
+\tkzInterCC(B,A)(C,B)                            \tkzGetPoints{D}{E}
+\tkzInterCC(D,B)(E,B)                            \tkzGetPoints{M}{M'}
+\tkzSetUpArc[color=orange,style=solid,delta=10]
+\tkzDrawArc(C,D)(E)
+\tkzDrawArc(B,E)(D)
+\tkzDrawCircle[color=teal,line width=.2pt](A,B)
+\tkzDrawArc(D,B)(M) 
+\tkzDrawArc(E,M)(B)
+\tkzCompasss[color=orange,style=solid](B,I I,J J,C)
+\tkzDrawPoints(A,B,C,D,E,M)
+\tkzLabelPoints(A,B,M)
+\end{tikzpicture}
+\end{tkzexample}
  
- \begin{tkzexample}[code only,small]
- \begin{tikzpicture}
-   \tkzDefPoint(0,0){A}
-   \tkzDefRandPointOn[circle= center A radius 4]    \tkzGetPoint{B}
-   \tkzDefPointBy[rotation= center A angle 180](B)  \tkzGetPoint{C}
-   \tkzInterCC(A,B)(B,A)                         \tkzGetPoints{I}{I'}
-   \tkzInterCC(A,I)(I,A)                         \tkzGetPoints{J}{B}
-   \tkzInterCC(B,A)(C,B)                            \tkzGetPoints{D}{E}
-   \tkzInterCC(D,B)(E,B)                            \tkzGetPoints{M}{M'}
-   \tkzSetUpArc[color=orange,style=solid,delta=10]
-   \tkzDrawArc(C,D)(E)
-   \tkzDrawArc(B,E)(D)
-   \tkzDrawCircle[color=teal,line width=.2pt](A,B)
-   \tkzDrawArc(D,B)(M) 
-   \tkzDrawArc(E,M)(B)
-   \tkzCompasss[color=orange,style=solid](B,I I,J J,C)
-   \tkzDrawPoints(A,B,C,D,E,M)
-   \tkzLabelPoints(A,B,M)
-  \end{tikzpicture}
-  \end{tkzexample}
- 
 \newpage
 
 \subsection{Definition of a circle  \_Apollonius\_}
@@ -1025,14 +894,7 @@
 
 With \pkg{tkz-euclide} is easy to show you the last definition
 
-\subsubsection*{The code and the analyse}
-
-\begin{tkzexample}[code only, small]
-\documentclass{standalone} 
-    % Excellent class to show the result and to verify the bounding box.
-\usepackage{tkz-euclide}
-    % no need to use \usetkzobj !
-\begin{document} 
+\begin{tkzexample}[vbox, small]
 \begin{tikzpicture}[scale=1.5]
     % Firstly we defined two fixed point. 
     % The figure depends of these points and the ratio K
@@ -1040,39 +902,19 @@
 \tkzDefPoint(4,0){B}
     % tkz-euclide.sty knows about the apollonius's circle
     % with K=2 we search some points like  I such as IA=2 x IB
-\tkzDefCircle[apollonius,K=2](A,B) \tkzGetPoint{K1}
-\tkzGetLength{rAp}
-\tkzDefPointOnCircle[R= angle 30 center K1 radius \rAp]
+\tkzDefCircle[apollonius,K=2](A,B) \tkzGetPoints{K1}{k}
+\tkzDefPointOnCircle[through=  center K1 angle 30 point k]
 \tkzGetPoint{I}
-\tkzDefPointOnCircle[R= angle 280 center K1 radius \rAp]
+\tkzDefPointOnCircle[through= center K1 angle 280  point k]
 \tkzGetPoint{J}
 \tkzDrawSegments[new](A,I I,B A,J J,B)  
-\tkzDrawCircle[R,color = teal,fill=teal!20,opacity=.4](K1,\rAp pt)
+\tkzDrawCircle[color = teal,fill=teal!20,opacity=.4](K1,k)
 \tkzDrawPoints(A,B,K1,I,J)
 \tkzDrawSegment(A,B)
 \tkzLabelPoints[below,font=\scriptsize](A,B,K1,I,J)
 \end{tikzpicture}
-\end{document}
 \end{tkzexample}
 
-\subsubsection*{The result}
-
-\begin{tikzpicture}[scale=1.5]
-\tkzDefPoint(0,0){A}
-\tkzDefPoint(4,0){B}
-\tkzDefCircle[apollonius,K=2](A,B) \tkzGetPoint{K1}
-\tkzGetLength{rAp}
-\tkzDefPointOnCircle[R = angle 30 center K1 radius \rAp]
-\tkzGetPoint{I}
-\tkzDefPointOnCircle[R = angle 280 center K1 radius \rAp]
-\tkzGetPoint{J}
-\tkzDrawSegments[new](A,I I,B A,J J,B) 
-\tkzDrawCircle[R,fill=teal!20,opacity=.4](K1,\rAp pt)
-\tkzDrawPoints(A,B,K1,I,J)
-\tkzDrawSegment(A,B)
-\tkzLabelPoints[below,font=\scriptsize](A,B,K1,I,J)
-\end{tikzpicture}
-
 \subsection{Application of Inversion : \tkzname{Pappus chain} }\label{pappus}
 \begin{tikzpicture}
 \node [mybox,title={Pappus chain}] (box){%
@@ -1082,8 +924,8 @@
 };
 \end{tikzpicture}%
 
-
 \begin{tkzexample}[vbox,small]
+\begin{tikzpicture}[ultra thin]
   \pgfmathsetmacro{\xB}{6}%
   \pgfmathsetmacro{\xC}{9}%
   \pgfmathsetmacro{\xD}{(\xC*\xC)/\xB}%
@@ -1090,15 +932,16 @@
   \pgfmathsetmacro{\xJ}{(\xC+\xD)/2}%
   \pgfmathsetmacro{\r}{\xD-\xJ}%
   \pgfmathsetmacro{\nc}{16}%
-\begin{tikzpicture}[ultra thin]
   \tkzDefPoints{0/0/A,\xB/0/B,\xC/0/C,\xD/0/D}
-  \tkzDrawCircle[diameter,fill=teal!20](A,C)
-  \tkzDrawCircle[diameter,fill=teal!30](A,B)
+  \tkzDefCircle[diameter](A,C) \tkzGetPoint{x}
+  \tkzDrawCircle[fill=teal!30](x,C)
+  \tkzDefCircle[diameter](A,B) \tkzGetPoint{y}
+  \tkzDrawCircle[fill=teal!30](y,B)
   \foreach \i in {-\nc,...,0,...,\nc}
   {\tkzDefPoint(\xJ,2*\r*\i){J}
    \tkzDefPoint(\xJ,2*\r*\i-\r){H}
    \tkzDefCircleBy[inversion = center A through C](J,H)
-   \tkzDrawCircle[diameter,fill=teal](tkzFirstPointResult,tkzSecondPointResult)}
+   \tkzDrawCircle[fill=teal](tkzFirstPointResult,tkzSecondPointResult)}
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -1141,42 +984,45 @@
 };
 \end{tikzpicture}%
 
+
+\begin{tkzexample}[vbox,overhang,small]
 \begin{tikzpicture}
-  \tkzDefPoints{0/0/A,12/0/C}
-  \tkzDefGoldenRatio(A,C) \tkzGetPoint{B}
-  \tkzDefMidPoint(A,C)                     \tkzGetPoint{O}
-  \tkzDefMidPoint(A,B)                     \tkzGetPoint{O_1}
-  \tkzDefMidPoint(B,C)                     \tkzGetPoint{O_2}
-  \tkzDefExtSimilitudeCenter(O_1,A)(O_2,B) \tkzGetPoint{M_0}
-  \tkzDefIntSimilitudeCenter(O,A)(O_1,A)   \tkzGetPoint{M_1}
-  \tkzDefIntSimilitudeCenter(O,C)(O_2,C)   \tkzGetPoint{M_2}
-  \tkzInterCC(O_1,A)(M_2,C)                \tkzGetFirstPoint{E}
-  \tkzInterCC(O_2,C)(M_1,A)                \tkzGetSecondPoint{F}
-  \tkzInterCC(O,A)(M_0,B)                  \tkzGetFirstPoint{D}
-  \tkzInterLL(O_1,E)(O_2,F)                \tkzGetPoint{O_3}
-  \tkzDefCircle[circum](E,F,B)             \tkzGetPoint{0_4}
-  \tkzInterLC(A,D)(O_1,A)                  \tkzGetFirstPoint{I}
-  \tkzInterLC(C,D)(O_2,B)                  \tkzGetSecondPoint{K}
-  \tkzInterLC[common=D](A,D)(O_3,D)        \tkzGetFirstPoint{G}
-  \tkzInterLC[common=D](C,D)(O_3,D)        \tkzGetFirstPoint{H}
-  \tkzInterLL(C,G)(B,K)                    \tkzGetPoint{M}
-  \tkzInterLL(A,H)(B,I)                    \tkzGetPoint{L}
-  \tkzInterLL(L,G)(A,C)                    \tkzGetPoint{N}
-  \tkzInterLL(M,H)(A,C)                    \tkzGetPoint{P}  
-  \tkzDrawCircles[red,thin](O_3,F)
-  \tkzDrawCircles[new,thin](0_4,B)
-  \tkzDrawSemiCircles[teal](O,C O_1,B O_2,C)
-  \tkzDrawSemiCircles[green](M_2,C)
-  \tkzDrawSemiCircles[green,swap](M_1,A)
-  \tkzDrawSegment(A,C)
-  \tkzDrawSegments[new](O_1,O_3 O_2,O_3)
-  \tkzDrawSegments[new,very thin](B,D A,D C,D G,H I,B K,B B,G B,H C,G A,H G,N H,P)
-  \tkzDrawPoints(A,B,C,M_1,M_2,E,O_3,F,D,0_4,O_1,O_2,I,K,G,H,L,P,N,M)  
-  \tkzLabelPoints[font=\scriptsize](A,B,C,M_1,M_2,F,O_1,O_2,I,K,G,H,L,M,N)
-  \tkzLabelPoints[font=\scriptsize,right](E,O_3,D,0_4,P)
+\tkzDefPoints{0/0/A,12/0/C}
+\tkzDefGoldenRatio(A,C)                  \tkzGetPoint{B}
+\tkzDefMidPoint(A,C)                     \tkzGetPoint{O}
+\tkzDefMidPoint(A,B)                     \tkzGetPoint{O_1}
+\tkzDefMidPoint(B,C)                     \tkzGetPoint{O_2}
+\tkzDefExtSimilitudeCenter(O_1,A)(O_2,B) \tkzGetPoint{M_0}
+\tkzDefIntSimilitudeCenter(O,A)(O_1,A)   \tkzGetPoint{M_1}
+\tkzDefIntSimilitudeCenter(O,C)(O_2,C)   \tkzGetPoint{M_2}
+\tkzInterCC(O_1,A)(M_2,C)                \tkzGetFirstPoint{E}
+\tkzInterCC(O_2,C)(M_1,A)                \tkzGetSecondPoint{F}
+\tkzInterCC(O,A)(M_0,B)                  \tkzGetFirstPoint{D}
+\tkzInterLL(O_1,E)(O_2,F)                \tkzGetPoint{O_3}
+\tkzDefCircle[circum](E,F,B)             \tkzGetPoint{0_4}
+\tkzInterLC(A,D)(O_1,A)                  \tkzGetFirstPoint{I}
+\tkzInterLC(C,D)(O_2,B)                  \tkzGetSecondPoint{K}
+\tkzInterLC[common=D](A,D)(O_3,D)        \tkzGetFirstPoint{G}
+\tkzInterLC[common=D](C,D)(O_3,D)        \tkzGetFirstPoint{H}
+\tkzInterLL(C,G)(B,K)                    \tkzGetPoint{M}
+\tkzInterLL(A,H)(B,I)                    \tkzGetPoint{L}
+\tkzInterLL(L,G)(A,C)                    \tkzGetPoint{N}
+\tkzInterLL(M,H)(A,C)                    \tkzGetPoint{P}  
+\tkzDrawCircles[red,thin](O_3,F)
+\tkzDrawCircles[new,thin](0_4,B)
+\tkzDrawSemiCircles[teal](O,C O_1,B O_2,C)
+\tkzDrawSemiCircles[green](M_2,C)
+\tkzDrawSemiCircles[green,swap](M_1,A)
+\tkzDrawSegment(A,C)
+\tkzDrawSegments[new](O_1,O_3 O_2,O_3)
+\tkzDrawSegments[new,very thin](B,H C,G A,H G,N H,P)
+\tkzDrawSegments[new,very thin](B,D A,D C,D G,H I,B K,B B,G)
+\tkzDrawPoints(A,B,C,M_1,M_2,E,O_3,F,D,0_4,O_1,O_2,I,K,G,H,L,P,N,M)  
+\tkzLabelPoints[font=\scriptsize](A,B,C,M_1,M_2,F,O_1,O_2,I,K,G,H,L,M,N)
+\tkzLabelPoints[font=\scriptsize,right](E,O_3,D,0_4,P)
 \end{tikzpicture}
+\end{tkzexample}
 
-
 Let $GH$ be the diameter of the circle which is parallel to $AC$, and let the circle touch the semicircles on $AC$, $AB$, $BC$ in $D$, $E$, $F$ respectively.
 
 Then, by Prop. 1 $A$,$G$ and $D$ are aligned, ainsi que $D$, $H$ and $C$.\\
@@ -1196,7 +1042,7 @@
 \[ \frac{AN}{NP}    =  \frac{NP}{PC} \quad\text{so} \quad {NP}^2 = AN \times PC  \]
 
 Now suppose that $B$ divides $[AC]$ according to the divine proportion that is :
-\[\phi = \frac{AB}{BC} =  \frac{AC}{AB} \quad\text{then}  \quad AN = \phi NP \text{and}  NP = \phi PC \]
+\[\phi = \frac{AB}{BC} =  \frac{AC}{AB} \quad\text{then}  \quad AN = \phi NP \text{and}\quad  NP = \phi PC \]
 
 We have 
 \[ AC = AN + NP + PC\quad \text{either} \quad AB + BC = = AN + NP + PC \quad \text{or} \quad (\phi + 1) BC = AN + NP + PC \]
@@ -1232,44 +1078,18 @@
 
 The last example is very complex and it is to show you all that we can do with \pkg{tkz-euclide}.
 
-\subsubsection*{The code and the analyse}
 
-\begin{tkzexample}[code only,small]
-% !TEX TS-program = lualatex
-\documentclass{standalone}
-\usepackage{tkz-euclide}
-\tkzSetUpColors[background=white,text=black]  
-\tkzSetUpCompass[color=orange, line width=.4pt,delta=10]
-\tkzSetUpArc[color=gray,line width=.4pt]
-\tkzSetUpPoint[size=2,color=teal]
-\tkzSetUpLine[line width=.4pt,color=teal]
-\tkzSetUpStyle[orange]{new}
-\tikzset{every picture/.style={line width=.4pt}}
-
-\begin{document}
-
-\begin{tikzpicture}[scale=.75]
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}[scale=.6]
 \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
-% we need some special points if the triangle,  tkz-euclide.sty knows about them
-
-\tkzDefTriangleCenter[euler](A,B,C)    \tkzGetPoint{N} % or   \tkzEulerCenter(A,B,C)
-\tkzDefTriangleCenter[circum](A,B,C)   \tkzGetPoint{O} %    \tkzCircumCenter(A,B,C)
-\tkzDefTriangleCenter[lemoine](A,B,C)  \tkzGetPoint{K}
-\tkzDefTriangleCenter[ortho](A,B,C)    \tkzGetPoint{H}
-
- % \tkzDefSpcTriangle new macro to define new triangle in relation wth ABC
+\tkzDefTriangleCenter[euler](A,B,C)        \tkzGetPoint{N} 
+\tkzDefTriangleCenter[circum](A,B,C)       \tkzGetPoint{O} 
+\tkzDefTriangleCenter[lemoine](A,B,C)      \tkzGetPoint{K}
+\tkzDefTriangleCenter[ortho](A,B,C)        \tkzGetPoint{H}
 \tkzDefSpcTriangle[excentral,name=J](A,B,C){a,b,c}
 \tkzDefSpcTriangle[centroid,name=M](A,B,C){a,b,c}
-\tkzDefCircle[in](Ma,Mb,Mc)             \tkzGetPoint{Sp} % Sp Spieker center
-
-% here I used the definition but tkz-euclide knows this point
-% \tkzDefTriangleCenter[spieker](A,B,C)    \tkzGetPoint{Sp}
-% each center has three projections on the sides of the triangle ABC
-% We can do this with one macro
+\tkzDefCircle[in](Ma,Mb,Mc)                \tkzGetPoint{Sp}  % Sp Spieker center
 \tkzDefProjExcenter[name=J](A,B,C)(a,b,c){Y,Z,X}
-
-% but possible is
-% \tkzDefPointBy[projection=onto A--C ](Ja)  \tkzGetPoint{Za}
 \tkzDefLine[parallel=through Za](A,B)      \tkzGetPoint{Xc}
 \tkzInterLL(Za,Xc)(C,B)                    \tkzGetPoint{C'}
 \tkzDefLine[parallel=through Zc](B,C)      \tkzGetPoint{Ya}
@@ -1276,27 +1096,27 @@
 \tkzInterLL(Zc,Ya)(A,B)                    \tkzGetPoint{A'}
 \tkzDefPointBy[reflection= over Ja--Jc](C')\tkzGetPoint{Ab}
 \tkzDefPointBy[reflection= over Ja--Jc](A')\tkzGetPoint{Cb}
-% Now we can get the center of THE CIRCLE : Q
-% BUT we need to find the radius or a point on the circle
 \tkzInterLL(K,O)(N,Sp)                     \tkzGetPoint{Q}
 \tkzInterLC(A,B)(Q,Cb)                     \tkzGetFirstPoint{Ba}
 \tkzInterLC(A,C)(Q,Cb)                     \tkzGetPoints{Ac}{Ca}
 \tkzInterLC(B,C')(Q,Cb)                    \tkzGetFirstPoint{Bc}
-\tkzInterLC(Ja,Q)(Q,Cb)                    \tkzGetSecondPoint{F'a}
-\tkzInterLC(Jc,Q)(Q,Cb)                    \tkzGetFirstPoint{F'c}
-\tkzInterLC(Jb,Q)(Q,Cb)                    \tkzGetSecondPoint{F'b}
-\tkzInterLC[common=F'a](Sp,F'a)(Ja,F'a)     \tkzGetFirstPoint{Fa}
-\tkzInterLC[common=F'b](Sp,F'b)(Jb,F'b)     \tkzGetFirstPoint{Fb}
-\tkzInterLC[common=F'c](Sp,F'c)(Jc,F'c)     \tkzGetFirstPoint{Fc}
+\tkzInterLC[next to=Ja](Ja,Q)(Q,Cb)        \tkzGetFirstPoint{F'a}
+\tkzInterLC[next to=Jc](Jc,Q)(Q,Cb)        \tkzGetFirstPoint{F'c}
+\tkzInterLC[next to=Jb](Jb,Q)(Q,Cb)        \tkzGetFirstPoint{F'b}
+\tkzInterLC[common=F'a](Sp,F'a)(Ja,F'a)    \tkzGetFirstPoint{Fa}
+\tkzInterLC[common=F'b](Sp,F'b)(Jb,F'b)    \tkzGetFirstPoint{Fb}
+\tkzInterLC[common=F'c](Sp,F'c)(Jc,F'c)    \tkzGetFirstPoint{Fc}
 \tkzInterLC(Mc,Sp)(Q,Cb)                   \tkzGetFirstPoint{A''}
-\tkzDefLine[parallel=through A''](N,Mc)    \tkzGetPoint{q}
+\tkzDefCircle[euler](A,B,C)                \tkzGetPoints{E}{e}
+\tkzDefCircle[ex](C,A,B)                   \tkzGetPoints{Ea}{a}
+\tkzDefCircle[ex](A,B,C)                   \tkzGetPoints{Eb}{b}
+\tkzDefCircle[ex](B,C,A)                   \tkzGetPoints{Ec}{c}
 % Calculations are done, now you can draw, mark and label
+\tkzDrawCircles(Q,Cb E,e)%
+\tkzDrawCircles(Eb,b Ea,a Ec,c)
 \tkzDrawPolygon(A,B,C)
-\tkzDrawCircle(Q,Bc)%
-\tkzDrawCircle[euler,lightgray](A,B,C)
-\tkzDrawCircles[ex](A,B,C B,C,A C,A,B)
-\tkzDrawSegments[dashed](A,A'  C,C' A',Zc Za,C' B,Cb B,Ab A,Ca C,Ac
-                        Ja,Xa Jb,Yb Jc,Zc)
+\tkzDrawSegments[dashed](A,A' C,C' A',Zc Za,C' B,Cb B,Ab A,Ca)
+\tkzDrawSegments[dashed](C,Ac Ja,Xa Jb,Yb Jc,Zc)
 \begin{scope}
    \tkzClipCircle(Q,Cb) % We limit the drawing of the lines
    \tkzDrawLine[add=5 and 12,orange](K,O)
@@ -1311,6 +1131,7 @@
 \tkzLabelPoints[right](C)
 \tkzLabelPoints[below right](A)
 \tkzLabelPoints[above right](Yb)
+\tkzDrawSegments(Fc,F'c Fb,F'b Fa,F'a)
 \tkzDrawSegments[color=green!50!black](Mc,N Mc,A'' A'',Q)
 \tkzDrawSegments[color=red,dashed](Ac,Ab Ca,Cb Ba,Bc Ja,Jc A',Cb C',Ab)
 \tkzDrawSegments[color=red](Cb,Ab Bc,Ac Ba,Ca A',C')
@@ -1318,71 +1139,6 @@
 \tkzMarkRightAngles(Jc,Zc,A Ja,Xa,B Jb,Yb,C)
 \tkzDrawSegments[green,dashed](A,F'a B,F'b C,F'c)
 \end{tikzpicture}
-\end{document}
 \end{tkzexample}
 
-\subsubsection*{The result}
-
-\begin{tikzpicture}[scale=.6]
-\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
-\tkzDefTriangleCenter[euler](A,B,C)    \tkzGetPoint{N} 
-\tkzDefTriangleCenter[circum](A,B,C)   \tkzGetPoint{O} 
-\tkzDefTriangleCenter[lemoine](A,B,C)  \tkzGetPoint{K}
-\tkzDefTriangleCenter[ortho](A,B,C)    \tkzGetPoint{H}
-\tkzDefSpcTriangle[excentral,name=J](A,B,C){a,b,c}
-\tkzDefSpcTriangle[centroid,name=M](A,B,C){a,b,c}
-\tkzDefCircle[in](Ma,Mb,Mc)             \tkzGetPoint{Sp} 
-
-\tkzDefProjExcenter[name=J](A,B,C)(a,b,c){Y,Z,X}
-\tkzDefLine[parallel=through Za](A,B)      \tkzGetPoint{Xc}
-\tkzInterLL(Za,Xc)(C,B)                    \tkzGetPoint{C'}
-\tkzDefLine[parallel=through Zc](B,C)      \tkzGetPoint{Ya}
-\tkzInterLL(Zc,Ya)(A,B)                    \tkzGetPoint{A'}
-\tkzDefPointBy[reflection= over Ja--Jc](C')\tkzGetPoint{Ab}
-\tkzDefPointBy[reflection= over Ja--Jc](A')\tkzGetPoint{Cb}
-
-\tkzInterLL(K,O)(N,Sp)                     \tkzGetPoint{Q}
-\tkzInterLC(A,B)(Q,Cb)                     \tkzGetFirstPoint{Ba}
-\tkzInterLC(A,C)(Q,Cb)                     \tkzGetPoints{Ac}{Ca}
-\tkzInterLC(B,C')(Q,Cb)                    \tkzGetFirstPoint{Bc}
-\tkzInterLC(Ja,Q)(Q,Cb)                    \tkzGetSecondPoint{F'a}
-\tkzInterLC(Jc,Q)(Q,Cb)                    \tkzGetFirstPoint{F'c}
-\tkzInterLC(Jb,Q)(Q,Cb)                    \tkzGetSecondPoint{F'b}
-\tkzInterLC[common=F'a](Sp,F'a)(Ja,F'a)     \tkzGetFirstPoint{Fa}
-\tkzInterLC[common=F'b](Sp,F'b)(Jb,F'b)     \tkzGetFirstPoint{Fb}
-\tkzInterLC[common=F'c](Sp,F'c)(Jc,F'c)     \tkzGetFirstPoint{Fc}
-\tkzInterLC(Mc,Sp)(Q,Cb)                   \tkzGetFirstPoint{A''}
-\tkzDefLine[parallel=through A''](N,Mc)    \tkzGetPoint{q}
-\tkzDrawPolygon(A,B,C)
-\tkzDrawCircle(Q,Bc)%
-\tkzDrawCircle[euler,lightgray](A,B,C)
-\tkzDrawCircles[ex](A,B,C B,C,A C,A,B)
-\tkzDrawSegments[dashed](A,A'  C,C' A',Zc Za,C' B,Cb B,Ab A,Ca C,Ac
-                        Ja,Xa Jb,Yb Jc,Zc)
-
-\begin{scope}
-   \tkzClipCircle(Q,Cb)
-   \tkzDrawLine[add=5 and 12,orange](K,O)
-   \tkzDrawLine[add=12 and 28,red!50!black](N,Sp)
-\end{scope}
-
-\tkzDrawPoints(A,B,C,K,Ja,Jb,Jc,Q,N,O,Sp,Mc,Xa,Xb,Yb,Yc,Za,Zc)
-\tkzDrawPoints(A',C',A'',Ab,Cb,Bc,Ca,Ac,Ba,Fa,Fb,Fc,F'a,F'b,F'c)
-\tkzLabelPoints(Ja,Jb,Jc,Q,Xa,Xb,Za,Zc,Ab,Cb,Bc,Ca,Ac,Ba,F'b)
-\tkzLabelPoints[above](O,K,F'a,Fa,A'')
-\tkzLabelPoints[below](B,F'c,Yc,N,Sp,Fc,Mc)
-\tkzLabelPoints[left](A',C',Fb)
-\tkzLabelPoints[right](C)
-\tkzLabelPoints[below right](A)
-\tkzLabelPoints[above right](Yb)
-\tkzDrawSegments(Fc,F'c Fb,F'b Fa,F'a)
-\tkzDrawSegments[color=green!50!black](Mc,N Mc,A'' A'',Q)
-\tkzDrawSegments[color=red,dashed](Ac,Ab Ca,Cb Ba,Bc Ja,Jc A',Cb C',Ab)
-\tkzDrawSegments[color=red](Cb,Ab Bc,Ac Ba,Ca A',C')
-\tkzMarkSegments[color=red,mark=|](Cb,Ab Bc,Ac Ba,Ca)
-\tkzMarkRightAngles(Jc,Zc,A Ja,Xa,B Jb,Yb,C)
-\tkzDrawSegments[green,dashed](A,F'a B,F'b C,F'c)
-\end{tikzpicture}
-
-
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-filling.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-filling.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-filling.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -41,7 +41,7 @@
    \tkzDefMidPoint(A,D)  \tkzGetPoint{F}
    \tkzDefMidPoint(B,C)  \tkzGetPoint{E}
    \tkzDefMidPoint(B,D)  \tkzGetPoint{Q}           
-   \tkzDefTangent[from = B](F,A) \tkzGetPoints{H}{G} 
+   \tkzDefLine[tangent from = B](F,A) \tkzGetPoints{H}{G} 
    \tkzInterLL(F,G)(C,D) \tkzGetPoint{J}
    \tkzInterLL(A,J)(F,E) \tkzGetPoint{K}
    \tkzDefPointBy[projection=onto B--A](K)   
@@ -88,8 +88,10 @@
 \tkzDefMidPoint(I,K) \tkzGetPoint{b}
 \begin{scope}
   \tkzFillSector[fill=blue!10](B,C)(A)
-  \tkzDrawSemiCircle[diameter,fill=white](A,B)
-  \tkzDrawSemiCircle[diameter,fill=white](B,C)
+  \tkzDefMidPoint(A,B) \tkzGetPoint{x}
+  \tkzDrawSemiCircle[fill=white](x,B)
+  \tkzDefMidPoint(B,C) \tkzGetPoint{y}
+  \tkzDrawSemiCircle[fill=white](y,C)
   \tkzClipCircle(E,B)
   \tkzClipCircle(F,B)
   \tkzFillCircle[fill=blue!10](B,A)

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-installation.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-installation.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-installation.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -1,4 +1,4 @@
- \section{Installation}
+\section{Installation}
 
 \tkzname{\tkznameofpack} is on the server of the \tkzname{CTAN}\footnote{\tkzname{\tkznameofpack} is part of \NameDist{TeXLive} and \tkzname{tlmgr} allows you to install them. This package is also part of \NameDist{MiKTeX} under \NameSys{Windows}.}. If you want to test a beta version, just put the following files in a texmf folder that your system can find.
 You will have to check several points:
@@ -6,6 +6,29 @@
 \begin{itemize}\setlength{\itemsep}{5pt}
 \item  The \tkzname{\tkznameofpack} folder must be located on a path recognized by \tkzname{latex}.
 \item  The  \tkzname{\tkznameofpack} uses \tkzNamePack{xfp}.
+
+\item You need to have \PGF\ installed on your computer. \tkzname{\tkznameofpack} use several libraries of \TIKZ
+
+ \begin{tabular}{l}
+    angles,                         \\
+    arrows,                         \\
+    arrows.meta,                    \\
+    calc,                           \\
+    decorations,                    \\
+    decorations.markings,           \\
+    decorations.pathreplacing,      \\
+    decorations.shapes,             \\
+    decorations.text,               \\
+    decorations.pathmorphing,       \\
+    intersections,                  \\
+    math,                           \\
+    plotmarks,                      \\
+    positioning,                    \\
+    quotes,                         \\
+    shapes.misc,                    \\
+    through
+\end{tabular}
+
 \item This documentation and all examples were obtained with \tkzname{lualatex} but \tkzname{pdflatex} or \tkzname{xelatex} should be suitable.
 \end{itemize}
 

Deleted: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersec.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersec.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersec.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -1,498 +0,0 @@
-\section{\tkzname{Intersections}}
-
-It is possible to determine the coordinates of the points of intersection between two straight lines, a straight line and a circle, and two circles.
-
-The associated commands have no optional arguments and the user must determine the existence of the intersection points himself.
-
-\subsection{Intersection of two straight lines \tkzcname{tkzInterLL}}
-\begin{NewMacroBox}{tkzInterLL}{\parg{$A,B$}\parg{$C,D$}}%
-Defines the intersection point \tkzname{tkzPointResult} of the two lines $(AB)$ and $(CD)$. The known points are given in pairs (two per line) in brackets, and the resulting point can be retrieved with the macro \tkzcname{tkzDefPoint}.
-\end{NewMacroBox}
-
-\subsubsection{Example of intersection between two straight lines}
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[rotate=-45,scale=.75]
-  \tkzDefPoint(2,1){A}   
-     \tkzDefPoint(6,5){B}
-  \tkzDefPoint(3,6){C}   
-     \tkzDefPoint(5,2){D}
-  \tkzDrawLines(A,B C,D)
-  \tkzInterLL(A,B)(C,D)  
-     \tkzGetPoint{I}
-  \tkzDrawPoints[color=blue](A,B,C,D)
-   \tkzDrawPoint[color=red](I)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Intersection of a straight line and a circle  \tkzcname{tkzInterLC}}
-
-As before, the line is defined by a couple of points. The circle
- is also defined by a couple:
-\begin{itemize}
-\item $(O,C)$ which is a pair of points, the first is the center and the second is any point on the circle.
-\item $(O,r)$  The $r$ measure is the radius measure.
-\end{itemize}
-
-\begin{NewMacroBox}{tkzInterLC}{\oarg{options}\parg{$A,B$}\parg{$O,C$} or \parg{$O,r$} or \parg{$O,C,D$}}%
-So the arguments are two couples. 
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options            & default & definition                         \\ 
-\midrule
-\TOline{N}         {N}    {(O,C) determines the circle}
-\TOline{R}         {N}    {(O, 1 ) unit 1 cm}  
-\TOline{with nodes}{N}    {(O,C,D) CD is a radius}  
-\TOline{common=pt} {}     {pt is common point; tkzFirstPoint gives the other point}
-\TOline{near}      {}     {tkzFirstPoint is the closest point to the first point of the line}
-\bottomrule
-\end{tabular}
-
-\medskip   
-The macro defines the intersection points $I$ and $J$ of the line $(AB)$ and the center circle $O$ with radius $r$ if they exist; otherwise, an error will be reported in the |.log| file. \tkzname{with nodes} avoids you to calculate the radius which is the length of $[CD]$.
-If common and near are not used then \tkzname{tkzFirstPoint} is the smallest angle (angle with \tkzname{tkzSecondPoint}  and the center of the circle). 
-\end{NewMacroBox}
-
-\begin{NewMacroBox}{tkzTestInterLC}{\parg{$O,A$}\parg{$O',B$}}%
-So the arguments are two couples which define a line and a circle  with a center and a point on the circle. If there is a non empty intersection between these the line and the circle then the test \tkzcname{iftkzFlagLC} gives true.
-\end{NewMacroBox}
-
-\subsubsection{test line-circle intersection}
-
-\begin{tkzexample}[latex=7cm,small]
-  \begin{tikzpicture}[scale=1]
-    \tkzDefPoints{% x   y   name
-                    3    /4    /I,
-                    3    /2    /P,
-                    0    /2    /La,
-                    8    /3    /Lb}
-  \tkzDrawCircle(I,P)
-  \foreach \i in {1,...,3}{%
-     \coordinate  (Lb) at (8,\i);
-     \tkzDrawLine(La,Lb)
-     \tkzTestInterLC(La,Lb)(I,P)
-      \iftkzFlagLC
-      \tkzInterLC(La,Lb)(I,P)  
-      \tkzGetPoints{a}{b}
-      \tkzDrawPoints(a,b)
-      \fi
-     }
-  \end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{Line-circle intersection}
-
-In the following example, the drawing of the circle uses two points and the intersection of the straight line and the circle uses two pairs of points. We will compare the angles $\widehat{D,E,O}$ and $\widehat{E,D,O}$. These angles are in opposite directions. \tkzname{tkzFirstPoint} is assigned to the point that forms the angle with the smallest measure (counterclockwise direction). The counterclockwide angle  $\widehat{D,E,O}$   has a measure equal to  $360\circ$ minus the measure of  $\widehat{O,E,D}$.
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75]
- \tkzInit[xmax=5,ymax=4]
- \tkzDefPoint(1,1){O} 
- \tkzDefPoint(-2,4){La} 
- \tkzDefPoint(5,0){Lb} 
- \tkzDefPoint(3,3){C}
- \tkzInterLC(A,B)(O,C)  \tkzGetPoints{D}{E}  
- \tkzMarkAngle[->,size=1.5](E,D,O)
- \tkzDrawPolygons[new](O,D,E)
- \tkzMarkAngle[->,size=1.5](D,E,O)
- \tkzDrawCircle(O,C)
- \tkzDrawPoints[color=teal](O,La,Lb,C)
- \tkzDrawPoints[color=red](D,E)
- \tkzDrawLine(La,Lb)
- \tkzLabelPoints[above right](O,La,Lb,C,D,E)
-\end{tikzpicture} 
-\end{tkzexample}
-
-\subsubsection{Line passing through the cente,r option \tkzname{common}}
-This case is special. You cannot compare the angles. In this case, the option \tkzname{near} must be used. \tkzname{tkzFirstPoint} is assigned to the point closest to the first point given for the line. Here we want $A$ to be closest to $Lb$.
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
-\tkzDefPoints{% x   y   name
-             0    /1    /D,
-             6    /0    /B,
-             3    /3    /O,
-             2    /2    /La,
-             5    /5    /Lb}
-  \tkzDrawCircle(O,D)
-  \tkzDrawLine(La,Lb)
-  \tkzInterLC[near](Lb,La)(O,D)  
-  \tkzGetFirstPoint{A}
-  \tkzDrawSegments(O,A)
-  \tkzDrawPoints(O,D,La,Lb)
-  \tkzLabelPoints(O,D,La,Lb,a)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Line-circle intersection with option \tkzname{common}}
-A special case that we often meet, a point of the line is on the circle and we are looking for the other common point.
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoints{0/0/O,-5/0/A,2/-2/B,0/5/D}
- \tkzInterLC[common=A](B,A)(O,D)
- \tkzGetFirstPoint{C}
- \tkzDrawPoints(O,A,B)
- \tkzDrawCircle(O,A)
- \tkzDrawLine(A,C)
- \tkzDrawPoint(C)
- \tkzLabelPoints(A,B,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{Line-circle intersection order of points}
-The idea is to compare the angles formed with the first defining point of the line, a resultant point and the center of the circle. The first point is the one that corresponds to the smallest angle.
-
-As you can see $\widehat{BCO} < \widehat{BEO} $. To tell the truth,$ \widehat{BEO}$ is counterclockwise.
-
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=.5]
-  \tkzDefPoints{0/0/O,5/1/A,2/2/B,3/1/D}
-  \tkzInterLC[common=A](B,D)(O,A) \tkzGetPoints{C}{E}
-  \tkzDrawPoints(O,A,B,D)
-  \tkzDrawCircle(O,A) \tkzDrawLine(E,C)
-  \tkzDrawSegments[dashed](B,O O,C)
-  \tkzMarkAngle[->,size=1.5](B,C,O)
-  \tkzDrawSegments[dashed](O,E)
-  \tkzMarkAngle[->,size=1.5](B,E,O)
-  \tkzDrawPoints(C,E)
-  \tkzLabelPoints[above](O,E)
-  \tkzLabelPoints[right](A,B,C,D)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Example with \tkzcname{foreach}}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=3,rotate=180]
-\tkzDefPoint(0,1){J} 
-\tkzDefPoint(0,0){O}
-\foreach \i in {0,-5,-10,...,-90}{
- \tkzDefPoint({2.5*cos(\i*pi/180)},{1+2.5*sin(\i*pi/180)}){P}
- \tkzInterLC[R](P,J)(O,1)\tkzGetPoints{N}{M}
- \tkzDrawSegment[color=orange](J,N)
- \tkzDrawPoints[red](N)} 
-\foreach \i in {-90,-95,...,-175,-180}{
- \tkzDefPoint({2.5*cos(\i*pi/180)},{1+2.5*sin(\i*pi/180)}){P} 
- \tkzInterLC[R](P,J)(O,1)\tkzGetPoints{N}{M}
- \tkzDrawSegment[color=orange](J,M)
- \tkzDrawPoints[red](M)}   
-\end{tikzpicture} 
-\end{tkzexample}
-
-\subsubsection{Line-circle intersection with option \tkzname{near}}
-$D$ is the point closest to $b$.
-
-\begin{tkzexample}[vbox,small]
-  \begin{tikzpicture}
-    \tkzDefPoints{0/0/A,12/0/C}
-    \tkzDefGoldenRatio(A,C)                          \tkzGetPoint{B}
-    \tkzDefMidPoint(A,C)                             \tkzGetPoint{O}
-    \tkzDefMidPoint(A,B)                             \tkzGetPoint{O_1}
-    \tkzDefMidPoint(B,C)                             \tkzGetPoint{O_2}
-    \tkzDefPointBy[rotation=center O_2 angle 90](C)  \tkzGetPoint{P}
-    \tkzDefPointBy[rotation=center O_1 angle 90](B)  \tkzGetPoint{Q}
-    \tkzDefPointBy[rotation=center B angle 90](C)    \tkzGetPoint{b}
-    \tkzInterLC[near](b,B)(O,A)                      \tkzGetFirstPoint{D}
-    \tkzInterCC(D,B)(O,C)                            \tkzGetPoints{V}{U}
-    \tkzDefPointBy[projection=onto U--V](O_1)        \tkzGetPoint{M}
-    \tkzDefPointBy[projection=onto U--V](O_2)        \tkzGetPoint{N}  
-    \tkzDrawPoints(A,B,C,O,O_1,O_2,D,U,V,M,N,b)
-    \tkzDrawSemiCircles[teal](O,C O_1,B O_2,C)
-    \tkzDrawSegments(A,C B,D U,V A,D C,D M,B B,N)
-    \tkzDrawArc(D,U)(V)
-    \tkzLabelPoints(A,B,C,O,O_1,O_2)
-    \tkzLabelPoints[above](D,U,V,M,N)
-  \end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{More complex example of a line-circle intersection}
-Figure from  \url{http://gogeometry.com/problem/p190_tangent_circle}
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){A}  
- \tkzDefPoint(8,0){B}
- \tkzDefMidPoint(A,B)         \tkzGetPoint{O}
- \tkzDefMidPoint(O,B)         \tkzGetPoint{O'}
- \tkzDefTangent[from=A](O',B) \tkzGetFirstPoint{E}
- \tkzInterLC(A,E)(O,B)        \tkzGetFirstPoint{D}
- \tkzDefPointBy[projection=onto A--B](D)  
- \tkzGetPoint{F}
- \tkzDrawCircles(O,B O',B)
- \tkzDrawSegments(A,D A,B D,F) 
- \tkzDrawSegments[color=red,line width=1pt,
-     opacity=.4](A,O F,B)
- \tkzDrawPoints(A,B,O,O',E,D) 
- \tkzMarkRightAngle(D,F,B)
- \tkzLabelPoints(A,B,O,O',E,D) 
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Circle defined by a center and a measure, and special cases}
-Let's look at some special cases like straight lines tangent to the circle.
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,8){A}      \tkzDefPoint(8,0){B}
- \tkzDefPoint(8,8){C}      \tkzDefPoint(4,4){D}
- \tkzDefPoint(2,4){E}      \tkzDefPoint(4,2){F}
- \tkzDefPoint(8,4){G}
- \tkzInterLC(A,C)(D,G)     \tkzGetPoints{I1}{I2}
- \tkzInterLC(B,C)(D,G)     \tkzGetPoints{J1}{J2}
- \tkzInterLC[near](A,B)(D,G)  \tkzGetPoints{K1}{K2}
- \tkzInterLC(E,F)(D,G)     \tkzGetPoints{E1}{E2}
- \tkzDrawCircle(D,G)
- \tkzDrawPoints[color=red](I1,J1,K1,K2,E1,E2)
- \tkzDrawLines(A,B B,C A,C I2,J2 E1,E2)
- \tkzDrawPoints[color=blue](A,...,F)
- \tkzDrawPoints[color=red](I2,J2)
- \tkzLabelPoints[left](B,D,E,F)
- \tkzLabelPoints[below left](A,C)
- \tkzLabelPoints[below=4pt](I1,K1,K2,E2)
- \tkzLabelPoints[left](J1,E1)
-\end{tikzpicture}
-
-\end{tkzexample}
-
-\subsubsection{Calculation of radius}
- With \tkzname{pgfmath} and \tkzcname{pgfmathsetmacro}
-
-The radius measurement may be the result of a calculation that is not done within the intersection macro, but before.
-A length can be calculated in several ways. It is possible of course,
- to use the module \tkzname{pgfmath} and the macro \tkzcname{pgfmathsetmacro}. In some cases, the results obtained are not precise enough, so the following calculation $0.0002 \div 0.0001$ gives $1.98$ with pgfmath while xfp will give $2$. 
-
-With \tkzname{xfp} and \tkzcname{fpeval}:
-
-\begin{tkzexample}[latex=7cm,small]
-  \begin{tikzpicture}
-  \tkzDefPoint(2,2){A}
-  \tkzDefPoint(5,4){B}
-  \tkzDefPoint(4,4){O}
-  \pgfmathsetmacro\tkzLen{\fpeval{0.0002/0.0001}}
- % or \edef\tkzLen{\fpeval{0.0002/0.0001}}
-  \tkzInterLC[R](A,B)(O, \tkzLen)
-  \tkzGetPoints{I}{J}
-  \tkzDrawCircle[R](O,\tkzLen)
-  \tkzDrawPoints[color=blue](A,B)
-  \tkzDrawPoints[color=red](I,J)
-  \tkzDrawLine(I,J)
-\end{tikzpicture}
-  \end{tkzexample}
-
-
-\subsubsection{Option "with nodes"}
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}[scale=.75]
-\tkzDefPoints{0/0/A,4/0/B,1/1/D,2/0/E}
-\tkzDefTriangle[equilateral](A,B)
-\tkzGetPoint{C}
-\tkzInterLC[with nodes](D,E)(C,A,B)
-\tkzGetPoints{F}{G}
-\tkzDrawCircle(C,A)
-\tkzDrawPolygon(A,B,C)
-\tkzDrawPoints(A,...,G)
-\tkzDrawLine(F,G)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Intersection of two circles  \tkzcname{tkzInterCC}}
-
-The most frequent case is that of two circles defined by their center and a point, but as before the option \tkzname{R} allows to use the radius measurements.
-
-\begin{NewMacroBox}{tkzInterCC}{\oarg{options}\parg{$O,A$}\parg{$O',A'$} or \parg{$O,r$}\parg{$O',r'$} or   \parg{$O,A,B$} \parg{$O',C,D$}}%
-\begin{tabular}{lll}%
-options       & default & definition                         \\
-\midrule
-\TOline{N}   {N}    {$OA$ and $O'A'$ are radii, $O$ and $O'$ are the centers.}
-\TOline{R}   {N}    {$r$ and $r'$ are dimensions and measure the radii.}
-\TOline{with nodes} {N}  {in (A,A,C)(C,B,F) AC and BF give the radii. }
-\TOline{common=pt}  {}   {pt is common point; tkzFirstPoint gives the other point.}
-\bottomrule
-\end{tabular}
-
-\medskip
-This macro defines the intersection point(s) $I$ and $J$ of the two center circles $O$ and $O'$. If the two circles do not have a common point then the macro ends with an error that is not handled. If the centers are $O$ and $O'$ and the intersections are $A$ and $B$ then the angles $\widehat{O,A,O'}$ and $\widehat{O,B,O'}$ are in opposite directions. \tkzname{tkzFirstPoint} is assigned to the point that forms the "clockwise" angle.
-\end{NewMacroBox}
-
-\begin{NewMacroBox}{tkzTestInterCC}{\parg{$O,A$}\parg{$O',B$}}%
-So the arguments are two couples which define two circles with a center and a point on the circle. If there is a non empty intersection between these two circles then the test \tkzcname{iftkzFlagCC} gives true.
-\end{NewMacroBox}
-
-\subsubsection{test circle-circle intersection}
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1]
-  \tkzDefPoints{% x   y   name
-                   0    /0    /A,
-                   2    /0    /B,
-                   4    /0    /I,
-                   1    /0    /P}
-\tkzDrawCircle(A,B)
-\foreach \i in {1,...,3}{%
-   \coordinate  (P) at (\i,0);
-\tkzDrawCircle[new](I,P)
-   \tkzTestInterCC(A,B)(I,P)
-    \iftkzFlagCC
-    \tkzInterCC(A,B)(I,P)  \tkzGetPoints{a}{b}
-    \tkzDrawPoints(a,b)
-    \fi}
-  \end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{circle-circle intersection with \tkzname{common} point.}
-
-\begin{tkzexample}[latex=7cm,small]
-  \begin{tikzpicture}[scale=.5]
-    \tkzDefPoints{0/0/O,5/-1/A,2/2/B}
-    \tkzDrawPoints(O,A,B)
-    \tkzDrawCircles(O,B A,B)
-    \tkzInterCC[common=B](O,B)(A,B)\tkzGetFirstPoint{C}
-    \tkzDrawPoint(C)
-    \tkzLabelPoints[above](O,A,B,C)
-  \end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{circle-circle intersection order of points.}
-The idea is to compare the angles formed with the first center, a resultant point and the center of the second circle. The first point is the one that corresponds to the smallest angle.
-
-As you can see $\widehat{ODB} < \widehat{OBE} $
-
-\begin{tkzexample}[latex=7cm,small]
-  \begin{tikzpicture}[scale=.5]
-     \pgfkeys{/pgf/number format/.cd,fixed relative,precision=4}
-    \tkzDefPoints{0/0/O,5/-1/A,2/2/B,2/-1/C}
-    \tkzDrawPoints(O,A,B)
-    \tkzDrawCircles(O,A B,C)
-    \tkzInterCC(O,A)(B,C)\tkzGetPoints{D}{E}
-    \tkzDrawPoints(C,D,E)
-    \tkzLabelPoints(O,A,B,C,D,E)
-    \tkzDrawSegments[cyan](D,O D,B)
-    \tkzMarkAngle[red,->,size=1.5](O,D,B)
-    \tkzFindAngle(O,D,B)   \tkzGetAngle{an}
-    \tkzLabelAngle(O,D,B){$ \pgfmathprintnumber{\an}$}
-    \tkzDrawSegments[cyan](E,O E,B)
-    \tkzMarkAngle[red,->,size=1.5](O,E,B)  
-    \tkzFindAngle(O,E,B)   \tkzGetAngle{an}
-    \tkzLabelAngle(O,E,B){$ \pgfmathprintnumber{\an}$}  
-  \end{tikzpicture}
-\end{tkzexample}
-
-  
-  
-\subsubsection{Construction of an equilateral triangle.}
-$\widehat{A,C,B}$ is a clockwise angle
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[trim left=-1cm,scale=.5]
- \tkzDefPoint(1,1){A}
- \tkzDefPoint(5,1){B}
- \tkzInterCC(A,B)(B,A)\tkzGetPoints{C}{D}
- \tkzDrawPoint[color=black](C)
- \tkzDrawCircles(A,B B,A)
- \tkzCompass[color=red](A,C)
- \tkzCompass[color=red](B,C)
- \tkzDrawPolygon(A,B,C)
- \tkzMarkSegments[mark=s|](A,C B,C)
- \tkzLabelPoints[](A,B)
- \tkzLabelPoint[above](C){$C$}
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{Segment trisection}
- The idea here is to divide a segment with a ruler and a compass into three segments of equal length.
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.6]
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,2){B}
- \tkzInterCC(A,B)(B,A)            \tkzGetSecondPoint{D}
- \tkzInterCC(D,B)(B,A)            \tkzGetPoints{A}{C}
- \tkzInterCC(D,B)(A,B)            \tkzGetPoints{E}{B}
- \tkzInterLC[common=D](C,D)(E,D)  \tkzGetFirstPoint{F}
- \tkzInterLL(A,F)(B,C)            \tkzGetPoint{O}
- \tkzInterLL(O,D)(A,B)            \tkzGetPoint{H}
- \tkzInterLL(O,E)(A,B)            \tkzGetPoint{G}
- \tkzDrawCircles(D,E A,B B,A E,A)
- \tkzDrawSegments[](O,F O,B O,D O,E)
- \tkzDrawPoints(A,...,H)
- \tkzDrawSegments(A,B B,D A,D A,E E,F C,F B,C)
- \tkzMarkSegments[mark=s|](A,G G,H H,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{With the option "\tkzimp{with nodes}"}
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoints{0/0/A,0/5/B,5/0/C}
- \tkzDefPoint(54:5){F}
- \tkzInterCC[with nodes](A,A,C)(C,B,F)
- \tkzGetPoints{a}{e}
- \tkzInterCC(A,C)(a,e) \tkzGetFirstPoint{b}
- \tkzInterCC(A,C)(b,a) \tkzGetFirstPoint{c}
- \tkzInterCC(A,C)(c,b) \tkzGetFirstPoint{d}
- \tkzDrawCircle[new](A,C)
- \tkzDrawPoints(a,b,c,d,e)
- \tkzDrawPolygon(a,b,c,d,e)
- \foreach \vertex/\num in {a/36,b/108,c/180,
-                          d/252,e/324}{%
- \tkzDrawPoint(\vertex)
- \tkzLabelPoint[label=\num:$\vertex$](\vertex){}
- \tkzDrawSegment(A,\vertex)
- }
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Mix of intersections}
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}[scale = .75]
-  \tkzDefPoint(2,2){A}
-  \tkzDefPoint(0,0){B}
-  \tkzDefPoint(-2,2){C}
-  \tkzDefPoint(0,4){D}
-  \tkzDefPoint(4,2){E}
-  \tkzCircumCenter(A,B,C)\tkzGetPoint{O}
-  \tkzInterCC[R](O,2)(D,2) \tkzGetPoints{M1}{M2}
-  \tkzInterCC(O,A)(D,O) \tkzGetPoints{1}{2}
-  \tkzInterLC(A,E)(B,M1) \tkzGetSecondPoint{M3}
-  \tkzInterLC(O,C)(M3,D) \tkzGetSecondPoint{L}
-  \tkzDrawSegments(C,L)
-  \tkzDrawPoints(A,B,C,D,E,M1,M2,M3,O,L)
-  \tkzDrawSegments(O,E)
-  \tkzDrawSegments[new](C,A D,B)
-  \tkzDrawPoint(O)
-  \tkzDrawCircles[new](M3,D B,M2 D,O)
-  \tkzDrawCircle(O,A)
-  \tkzLabelPoints(A,B,C,D,E,M1,M2,M3,O,L)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\subsubsection{Altshiller-Court's theorem}
-  The two lines joining the points of intersection of two orthogonal circles to a point on one of the circles met the other circle in two diametricaly oposite points. Altshiller p 176
-
-
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}
-  \tkzDefPoints{0/0/P,5/0/Q,3/2/I}
-  \tkzDefCircleBy[orthogonal from=P](Q,I) 
-  \tkzGetFirstPoint{E}
-  \tkzDrawCircles(P,E Q,E)
-  \tkzInterCC[common=E](P,E)(Q,E) \tkzGetFirstPoint{F}
-  \tkzDefPointOnCircle[through = angle 80 center P point E] 
-  \tkzGetPoint{A}
-  \tkzInterLC[common=E](A,E)(Q,E)  \tkzGetFirstPoint{C}
-  \tkzInterLL(A,F)(C,Q)  \tkzGetPoint{D}
-  \tkzDrawLines[add=0 and 1](P,Q)
-  \tkzDrawLines[add=0 and 2](A,E)
-  \tkzDrawSegments(P,E E,F F,C A,F C,D)
-  \tkzDrawPoints(P,Q,E,F,A,C,D)
-  \tkzLabelPoints(P,Q,E,F,A,C,D)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-\endinput
\ No newline at end of file

Added: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersection.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersection.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersection.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -0,0 +1,502 @@
+\section{\tkzname{Intersections}}
+
+It is possible to determine the coordinates of the points of intersection between two straight lines, a straight line and a circle, and two circles.
+
+The associated commands have no optional arguments and the user must determine the existence of the intersection points himself.
+
+\subsection{Intersection of two straight lines \tkzcname{tkzInterLL}}
+\begin{NewMacroBox}{tkzInterLL}{\parg{$A,B$}\parg{$C,D$}}%
+Defines the intersection point \tkzname{tkzPointResult} of the two lines $(AB)$ and $(CD)$. The known points are given in pairs (two per line) in brackets, and the resulting point can be retrieved with the macro \tkzcname{tkzDefPoint}.
+\end{NewMacroBox}
+
+\subsubsection{Example of intersection between two straight lines}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[rotate=-45,scale=.75]
+  \tkzDefPoint(2,1){A}   
+  \tkzDefPoint(6,5){B}
+  \tkzDefPoint(3,6){C}   
+  \tkzDefPoint(5,2){D}
+  \tkzDrawLines(A,B C,D)
+  \tkzInterLL(A,B)(C,D)  
+     \tkzGetPoint{I}
+  \tkzDrawPoints[color=blue](A,B,C,D)
+   \tkzDrawPoint[color=red](I)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Intersection of a straight line and a circle  \tkzcname{tkzInterLC}}
+
+As before, the line is defined by a couple of points. The circle
+ is also defined by a couple:
+\begin{itemize}
+\item $(O,C)$ which is a pair of points, the first is the center and the second is any point on the circle.
+\item $(O,r)$  The $r$ measure is the radius measure.
+\end{itemize}
+
+\begin{NewMacroBox}{tkzInterLC}{\oarg{options}\parg{$A,B$}\parg{$O,C$} or \parg{$O,r$} or \parg{$O,C,D$}}%
+So the arguments are two couples. 
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options            & default & definition                         \\ 
+\midrule
+\TOline{N}         {N}    {(O,C) determines the circle}
+\TOline{R}         {N}    {(O, 1 ) unit 1 cm}  
+\TOline{with nodes}{N}    {(O,C,D) CD is a radius}  
+\TOline{common=pt} {}     {pt is common point; tkzFirstPoint gives the other point}
+\TOline{near}      {}     {tkzFirstPoint is the closest point to the first point of the line}
+\bottomrule
+\end{tabular}
+
+\medskip   
+The macro defines the intersection points $I$ and $J$ of the line $(AB)$ and the center circle $O$ with radius $r$ if they exist; otherwise, an error will be reported in the |.log| file. \tkzname{with nodes} avoids you to calculate the radius which is the length of $[CD]$.
+If \tkzname{common} and \tkzname{near} are not used then \tkzname{tkzFirstPoint} is the smallest angle (angle with \tkzname{tkzSecondPoint}  and the center of the circle). 
+\end{NewMacroBox}
+
+\begin{NewMacroBox}{tkzTestInterLC}{\parg{$O,A$}\parg{$O',B$}}%
+So the arguments are two couples which define a line and a circle  with a center and a point on the circle. If there is a non empty intersection between these the line and the circle then the test \tkzcname{iftkzFlagLC} gives true.
+\end{NewMacroBox}
+
+\subsubsection{test line-circle intersection}
+
+\begin{tkzexample}[latex=7cm,small]
+  \begin{tikzpicture}[scale=1]
+    \tkzDefPoints{% x   y   name
+                    3    /4    /I,
+                    3    /2    /P,
+                    0    /2    /La,
+                    8    /3    /Lb}
+  \tkzDrawCircle(I,P)
+  \foreach \i in {1,...,3}{%
+     \coordinate  (Lb) at (8,\i);
+     \tkzDrawLine(La,Lb)
+     \tkzTestInterLC(La,Lb)(I,P)
+      \iftkzFlagLC
+      \tkzInterLC(La,Lb)(I,P)  
+      \tkzGetPoints{a}{b}
+      \tkzDrawPoints(a,b)
+      \fi
+     }
+  \end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{Line-circle intersection}
+
+In the following example, the drawing of the circle uses two points and the intersection of the straight line and the circle uses two pairs of points. We will compare the angles $\widehat{D,E,O}$ and $\widehat{E,D,O}$. These angles are in opposite directions. \tkzname{tkzFirstPoint} is assigned to the point that forms the angle with the smallest measure (counterclockwise direction). The counterclockwide angle  $\widehat{D,E,O}$   has a measure equal to  $360\circ$ minus the measure of  $\widehat{O,E,D}$.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzInit[xmax=5,ymax=4]
+ \tkzDefPoint(1,1){O} 
+ \tkzDefPoint(-2,4){La} 
+ \tkzDefPoint(5,0){Lb} 
+ \tkzDefPoint(3,3){C}
+ \tkzInterLC(La,Lb)(O,C)  \tkzGetPoints{D}{E}  
+ \tkzMarkAngle[->,size=1.5](E,D,O)
+ \tkzDrawPolygons[new](O,D,E)
+ \tkzMarkAngle[->,size=1.5](D,E,O)
+ \tkzDrawCircle(O,C)
+ \tkzDrawPoints[color=teal](O,La,Lb,C)
+ \tkzDrawPoints[color=red](D,E)
+ \tkzDrawLine(La,Lb)
+ \tkzLabelPoints[above right](O,La,Lb,C,D,E)
+\end{tikzpicture} 
+\end{tkzexample}
+
+\subsubsection{Line passing through the center option \tkzname{common}}
+This case is special. You cannot compare the angles. In this case, the option \tkzname{near} must be used. \tkzname{tkzFirstPoint} is assigned to the point closest to the first point given for the line. Here we want $A$ to be closest to $Lb$.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+\tkzDefPoints{% x   y   name
+             0    /1    /D,
+             6    /0    /B,
+             3    /3    /O,
+             2    /2    /La,
+             5    /5    /Lb}
+  \tkzDrawCircle(O,D)
+  \tkzDrawLine(La,Lb)
+  \tkzInterLC[near](Lb,La)(O,D)  
+  \tkzGetFirstPoint{A}
+  \tkzDrawSegments(O,A)
+  \tkzDrawPoints(O,D,A,La,Lb)
+  \tkzLabelPoints(O,D,A,La,Lb)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Line-circle intersection with option \tkzname{common}}
+A special case that we often meet, a point of the line is on the circle and we are looking for the other common point.
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{0/0/O,-5/0/A,2/-2/B,0/5/D}
+ \tkzInterLC[common=A](B,A)(O,D)
+ \tkzGetFirstPoint{C}
+ \tkzDrawPoints(O,A,B)
+ \tkzDrawCircle(O,A)
+ \tkzDrawLine(A,C)
+ \tkzDrawPoint(C)
+ \tkzLabelPoints(A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{Line-circle intersection order of points}
+The idea is to compare the angles formed with the first defining point of the line, a resultant point and the center of the circle. The first point is the one that corresponds to the smallest angle.
+
+As you can see $\widehat{BCO} < \widehat{BEO} $. To tell the truth,$ \widehat{BEO}$ is counterclockwise.
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.5]
+  \tkzDefPoints{0/0/O,5/1/A,2/2/B,3/1/D}
+  \tkzInterLC[common=A](B,D)(O,A) \tkzGetPoints{C}{E}
+  \tkzDrawPoints(O,A,B,D)
+  \tkzDrawCircle(O,A) \tkzDrawLine(E,C)
+  \tkzDrawSegments[dashed](B,O O,C)
+  \tkzMarkAngle[->,size=1.5](B,C,O)
+  \tkzDrawSegments[dashed](O,E)
+  \tkzMarkAngle[->,size=1.5](B,E,O)
+  \tkzDrawPoints(C,E)
+  \tkzLabelPoints[above](O,E)
+  \tkzLabelPoints[right](A,B,C,D)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Example with \tkzcname{foreach}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=3,rotate=180]
+\tkzDefPoint(0,1){J} 
+\tkzDefPoint(0,0){O}
+\foreach \i in {0,-5,-10,...,-90}{
+ \tkzDefPoint({2.5*cos(\i*pi/180)},{1+2.5*sin(\i*pi/180)}){P}
+ \tkzInterLC[R](P,J)(O,1)\tkzGetPoints{N}{M}
+ \tkzDrawSegment[color=orange](J,N)
+ \tkzDrawPoints[red](N)} 
+\foreach \i in {-90,-95,...,-175,-180}{
+ \tkzDefPoint({2.5*cos(\i*pi/180)},{1+2.5*sin(\i*pi/180)}){P} 
+ \tkzInterLC[R](P,J)(O,1)\tkzGetPoints{N}{M}
+ \tkzDrawSegment[color=orange](J,M)
+ \tkzDrawPoints[red](M)}   
+\end{tikzpicture} 
+\end{tkzexample}
+
+\subsubsection{Line-circle intersection with option \tkzname{near}}
+$D$ is the point closest to $b$.
+
+\begin{tkzexample}[vbox,small]
+  \begin{tikzpicture}
+    \tkzDefPoints{0/0/A,12/0/C}
+    \tkzDefGoldenRatio(A,C)                          \tkzGetPoint{B}
+    \tkzDefMidPoint(A,C)                             \tkzGetPoint{O}
+    \tkzDefMidPoint(A,B)                             \tkzGetPoint{O_1}
+    \tkzDefMidPoint(B,C)                             \tkzGetPoint{O_2}
+    \tkzDefPointBy[rotation=center O_2 angle 90](C)  \tkzGetPoint{P}
+    \tkzDefPointBy[rotation=center O_1 angle 90](B)  \tkzGetPoint{Q}
+    \tkzDefPointBy[rotation=center B angle 90](C)    \tkzGetPoint{b}
+    \tkzInterLC[near](b,B)(O,A)                      \tkzGetFirstPoint{D}
+    \tkzInterCC(D,B)(O,C)                            \tkzGetPoints{V}{U}
+    \tkzDefPointBy[projection=onto U--V](O_1)        \tkzGetPoint{M}
+    \tkzDefPointBy[projection=onto U--V](O_2)        \tkzGetPoint{N}  
+    \tkzDrawPoints(A,B,C,O,O_1,O_2,D,U,V,M,N,b)
+    \tkzDrawSemiCircles[teal](O,C O_1,B O_2,C)
+    \tkzDrawSegments(A,C B,D U,V A,D C,D M,B B,N)
+    \tkzDrawArc(D,U)(V)
+    \tkzLabelPoints(A,B,C,O,O_1,O_2)
+    \tkzLabelPoints[above](D,U,V,M,N)
+  \end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{More complex example of a line-circle intersection}
+Figure from  \url{http://gogeometry.com/problem/p190_tangent_circle}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoint(0,0){A}  
+ \tkzDefPoint(8,0){B}
+ \tkzDefMidPoint(A,B)              \tkzGetPoint{O}
+ \tkzDefMidPoint(O,B)              \tkzGetPoint{O'}
+ \tkzDefLine[tangent from=A](O',B) \tkzGetFirstPoint{E}
+ \tkzInterLC(A,E)(O,B)             \tkzGetFirstPoint{D}
+ \tkzDefPointBy[projection=onto A--B](D)  
+ \tkzGetPoint{F}
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(A,D A,B D,F) 
+ \tkzDrawSegments[color=red,line width=1pt,
+     opacity=.4](A,O F,B)
+ \tkzDrawPoints(A,B,O,O',E,D) 
+ \tkzMarkRightAngle(D,F,B)
+ \tkzLabelPoints[below right](A,B,O,O',E,D) 
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Circle defined by a center and a measure, and special cases}
+Let's look at some special cases like straight lines tangent to the circle.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoint(0,8){A}      \tkzDefPoint(8,0){B}
+ \tkzDefPoint(8,8){C}      \tkzDefPoint(4,4){D}
+ \tkzDefPoint(2,4){E}      \tkzDefPoint(4,2){F}
+ \tkzDefPoint(8,4){G}
+ \tkzInterLC(A,C)(D,G)     \tkzGetPoints{I1}{I2}
+ \tkzInterLC(B,C)(D,G)     \tkzGetPoints{J1}{J2}
+ \tkzInterLC[near](A,B)(D,G)  \tkzGetPoints{K1}{K2}
+ \tkzInterLC(E,F)(D,G)     \tkzGetPoints{E1}{E2}
+ \tkzDrawCircle(D,G)
+ \tkzDrawPoints[color=red](I1,J1,K1,K2,E1,E2)
+ \tkzDrawLines(A,B B,C A,C I2,J2 E1,E2)
+ \tkzDrawPoints[color=blue](A,...,F)
+ \tkzDrawPoints[color=red](I2,J2)
+ \tkzLabelPoints[left](B,D,E,F)
+ \tkzLabelPoints[below left](A,C)
+ \tkzLabelPoints[below=4pt](I1,K1,K2,E2)
+ \tkzLabelPoints[left](J1,E1)
+\end{tikzpicture}
+
+\end{tkzexample}
+
+\subsubsection{Calculation of radius}
+ With \tkzname{pgfmath} and \tkzcname{pgfmathsetmacro}
+
+The radius measurement may be the result of a calculation that is not done within the intersection macro, but before.
+A length can be calculated in several ways. It is possible of course,
+ to use the module \tkzname{pgfmath} and the macro \tkzcname{pgfmathsetmacro}. In some cases, the results obtained are not precise enough, so the following calculation $0.0002 \div 0.0001$ gives $1.98$ with pgfmath while xfp will give $2$. 
+
+With \tkzname{xfp} and \tkzcname{fpeval}:
+
+\begin{tkzexample}[latex=7cm,small]
+  \begin{tikzpicture}
+  \tkzDefPoint(2,2){A}
+  \tkzDefPoint(5,4){B}
+  \tkzDefPoint(4,4){O}
+  \pgfmathsetmacro\tkzLen{\fpeval{0.0002/0.0001}}
+ % or \edef\tkzLen{\fpeval{0.0002/0.0001}}
+  \tkzInterLC[R](A,B)(O, \tkzLen)
+  \tkzGetPoints{I}{J}
+  \tkzDrawCircle(O,I)
+  \tkzDrawPoints[color=blue](A,B)
+  \tkzDrawPoints[color=red](I,J)
+  \tkzDrawLine(I,J)
+\end{tikzpicture}
+  \end{tkzexample}
+
+
+\subsubsection{Option "with nodes"}
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}[scale=.75]
+\tkzDefPoints{0/0/A,4/0/B,1/1/D,2/0/E}
+\tkzDefTriangle[equilateral](A,B)
+\tkzGetPoint{C}
+\tkzInterLC[with nodes](D,E)(C,A,B)
+\tkzGetPoints{F}{G}
+\tkzDrawCircle(C,A)
+\tkzDrawPolygon(A,B,C)
+\tkzDrawPoints(A,...,G)
+\tkzDrawLine(F,G)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Intersection of two circles  \tkzcname{tkzInterCC}}
+
+The most frequent case is that of two circles defined by their center and a point, but as before the option \tkzname{R} allows to use the radius measurements.
+
+\begin{NewMacroBox}{tkzInterCC}{\oarg{options}\parg{$O,A$}\parg{$O',A'$} or \parg{$O,r$}\parg{$O',r'$} or   \parg{$O,A,B$} \parg{$O',C,D$}}%
+\begin{tabular}{lll}%
+options       & default & definition                         \\
+\midrule
+\TOline{N}   {N}    {$OA$ and $O'A'$ are radii, $O$ and $O'$ are the centers.}
+\TOline{R}   {N}    {$r$ and $r'$ are dimensions and measure the radii.}
+\TOline{with nodes} {N}  {in (A,A,C)(C,B,F) AC and BF give the radii. }
+\TOline{common=pt}  {}   {pt is common point; tkzFirstPoint gives the other point.}
+\bottomrule
+\end{tabular}
+
+\medskip
+This macro defines the intersection point(s) $I$ and $J$ of the two center circles $O$ and $O'$. If the two circles do not have a common point then the macro ends with an error that is not handled. If the centers are $O$ and $O'$ and the intersections are $A$ and $B$ then the angles $\widehat{O,A,O'}$ and $\widehat{O,B,O'}$ are in opposite directions. \tkzname{tkzFirstPoint} is assigned to the point that forms the "clockwise" angle.
+\end{NewMacroBox}
+
+\begin{NewMacroBox}{tkzTestInterCC}{\parg{$O,A$}\parg{$O',B$}}%
+So the arguments are two couples which define two circles with a center and a point on the circle. If there is a non empty intersection between these two circles then the test \tkzcname{iftkzFlagCC} gives true.
+\end{NewMacroBox}
+
+\subsubsection{test circle-circle intersection}
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
+  \tkzDefPoints{% x   y   name
+                   0    /0    /A,
+                   2    /0    /B,
+                   4    /0    /I,
+                   1    /0    /P}
+\tkzDrawCircle(A,B)
+\foreach \i in {1,...,3}{%
+   \coordinate  (P) at (\i,0);
+\tkzDrawCircle[new](I,P)
+   \tkzTestInterCC(A,B)(I,P)
+    \iftkzFlagCC
+    \tkzInterCC(A,B)(I,P)  \tkzGetPoints{a}{b}
+    \tkzDrawPoints(a,b)
+    \fi}
+  \end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{circle-circle intersection with \tkzname{common} point.}
+
+\begin{tkzexample}[latex=7cm,small]
+  \begin{tikzpicture}[scale=.5]
+    \tkzDefPoints{0/0/O,5/-1/A,2/2/B}
+    \tkzDrawPoints(O,A,B)
+    \tkzDrawCircles(O,B A,B)
+    \tkzInterCC[common=B](O,B)(A,B)\tkzGetFirstPoint{C}
+    \tkzDrawPoint(C)
+    \tkzLabelPoints[above](O,A,B,C)
+  \end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{circle-circle intersection order of points.}
+The idea is to compare the angles formed with the first center, a resultant point and the center of the second circle. The first point is the one that corresponds to the smallest angle.
+
+As you can see $\widehat{ODB} < \widehat{OBE} $
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.5]
+   \pgfkeys{/pgf/number format/.cd,fixed relative,precision=4}
+  \tkzDefPoints{0/0/O,5/-1/A,2/2/B,2/-1/C}
+  \tkzDrawPoints(O,A,B)
+  \tkzDrawCircles(O,A B,C)
+  \tkzInterCC(O,A)(B,C)\tkzGetPoints{D}{E}
+  \tkzDrawPoints(C,D,E)
+  \tkzLabelPoints(O,A,B,C)
+  \tkzLabelPoints[above](D,E) 
+  \tkzDrawSegments[cyan](D,O D,B)
+  \tkzMarkAngle[red,->,size=1.5](O,D,B)
+  \tkzFindAngle(O,D,B)   \tkzGetAngle{an}
+  \tkzLabelAngle(O,D,B){$ \pgfmathprintnumber{\an}$}
+  \tkzDrawSegments[cyan](E,O E,B)
+  \tkzMarkAngle[red,->,size=1.5](O,E,B)  
+  \tkzFindAngle(O,E,B)   \tkzGetAngle{an}
+  \tkzLabelAngle(O,E,B){$ \pgfmathprintnumber{\an}$}  
+\end{tikzpicture}
+\end{tkzexample}
+
+  
+  
+\subsubsection{Construction of an equilateral triangle.}
+$\widehat{A,C,B}$ is a clockwise angle
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[trim left=-1cm,scale=.5]
+ \tkzDefPoint(1,1){A}
+ \tkzDefPoint(5,1){B}
+ \tkzInterCC(A,B)(B,A)\tkzGetPoints{C}{D}
+ \tkzDrawPoint[color=black](C)
+ \tkzDrawCircles(A,B B,A)
+ \tkzCompass[color=red](A,C)
+ \tkzCompass[color=red](B,C)
+ \tkzDrawPolygon(A,B,C)
+ \tkzMarkSegments[mark=s|](A,C B,C)
+ \tkzLabelPoints[](A,B)
+ \tkzLabelPoint[above](C){$C$}
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{Segment trisection}
+ The idea here is to divide a segment with a ruler and a compass into three segments of equal length.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.6]
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(3,2){B}
+ \tkzInterCC(A,B)(B,A)            \tkzGetSecondPoint{D}
+ \tkzInterCC(D,B)(B,A)            \tkzGetPoints{A}{C}
+ \tkzInterCC(D,B)(A,B)            \tkzGetPoints{E}{B}
+ \tkzInterLC[common=D](C,D)(E,D)  \tkzGetFirstPoint{F}
+ \tkzInterLL(A,F)(B,C)            \tkzGetPoint{O}
+ \tkzInterLL(O,D)(A,B)            \tkzGetPoint{H}
+ \tkzInterLL(O,E)(A,B)            \tkzGetPoint{G}
+ \tkzDrawCircles(D,E A,B B,A E,A)
+ \tkzDrawSegments[](O,F O,B O,D O,E)
+ \tkzDrawPoints(A,...,H)
+ \tkzDrawSegments(A,B B,D A,D A,E E,F C,F B,C)
+ \tkzMarkSegments[mark=s|](A,G G,H H,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{With the option "\tkzimp{with nodes}"}
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{0/0/A,0/5/B,5/0/C}
+ \tkzDefPoint(54:5){F}
+ \tkzInterCC[with nodes](A,A,C)(C,B,F)
+ \tkzGetPoints{a}{e}
+ \tkzInterCC(A,C)(a,e) \tkzGetFirstPoint{b}
+ \tkzInterCC(A,C)(b,a) \tkzGetFirstPoint{c}
+ \tkzInterCC(A,C)(c,b) \tkzGetFirstPoint{d}
+ \tkzDrawCircle[new](A,C)
+ \tkzDrawPoints(a,b,c,d,e)
+ \tkzDrawPolygon(a,b,c,d,e)
+ \foreach \vertex/\num in {a/36,b/108,c/180,
+                          d/252,e/324}{%
+ \tkzDrawPoint(\vertex)
+ \tkzLabelPoint[label=\num:$\vertex$](\vertex){}
+ \tkzDrawSegment(A,\vertex)
+ }
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Mix of intersections}
+\begin{tkzexample}[latex=8cm,small]
+\begin{tikzpicture}[scale = .75]
+  \tkzDefPoint(2,2){A}
+  \tkzDefPoint(0,0){B}
+  \tkzDefPoint(-2,2){C}
+  \tkzDefPoint(0,4){D}
+  \tkzDefPoint(4,2){E}
+  \tkzCircumCenter(A,B,C)\tkzGetPoint{O}
+  \tkzInterCC[R](O,2)(D,2) \tkzGetPoints{M1}{M2}
+  \tkzInterCC(O,A)(D,O) \tkzGetPoints{1}{2}
+  \tkzInterLC(A,E)(B,M1) \tkzGetSecondPoint{M3}
+  \tkzInterLC(O,C)(M3,D) \tkzGetSecondPoint{L}
+  \tkzDrawSegments(C,L)
+  \tkzDrawPoints(A,B,C,D,E,M1,M2,M3,O,L)
+  \tkzDrawSegments(O,E)
+  \tkzDrawSegments[new](C,A D,B)
+  \tkzDrawPoint(O)
+  \tkzDrawCircles[new](M3,D B,M2 D,O)
+  \tkzDrawCircle(O,A)
+  \tkzLabelPoints[below right](A,B,C,D,E,M1,M2,M3,O,L)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{Altshiller-Court's theorem}
+  The two lines joining the points of intersection of two orthogonal circles to a point on one of the circles met the other circle in two diametricaly oposite points. Altshiller p 176
+
+
+\begin{tkzexample}[vbox,small]
+\begin{tikzpicture}
+  \tkzDefPoints{0/0/P,5/0/Q,3/2/I}
+  \tkzDefCircle[orthogonal from=P](Q,I) 
+  \tkzGetFirstPoint{E}
+  \tkzDrawCircles(P,E Q,E)
+  \tkzInterCC[common=E](P,E)(Q,E) \tkzGetFirstPoint{F}
+  \tkzDefPointOnCircle[through =  center P angle 80 point E] 
+  \tkzGetPoint{A}
+  \tkzInterLC[common=E](A,E)(Q,E)  \tkzGetFirstPoint{C}
+  \tkzInterLL(A,F)(C,Q)  \tkzGetPoint{D}
+  \tkzDrawLines[add=0 and 1](P,Q)
+  \tkzDrawLines[add=0 and 2](A,E)
+  \tkzDrawSegments(P,E E,F F,C A,F C,D)
+  \tkzDrawPoints(P,Q,E,F,A,C,D)
+  \tkzLabelPoints(P,Q,F)
+  \tkzLabelPoints[above](E,A)
+  \tkzLabelPoints[left](D)
+  \tkzLabelPoints[above right](C)
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersection.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-labelling.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-labelling.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-labelling.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -3,7 +3,6 @@
 \hypertarget{tlp}{}
 It is possible to add several labels at the same point by using this macro several times.  
 
-
 \begin{NewMacroBox}{tkzLabelPoint}{\oarg{local options}\parg{point}\var{label}}%
 \begin{tabular}{lll}%
 arguments &  example  &                  \\ 
@@ -70,7 +69,6 @@
   \tkzLabelPoints(A,B,C) 
 \end{tikzpicture} 
 \end{tkzexample}
-
 %<--------------------------------------------------------------------------->
 %                       tkzAutoLabelPoints
 %<--------------------------------------------------------------------------->
@@ -97,7 +95,7 @@
  \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)
+ \tkzLabelPoints(O,A,C,B)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -144,7 +142,7 @@
   \tkzDefPointWith[orthogonal normed,K=4](I,A)
    \tkzGetPoint{H}
   \tkzDefMidPoint(O,A) \tkzGetPoint{M}
-  \tkzInterLC(I,H)(M,A)\tkzGetPoints{C}{B}   
+  \tkzInterLC(I,H)(M,A)\tkzGetPoints{B}{C}   
   \tkzDrawSegments[color=white,line width=1pt](I,H O,A)
   \tkzDrawPoints[color=white](O,I,A,B,M) 
   \tkzMarkRightAngle[color=white,line width=1pt](A,I,B) 
@@ -159,7 +157,7 @@
 \subsubsection{Labels and option : \tkzname{swap}}
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[rotate=-60]
-\tkzSetUpStyle[red,auto]{label seg style}
+\tkzSetUpStyle[red,auto]{label style}
 \tkzDefPoint(0,1){A}
 \tkzDefPoint(2,4){C}
 \tkzDefPointWith[orthogonal normed,K=7](C,A)
@@ -200,7 +198,6 @@
 \end{tikzpicture}
 \end{tkzexample}  
 
-
 \section{Add labels on a straight line \tkzcname{tkzLabelLine}}% 
 
 \begin{NewMacroBox}{tkzLabelLine}{\oarg{local options}\parg{pt1,pt2}\marg{label}}
@@ -277,8 +274,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-
-\subsubsection{Example with \tkzname{pos}} 
+\subsubsection{With \tkzname{pos}} 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=.75]
   \tkzDefPoints{0/0/O,5/0/A,3/4/B}
@@ -291,6 +287,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
+\subsubsection{\tkzname{pos} and \tkzcname{tkzLabelAngles}} 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[rotate=30]
   \tkzDefPoint(2,1){S} 
@@ -317,7 +314,6 @@
 \end{tkzexample}
 
 
-
 \begin{NewMacroBox}{tkzLabelAngles}{\oarg{local options}\parg{A,O,B}\parg{A',O',B'}etc.}%
 With common options, there is a macro for multiple angles.
 \end{NewMacroBox}  
@@ -325,17 +321,16 @@
 It finally remains to be able to give a label to designate a circle and if several possibilities are offered, we will see here \tkzcname{tkzLabelCircle}.
 
 \subsection{Giving a label to a circle}
-\begin{NewMacroBox}{tkzLabelCircle}{\oarg{local options}\parg{A,B}\parg{angle}\marg{label}}%
+\begin{NewMacroBox}{tkzLabelCircle}{\oarg{tikz options}\parg{O,A}\parg{angle}\marg{label}}%
 \begin{tabular}{lll}%
 options             & default & definition                         \\
 \midrule
-\TOline{radius} {radius}{circle characterized by two points defining a radius}
-\TOline{R} {radius}{circle characterized by a point and the measurement of a radius }
+\TOline{tikz options} {}{circle $O$ center  through $A$}
 \bottomrule
 \end{tabular} 
 
 \medskip
-You don't need to put \tkzname{radius} because that's the default option. We can use the styles from \TIKZ. The label is created and therefore "passed" between braces.
+\emph{ We can use the styles from \TIKZ. The label is created and therefore "passed" between braces.}
 \end{NewMacroBox} 
 
 \subsubsection{Example}  
@@ -351,8 +346,8 @@
  \tkzLabelCircle[above=4pt](O,N)(120){$\mathcal{C}$}
  \tkzDrawCircle(O,M) 
  \tkzFillCircle[color=blue!10,opacity=.4](O,M) 
- \tkzLabelCircle[R,draw,
-       text width=2cm,text centered](O,3)(-60)%
+ \tkzLabelCircle[draw,
+       text width=2cm,text centered,left=24pt](O,M)(-120)%
           {The circle\\ $\mathcal{C}$}  
  \tkzDrawPoints(M,P)\tkzLabelPoints[right](M,P)   
 \end{tikzpicture}      
@@ -367,7 +362,7 @@
 \begin{tabular}{lll}%%
 argument    & example & definition    \\
 \midrule
-\TAline{label}{\tkzcname{tkzLabelSegment(A,B)\{$5$\}}}{label text} 
+\TAline{label}{\tkzcname{tkzLabelArc(A,B)\{$5$\}}}{label text} 
 \TAline{(pt1,pt2,pt3)}{(O,A,B)}{label along the arc $\widearc{AB}$} 
 \bottomrule
 \end{tabular}
@@ -393,4 +388,5 @@
 \tkzLabelPoints(A,B,O)
 \end{tikzpicture}
 \end{tkzexample}
+
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-lines.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-lines.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-lines.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -2,7 +2,6 @@
 
 It is of course essential to draw straight lines, but before this can be done, it is necessary to be able to define certain particular lines such as mediators, bisectors, parallels or even perpendiculars. The principle is to determine two points on the straight line. 
 
-
 \subsection{Definition of straight lines}
 
 \begin{NewMacroBox}{tkzDefLine}{\oarg{local options}\parg{pt1,pt2} or \parg{pt1,pt2,pt3}}%
@@ -14,8 +13,11 @@
 \toprule
 arguments           & example & explanation                         \\
 \midrule
-\TAline{\parg{pt1,pt2}}{\parg{A,B}} {[mediator](A,B)}
-\TAline{\parg{pt1,pt2,pt3}}{\parg{A,B,C}} {[bisector](B,A,C)}
+\TAline{\parg{pt1,pt2}}{[mediator]\parg{A,B}}{mediator of the segment $[A,B]$}
+\TAline{\parg{pt1,pt2,pt3}}{[bisector]\parg{A,B,C}} {bisector of $\widehat{ABC}$}
+\TAline{\parg{pt1,pt2,pt3}}{[altitude]\parg{A,B,C}} {altitude from $B$}
+\TAline{\parg{pt1}}{[tangent at=A]\parg{O}} {tangent at $A$ on the circle center $O$}
+\TAline{\parg{pt1,pt2}}{[tangent from=A]\parg{O,B}} {circle center $O$ through $B$}
 \end{tabular}
 
 \medskip
@@ -27,13 +29,18 @@
 \TOline{orthogonal=through\dots}{mediator}{see above }
 \TOline{parallel=through\dots}{mediator}{parallel to a straight line passing through a point}
 \TOline{bisector}{mediator}{bisector of an angle defined by three points}
-\TOline{bisector out}{mediator}{Exterior Angle Bisector}
+\TOline{bisector out}{mediator}{exterior angle bisector}
+\TOline{symmedian}{mediator}{symmedian from a vertex  }
+\TOline{altitude}{mediator}{altitude from avertex}
+\TOline{euler}{mediator}{euler line of a triangle   }
+\TOline{tangent at}{mediator}{tangent at a point of a circle  }
+\TOline{tangent from}{mediator}{tangent from an exterior point  }
 \TOline{K}{1}{coefficient for the perpendicular line}
 \TOline{normed}{false}{normalizes the created segment}
 \end{tabular}
 \end{NewMacroBox}  
 
-\subsubsection{Example with \tkzname{mediator}}  
+\subsubsection{With \tkzname{mediator}}  
 \begin{tkzexample}[latex=5 cm,small]
 \begin{tikzpicture}[rotate=25]
  \tkzDefPoints{-2/0/A,1/2/B}
@@ -48,7 +55,48 @@
 \end{tikzpicture}
 \end{tkzexample}  
 
-\subsubsection{Example with \tkzname{bisector} and \tkzname{normed}} 
+\subsubsection{An envelope with option \tkzname{mediator}}
+Based on a figure from O. Reboux with pst-eucl by D Rodriguez.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.6]
+   % necessary
+\tkzInit[xmin=-6,ymin=-4,xmax=6,ymax=6]
+\tkzClip
+\tkzSetUpLine[thin,color=magenta]
+\tkzDefPoint(0,0){O} 
+\tkzDefPoint(132:4){A}
+\tkzDefPoint(5,0){B}
+\foreach \ang in {5,10,...,360}{%
+ \tkzDefPoint(\ang:5){M}
+ \tkzDefLine[mediator](A,M)
+ \tkzGetPoints{x}{y}
+ \tkzDrawLine[add= 3 and 3](x,y)}
+\end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{A parabola with option \tkzname{mediator}}
+Based on a figure from O. Reboux with pst-eucl by D Rodriguez.
+It is not necessary to name the two points that define the mediator.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.6]
+\tkzInit[xmin=-6,ymin=-4,xmax=6,ymax=6] 
+\tkzClip
+\tkzSetUpLine[thin,color=teal]
+\tkzDefPoint(0,0){O} 
+\tkzDefPoint(132:5){A}
+\tkzDefPoint(4,0){B}
+\foreach \ang in {5,10,...,360}{%
+ \tkzDefPoint(\ang:4){M}
+ \tkzDefLine[mediator](A,M) 
+ \tkzGetPoints{x}{y}
+ \tkzDrawLine[add= 3 and 3](x,y)}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{With options \tkzname{bisector} and \tkzname{normed}} 
 \begin{tkzexample}[latex=7 cm,small] 
 \begin{tikzpicture}[rotate=25,scale=.75]
  \tkzDefPoints{0/0/C, 2/-3/A, 4/0/B}
@@ -59,7 +107,27 @@
 \end{tikzpicture}
 \end{tkzexample} 
 
-\subsubsection{Example with \tkzname{orthogonal} and \tkzname{parallel}}    
+\subsubsection{With option \tkzname{parallel=through}} % (fold)
+\label{ssub:parallel}
+Archimedes' Book of Lemmas proposition 1
+
+\begin{tkzexample}[latex=7cm,small]
+  \begin{tikzpicture}[scale=.75]
+    \tkzDefPoints{0/0/O_1,0/1/O_2,0/3/A}
+    \tkzDefPoint(15:3){F}
+    \tkzInterLC(F,O_1)(O_1,A) \tkzGetSecondPoint{E}
+    \tkzDefLine[parallel=through O_2](E,F) \tkzGetPoint{x}   
+    \tkzInterLC(x,O_2)(O_2,A) \tkzGetPoints{D}{C} 
+    \tkzDrawCircles(O_1,A O_2,A)
+    \tkzDrawSegments[new](O_1,A E,F C,D)
+    \tkzDrawSegments[purple](A,E A,F)
+    \tkzDrawPoints(A,O_1,O_2,E,F,C,D)
+    \tkzLabelPoints(A,O_1,O_2,E,F,C,D)
+  \end{tikzpicture}
+\end{tkzexample}
+% subsubsection parallel (end)
+
+\subsubsection{With option \tkzname{orthogonal} and \tkzname{parallel}}    
 \begin{tkzexample}[latex=5 cm,small]
 \begin{tikzpicture}
    \tkzDefPoints{-1.5/-0.25/A,1/-0.75/B,-0.7/1/C}
@@ -78,71 +146,43 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{An envelope}
-Based on a figure from O. Reboux with pst-eucl by D Rodriguez.
-
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[scale=.75]
- \tkzInit[xmin=-6,ymin=-4,xmax=6,ymax=6] % necessary
- \tkzClip
- \tkzDefPoint(0,0){O} 
- \tkzDefPoint(132:4){A}
- \tkzDefPoint(5,0){B}
- \foreach \ang in {5,10,...,360}{%
-  \tkzDefPoint(\ang:5){M}
-  \tkzDefLine[mediator](A,M)
-  \tkzDrawLine[color=magenta,add= 3 and 3](tkzFirstPointResult,tkzSecondPointResult)}
+\subsubsection{With option  \tkzname{altitude}} % (fold)
+\label{sub:altitude}
+\begin{tkzexample}[latex=7 cm,small]
+\begin{tikzpicture}
+\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}	
+\tkzDefLine[altitude](A,B,C)     \tkzGetPoint{b}
+\tkzDefLine[altitude](B,C,A)     \tkzGetPoint{c}
+\tkzDefLine[altitude](B,A,C)     \tkzGetPoint{a}
+\tkzDrawPolygon(A,B,C)
+\tkzDrawPoints[blue](a,b,c)
+\tkzDrawSegments[blue](A,a B,b C,c)
+\tkzLabelPoints(A,B,c)
+\tkzLabelPoints[above](C,a)
+\tkzLabelPoints[above left](b)
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{A parabola}
-Based on a figure from O. Reboux with pst-eucl by D Rodriguez.
-It is not necessary to name the two points that define the mediator.
+% subsection altitude (end)
 
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[scale=.75]
- \tkzInit[xmin=-6,ymin=-4,xmax=6,ymax=6] 
- \tkzClip
- \tkzDefPoint(0,0){O} 
- \tkzDefPoint(132:5){A}
- \tkzDefPoint(4,0){B}
- \foreach \ang in {5,10,...,360}{%
-  \tkzDefPoint(\ang:4){M}
-  \tkzDefLine[mediator](A,M) 
-  \tkzDrawLine[color=teal,add= 3 and 3](tkzFirstPointResult,tkzSecondPointResult)}
+
+\subsubsection{ With option \tkzname{euler}} % (fold)
+\label{sub:eulerline}
+\begin{tkzexample}[latex=7 cm,small]
+\begin{tikzpicture}
+\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}			 
+\tkzDefLine[euler](A,B,C)             \tkzGetPoints{h}{e}
+\tkzDefTriangleCenter[circum](A,B,C)  \tkzGetPoint{o}
+\tkzDrawPolygon[teal](A,B,C)
+\tkzDrawPoints[red](A,B,C,h,e,o)
+\tkzDrawLine[add= 2 and 2](h,e)
+\tkzLabelPoints(A,B,C,h,e,o)
+\tkzLabelPoints[above](C)
 \end{tikzpicture}
 \end{tkzexample}
+% subsection eulerline (end)
 
-%<---------------------------------------------------------------------------->
-\subsection{Specific lines:  Tangent to a circle}
-Two constructions are proposed. The first one is the construction of a tangent to a circle at a given point of this circle and the second one is the construction of a tangent to a circle passing through a given point outside a disc. 
-
-\begin{NewMacroBox}{tkzDefTangent}{\oarg{local options}\parg{pt1,pt2} or \parg{pt1,dim}}%
-The parameter in brackets is the center of the circle or the center of the circle and a point on the circle or the center and the radius. This macro replaces the old one: \tkzcname{tkzTangent}.
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-arguments           & example & explanation                         \\
-\midrule
-\TAline{\parg{pt1,pt2 or \parg{pt1,dim}} }{\parg{A,B} or \parg{A,2cm}} {$[AB]$ is radius $A$ is the center}
-\bottomrule
-\end{tabular} 
-
-\medskip
-\begin{tabular}{lll}%
-options             & default & definition                         \\ 
-\midrule
-\TOline{at=pt}{at}{tangent to a point on the circle} 
-\TOline{from=pt} {at}{tangent to a circle passing through a point}
-\TOline{from with R=pt} {at}{idem, but the circle is defined by center = radius}  
-\bottomrule
-\end{tabular}
-
-The tangent is not drawn. With option \tkzname{at}, a  point of the tangent is given by \tkzname{tkzPointResult}.  With option \tkzname{from} you get two points of the circle with \tkzname{tkzFirstPointResult} and \tkzname{tkzSecondPointResult}.  You can choose between these two points by comparing the angles formed with the outer point, the contact point and the center. The two possible angles have different directions. Angle counterclockwise refers to \tkzname{tkzFirstPointResult}.
-\end{NewMacroBox}
-
-\subsubsection{Example of a tangent passing through a point on the circle } 
+\subsubsection{Tangent passing through a point on the circle \tkzname{tangent at}} 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=.75]
   \tkzDefPoint(0,0){O}
@@ -151,7 +191,7 @@
   \tkzGetPoint{A}
   \tkzDrawSegment(O,A)
   \tkzDrawCircle(O,A)
-  \tkzDefTangent[at=A](O)
+  \tkzDefLine[tangent at=A](O)
   \tkzGetPoint{h}
   \tkzDrawLine[add = 4 and 3](A,h)
   \tkzMarkRightAngle[fill=teal!30](O,A,h)
@@ -158,15 +198,15 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{Choice of contact point with tangents passing through an external point} 
+\subsubsection{Choice of contact point with tangents passing through an external point option \tkzname{tangent from}} 
+
+The tangent is not drawn. With option \tkzname{at}, a  point of the tangent is given by \tkzname{tkzPointResult}.  With option \tkzname{from} you get two points of the circle with \tkzname{tkzFirstPointResult} and \tkzname{tkzSecondPointResult}.  You can choose between these two points by comparing the angles formed with the outer point, the contact point and the center. The two possible angles have different directions. Angle counterclockwise refers to \tkzname{tkzFirstPointResult}.
+
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=1,rotate=-30]
-\tkzDefPoints{ %x    y   name
-                0    /0   /Q,
-                0    /2   /A,
-                6    /-1   /O}
-\tkzDefTangent[from = O](Q,A)  \tkzGetPoints{R}{S} 
-\tkzInterLC[near](O,Q)(Q,A)    \tkzGetPoints{M}{N}
+\tkzDefPoints{0/0/Q,0/2/A,6/-1/O}
+\tkzDefLine[tangent from = O](Q,A)  \tkzGetPoints{R}{S} 
+\tkzInterLC[near](O,Q)(Q,A)         \tkzGetPoints{M}{N}
 \tkzDrawCircle(Q,M)
 \tkzDrawSegments[new,add = 0 and .2](O,R O,S)
 \tkzDrawSegments[gray](N,O R,Q S,Q)
@@ -182,9 +222,6 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-
-
-
 \subsubsection{Example of tangents passing through an external point } 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=.8] 
@@ -194,7 +231,7 @@
  \foreach \an in {0,10,...,350}{
   \tkzDefPointBy[rotation=center c angle \an](a0)  
   \tkzGetPoint{a}
-  \tkzDefTangent[from = a](c,d) 
+  \tkzDefLine[tangent from = a](c,d) 
   \tkzGetPoints{e}{f}
   \tkzDrawLines(a,f a,e)
   \tkzDrawSegments(c,e c,f)}
@@ -202,13 +239,14 @@
 \end{tkzexample}
 
 \subsubsection{Example of Andrew Mertz}
+
 \begin{tkzexample}[latex=6cm,small]
- \begin{tikzpicture}[scale=.5] 
+ \begin{tikzpicture}[scale=.6] 
  \tkzDefPoint(100:8){A}\tkzDefPoint(50:8){B}  
  \tkzDefPoint(0,0){C} \tkzDefPoint(0,-4){R} 
  \tkzDrawCircle(C,R)
- \tkzDefTangent[from = A](C,R)  \tkzGetPoints{D}{E}
- \tkzDefTangent[from = B](C,R)  \tkzGetPoints{F}{G}
+ \tkzDefLine[tangent from = A](C,R)  \tkzGetPoints{D}{E}
+\tkzDefLine[tangent from = B](C,R)  \tkzGetPoints{F}{G}
  \tkzDrawSector[fill=teal!20,opacity=0.5](A,E)(D)
  \tkzFillSector[color=teal,opacity=0.5](B,G)(F)
  \end{tikzpicture}
@@ -215,14 +253,14 @@
 \end{tkzexample}
 \url{http://www.texample.net/tikz/examples/}  
 
-\subsubsection{Drawing a tangent option \tkzimp{from}}
+\subsubsection{Drawing a tangent option \tkzname{tangent from}}
 \begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=.5] 
+\begin{tikzpicture}[scale=.6] 
  \tkzDefPoint(0,0){B} 
  \tkzDefPoint(0,8){A} 
  \tkzDefSquare(A,B)
  \tkzGetPoints{C}{D}
- \tkzDrawSquare(A,B)
+ \tkzDrawPolygon(A,B,C,D)
  \tkzClipPolygon(A,B,C,D)
  \tkzDefPoint(4,8){F}
  \tkzDefPoint(4,0){E}
@@ -230,7 +268,7 @@
  \tkzFillPolygon[color = green](A,B,C,D)
  \tkzDrawCircle[fill = orange](B,A)
  \tkzDrawCircle[fill = purple](E,B)  
- \tkzDefTangent[from=B](F,A)
+ \tkzDefLine[tangent from = B](F,A)
  \tkzInterLL(F,tkzSecondPointResult)(C,D)
  \tkzInterLL(A,tkzPointResult)(F,E) 
  \tkzDrawCircle[fill = yellow](tkzPointResult,Q)  

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-main.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-main.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-main.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -17,16 +17,16 @@
                fontsize    = 10,
                index       = totoc,
                twoside,
-               headings    = small,
-               cadre
+               cadre,
+               headings    = small
                ]{tkz-doc}
 %\usepackage{etoc}
 \gdef\tkznameofpack{tkz-euclide}
-\gdef\tkzversionofpack{4.05b}
-\gdef\tkzdateofpack{2022/02/07}
+\gdef\tkzversionofpack{4.2c}
+\gdef\tkzdateofpack{\today}
 \gdef\tkznameofdoc{doc-tkz-euclide}
-\gdef\tkzversionofdoc{4.05b} 
-\gdef\tkzdateofdoc{2022/02/07}
+\gdef\tkzversionofdoc{4.2c} 
+\gdef\tkzdateofdoc{\today}
 \gdef\tkzauthorofpack{Alain Matthes}
 \gdef\tkzadressofauthor{}
 \gdef\tkznamecollection{AlterMundus}
@@ -33,10 +33,11 @@
 \gdef\tkzurlauthor{http://altermundus.fr}
 \gdef\tkzengine{lualatex}
 \gdef\tkzurlauthorcom{http://altermundus.fr}
+\nameoffile{\tkznameofpack}
 % -- Packages ---------------------------------------------------          
 \usepackage[dvipsnames,svgnames]{xcolor}
 \usepackage{calc}
-\usepackage{tkz-euclide} 
+\usepackage{tkz-base,tkz-euclide,pgfornament} 
 \usetikzlibrary{backgrounds}
 \usepackage[colorlinks,pdfencoding=auto, psdextra]{hyperref}
 \hypersetup{
@@ -86,128 +87,38 @@
 %\usepackage{unicode-math}
 \usepackage[math-style=literal,bold-style=literal]{unicode-math}
 \usepackage{fourier-otf}
-\makeatletter
-\if at tkzcadre \usepackage{zorna} \fi
-\makeatother
-\usepackage{datetime,multicol,lscape}
+\let\rmfamily\ttfamily
+\usepackage{multicol,lscape}
 \usepackage[english]{babel}
 \usepackage[normalem]{ulem}
-\usepackage{array,multirow,multido,booktabs}
+\usepackage{multirow,multido,booktabs,cellspace}
 \usepackage{shortvrb,fancyvrb,bookmark} 
+\usepackage{makeidx}
+\makeindex 
 
-\renewcommand{\labelitemi}{--}
-\setlength\parindent{0pt}
-\RedeclareSectionCommand[tocnumwidth=3.5em]{part}
-\RedeclareSectionCommand[tocnumwidth=3.5em]{section}
-\RedeclareSectionCommand[tocnumwidth=3.5em]{subsection}
-\RedeclareSectionCommand[tocnumwidth=3.5em]{subsubsection}
-\renewcommand\partheadstartvskip{\clearpage\null\vfil}
-\renewcommand\partheadmidvskip{\par\nobreak\vskip 20pt\thispagestyle{empty}}
-\renewcommand\partheadendvskip{\vfil\clearpage}
-\renewcommand\raggedpart{\centering}
-\RequirePackage{makeidx} 
-\makeindex 
-% \def\tkzref{\arabic{section}-\arabic{subsection}-\arabic{subsubsection}}
-% \renewenvironment{tkzexample}[1][]{%
-%  \tkz at killienc \VerbatimOut{tkzeuclide-\tkzref.tex}%
-%   }{%
-% \endVerbatimOut
-% }
 %<---------------------------------------------------------------------------> 
-\AtBeginDocument{\MakeShortVerb{\|}} % link to shortvrb
-\makeatletter
-% We need to save the node
-% Every append after command might be useful to have this code
-\def\savelastnode{\pgfextra\edef\tmpA{\tikzlastnode}\endpgfextra}
-\def\restorelastnode{\pgfextra\edef\tikzlastnode{\tmpA}\endpgfextra}
-
-% Define box and box title style
-\tikzstyle{mybox} = [draw=blue!50!black, very thick,
-    rectangle, rounded corners, inner sep=10pt, inner ysep=20pt,text=darkgray]
-\tikzstyle{fancytitle} =[fill=MidnightBlue!20, text=blue!50!black,rounded corners]
-\tikzstyle{title} = [append after command={%
-    \savelastnode node[fancytitle,right=10pt] at (\tikzlastnode.north west)%
-    {#1}\restorelastnode}]
-\makeatother 
-
-\newcommand{\red}{\color{BrickRed}}
-\newcommand{\orange}{\color{PineGreen}}
-\newcommand{\blanc}{\color{White}}
-\newcommand{\ntt}{\normalfont\ttfamily}
-%    command name
-\newcommand{\cn}[1]{{\protect\ntt\bslash#1}}
-%    LaTeX package name
-%    File name
-\newcommand{\fn}[1]{{\protect\ntt#1}}
-%    environment name
-\newcommand{\env}[1]{{\protect\ntt#1}}
-\hfuzz1pc % Don't bother to report overfull boxes if overage is < 1pc
-
-\newcommand{\pkg}[1]{{\protect\ntt#1}}
-
-% settings
+% settings styles
 \tkzSetUpColors[background=white,text=black]  
-\tkzSetUpCompass[color=orange, line width=.4pt,delta=10]
-\tkzSetUpArc[color=gray,line width=.4pt]
+\tkzSetUpCompass[color=orange, line width=.2pt,delta=10]
+\tkzSetUpArc[color=gray,line width=.2pt]
 \tkzSetUpPoint[size=2,color=teal]
-\tkzSetUpLine[line width=.4pt,color=teal]
-\tkzSetUpStyle[color=orange,ultra thin]{new}
-\tikzset{every picture/.style={line width=.4pt}}
-\tikzset{label angle style/.append style={color=teal,font=\footnotesize}}
-\tikzset{new/.style={color=orange,ultra thin}}  
-%\tikzset{label style/.append style={color=teal,font=\footnotesize}}
+\tkzSetUpLine[line width=.2pt,color=teal]
+\tkzSetUpStyle[color=orange,line width=.2pt]{new}
+\tikzset{every picture/.style={line width=.2pt}}
+\tikzset{label angle style/.append style={color=teal,font=\footnotesize}} 
+\tikzset{label style/.append style={below,color=teal,font=\scriptsize}}
+\tikzset{new/.style={color=orange,line width=.2pt}} 
 
-\newcommand{\tkzsubf}[2]{%
-  {\small\begin{tabular}[t]{@{}c@{}}
-  #1\\#2
-  \end{tabular}}%
-}
-
-
+\AtBeginDocument{\MakeShortVerb{\|}} % link to shortvrb
 \begin{document} 
   
-
 \parindent=0pt
-\author{\tkzauthorofpack}  
-\title{\tkznameofpack}
-\date{\today}
+\tkzTitleFrame{tkz-euclide\\Euclidean Geometry}
 \clearpage
-\thispagestyle{empty}
-\maketitle
-\null
-\makeatletter
-\if at tkzcadre
-\AddToShipoutPicture*{%
-\setlength\unitlength{1mm}
-\put(70,120){%
-\begin{tikzpicture}
- \node at (30pt,30pt){\fontsize{60}{60}\selectfont \zorna{c}};  
- \node at (270pt,30pt){\fontsize{60}{60}\selectfont \zorna{d}};
- \node at (30pt,210pt){\fontsize{60}{60}\selectfont \zorna{a}};  
- \node at (270pt,210pt){\fontsize{60}{60}\selectfont \zorna{b}};
- \draw[line width=2pt,double,color=MidnightBlue,
- fill=myblue!10,opacity=.5] (0,0) rectangle (300pt,240pt);
- \node[text width=240pt] at (150 pt,120 pt){%
-  \begin{center}
-    \color{MidnightBlue}
-      \fontsize{24}{48}
-    \selectfont tkz-euclide\\ 
-                tool for \\
-                Euclidean Geometry 
- \end{center}};
-\end{tikzpicture}}    
-} 
-\else
-\fi
-\makeatother
 
-\clearpage
-\tkzSetUpColors[background=white,text=darkgray]
-
-\let\rmfamily\ttfamily
-\nameoffile{\tkznameofpack}
 \defoffile{\lefthand\
-\tkzname{\tkznameofpack} 4.00 is now independent of tkz-base. It is a set of convenient macros for drawing in a plane (fundamental two-dimensional object) with a Cartesian coordinate system. It  handles the most classic situations in Euclidean Geometry. \tkzname{\tkznameofpack} 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 a high-level user interface  to build graphics  relatively simply.  The idea is to allow you to follow step by step a construction that would be done by hand as naturally as possible.\\
+From version 4.00, \tkzname{\tkznameofpack} became independent from  \tkzname{tkz-base} . This has implied some changes : the next major step will be the version 5 which will see the introduction of Lua. To prepare for this change, I removed the last macros that allowed to plot and define at the same time. Indeed Lua will be there to make all the calculations and define all the necessary nodes. As for \TIKZ\ , it will remain to carry out the tracings, the markings and the labels.\\
+\tkzname{\tkznameofpack} is a set of convenient macros for drawing in a plane (fundamental two-dimensional object) with a Cartesian coordinate system. It  handles the most classic situations in Euclidean Geometry. \tkzname{\tkznameofpack} 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 a high-level user interface  to build graphics  relatively simply.  The idea is to allow you to follow step by step a construction that would be done by hand as naturally as possible.\\
 English is  not my native language so there  might be some errors.
 }
 
@@ -240,53 +151,53 @@
 \newpage
 
 \part{General survey : a brief but comprehensive review}
-\include{TKZdoc-euclide-installation}
-\include{TKZdoc-euclide-presentation}
-\include{TKZdoc-euclide-elements}
-\include{TKZdoc-euclide-news}
-
+\input{TKZdoc-euclide-news.tex}
+\input{TKZdoc-euclide-installation.tex}
+\input{TKZdoc-euclide-presentation.tex}
+\input{TKZdoc-euclide-elements.tex}
+\input{TKZdoc-euclide-documentation.tex}
 \part{Setting}
-\include{TKZdoc-euclide-points}
+\input{TKZdoc-euclide-points.tex}
 
 \part{Calculating}
-\include{TKZdoc-euclide-pointsSpc}
-\include{TKZdoc-euclide-pointby}
-\include{TKZdoc-euclide-pointwith}
-\include{TKZdoc-euclide-lines}
-\include{TKZdoc-euclide-triangles}
-\include{TKZdoc-euclide-polygons}
-\include{TKZdoc-euclide-circles}
-\include{TKZdoc-euclide-circleby}
-\include{TKZdoc-euclide-intersec}
-\include{TKZdoc-euclide-angles}
-\include{TKZdoc-euclide-rnd}
+\input{TKZdoc-euclide-pointsSpc.tex}
+\input{TKZdoc-euclide-pointby.tex}
+\input{TKZdoc-euclide-pointwith.tex}
+\input{TKZdoc-euclide-lines.tex}
+\input{TKZdoc-euclide-triangles.tex}
+\input{TKZdoc-euclide-polygons}
+\input{TKZdoc-euclide-circles.tex}
+\input{TKZdoc-euclide-circleby.tex}
+\input{TKZdoc-euclide-intersection.tex}
+\input{TKZdoc-euclide-angles.tex}
+\input{TKZdoc-euclide-rnd.tex}
 
 \part{Drawing and Filling}
-\include{TKZdoc-euclide-drawing}
-\include{TKZdoc-euclide-filling}
-\include{TKZdoc-euclide-clipping}
+\input{TKZdoc-euclide-drawing.tex}
+\input{TKZdoc-euclide-filling.tex}
+\input{TKZdoc-euclide-clipping.tex}
 
 \part{Marking}
-\include{TKZdoc-euclide-marking}
+\input{TKZdoc-euclide-marking.tex}
 
 \part{Labelling}
-\include{TKZdoc-euclide-labelling}
+\input{TKZdoc-euclide-labelling.tex}
 
 \part{Complements}
-\include{TKZdoc-euclide-compass}
-\include{TKZdoc-euclide-show}
-\include{TKZdoc-euclide-rapporteur}
-\include{TKZdoc-euclide-tools}
+\input{TKZdoc-euclide-compass.tex}
+\input{TKZdoc-euclide-show.tex}
+\input{TKZdoc-euclide-rapporteur.tex}
+\input{TKZdoc-euclide-tools.tex}
 
 \part{Working with style}
-\include{TKZdoc-euclide-styles}
+\input{TKZdoc-euclide-styles.tex}
 
 \part{Examples}
-\include{TKZdoc-euclide-others}
-\include{TKZdoc-euclide-examples}
+\input{TKZdoc-euclide-others.tex}
+\input{TKZdoc-euclide-examples.tex}
 
 \part{FAQ}
-\include{TKZdoc-euclide-FAQ}
+\input{TKZdoc-euclide-FAQ.tex}
 
 \clearpage\newpage
 \small\printindex

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-marking.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-marking.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-marking.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -294,6 +294,7 @@
     \tkzDrawPoints(O,A,B)
 \end{tikzpicture}
 \end{tkzexample}
+
 \MakeShortVerb{\|}
 \begin{NewMacroBox}{tkzMarkAngles}{\oarg{local options}\parg{A,O,B}\parg{A',O',B'}etc.}%
 With common options, there is a macro for multiple angles.
@@ -355,7 +356,7 @@
   \tkzMarkRightAngle[german,size=.8,color=blue](B,H,C)
   \tkzFillAngle[opacity=.2,fill=blue!20,size=.8](B,H,C)
   \tkzLabelPoints(A,B,C,H)
-  \tkzDrawPoints(A,B,C)
+  \tkzDrawPoints(A,B,C,H)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -395,4 +396,57 @@
 With common options, there is a macro for multiple angles.
 \end{NewMacroBox}
 
+\subsection{Angles Library} % (fold)
+\label{sub:angles_library}
+
+If you prefer to use  \TIKZ\ library \tkzname{angles}, you can mark angles with the macro \tkzcname{tkzPicAngle} and \tkzcname{tkzPicRightAngle}.
+
+\begin{NewMacroBox}{tkzPicAngle}{\oarg{tikz options}\parg{A,O,B}}%
+  
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options             & example & definition         \\ 
+\midrule
+\TOline{tikz option}{see below}{drawing of the angle $\widehat{AOB}$.}
+\end{tabular} 
+\end{NewMacroBox}  
+
+\begin{NewMacroBox}{tkzPicRightAngle}{\oarg{tikz options}\parg{A,O,B}}%
+  
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options             & example & definition         \\ 
+\midrule
+\TOline{tikz option}{see below}{drawing of the right angle $\widehat{AOB}$.}
+\end{tabular} 
+
+\medskip
+\emph{You need to know possible options of the \tkzname{angles} library}
+\end{NewMacroBox} 
+
+\subsubsection{Angle with \TIKZ} % (fold)
+\label{ssub:angle_with_tikz}
+
+
+\begin{tkzexample}[latex=7cm,small]
+  \begin{tikzpicture}
+  \tkzDefPoints{0/0/A,4/0/B}
+  \tkzDefTriangle[right,swap](A,B) \tkzGetPoint{C}
+  \tkzDrawPolygon(A,B,C)
+  \tkzDrawPoints(A,B,C)
+  \tkzLabelPoints[below](B,A)
+  \tkzLabelPoints[above right](C)
+  \tkzPicAngle["$\alpha$",draw=orange,
+               <->,angle eccentricity=1.2,
+               angle radius=1cm](B,A,C)
+  \tkzPicRightAngle[draw,red,thick,
+                angle eccentricity=.5,
+                pic text=.](C,B,A)
+  \end{tikzpicture}
+\end{tkzexample}
+
+% subsubsection angle_with_tikz (end)
+% subsection angles_library (end)
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-news.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-news.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-news.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -1,21 +1,130 @@
-\section{News and compatibility}
+\section*{News and compatibility}
 
+\subsection{With 4.2 version} % (fold)
+\label{sub:with_4_2_version}
+
 Some changes have been made to make the syntax more homogeneous and especially to distinguish the definition and search for coordinates from the rest, i.e. drawing, marking and labelling.
-In the future, the definition macros being isolated, it will be easier to introduce a phase of coordinate calculations using \tkzimp{Lua}.
+Now the definition macros are isolated, it will be easier to introduce a phase of coordinate calculations using \tkzimp{Lua}.
 
+Here are some of the changes. 
+\vspace{1cm}
+ \begin{itemize}\setlength{\itemsep}{10pt} 
+  
 
+\item I recently discovered a problem when using the "scale" option. When plotting certain figures with certain tools, extensive use of |pgfmathreciprocal| involves small computational errors but can add up and render the figures unfit. Here is how to proceed to avoid these problems:
+\begin{enumerate}
+  
+  \item On my side I introduced a patch proposed by Muzimuzhi that modifies 
+|pgfmathreciprocal|;
 
-Here are some of the changes. I'm sorry but the list of changes and novelties is made in the greatest disorder!
+\item  Another idea proposed by Muzimuzhi is to pass as an option for the |tikzpicture| environment this |/pgf/fpu/install only={reciprocal}| after loading of course the |fpu| library;
 
+\item I have in the methods chosen to define my macros tried to avoid as much as possible the use of |pgfmathreciprocal|;
+
+\item  There is still a foolproof method which consists in avoiding the use of |scale = ...|. It's quite easy if, like me, you only work with fixed points fixed at the beginning of your code. The size of your figure depends only on these fixed points so you just have to adapt the coordinates of these.
+\end{enumerate}
+
+\item Now |\tkzDefCircle| gives two points as results: the center of the circle and a point of the circle. When a point of the circle is known, it is enough to use |\tkzGetPoint| or |\tkzGetFirstPoint|
+to get the center, otherwise |\tkzGetPoints| will give you the center and a point of the circle. You can always get the length of the radius with |\tkzGetLength|. I wanted to favor working with nodes and banish the appearance of numbers in the code.
+
+\item  In order to isolate the definitions, I deleted or modified certain macros which are: |\tkzDrawLine|, |\tkzDrawTriangle|, |\tkzDrawCircle|, |\tkzDrawSemiCircle| and  |\tkzDrawRectangle|;
+
+Thus |\tkzDrawSquare(A,B)| becomes |\tkzDefSquare(A,B)||\tkzGetPoints{C}{D}| then
+
+ |\tkzDrawPolygon(A,B,C,D)|;
+
+If you want to draw a circle, you can't do so |\tkzDrawCircle[R](A,1)|. First you have to define the point through which the circle passes, so you have to do 
+|\tkzDefCircle[R](A,1)| |\tkzGetPoint{a}| and finally |\tkzDrawCircle(A,a)|. Another possibilty is to define a point on the circle |\tkzDefShiftPoint[A](1,O){a}|;
+
+
+\item The following macros  |tkzDefCircleBy[orthogonal through]| and |\tkzDefCircleBy[orthogonal from]| become |tkzDefCircle[orthogonal through]| and |\tkzDefCircle[orthogonal from]| ;
+
+
+\item |\tkzDefLine[euler](A,B,C)| is a macro that allows you to obtain the line of \tkzname{Euler} when possible. |\tkzDefLine[altitude](A,B,C)| is possible again, as well as |\tkzDefLine[tangent at=A](O)| and |\tkzDefLine[tangent from=P](O,A)| which did not works;
+
+
+\item | \tkzDefTangent| is replaced by |\tkzDelLine[tangent from = ...]| or |\tkzDelLine[tangent at = ...]|
+
+
+\item I added the macro |\tkzPicAngle[tikz options](A,B,C)| for those who prefer to use  \TIKZ\ .
+
+\item 
+The order of the arguments of the macro \tkzcname{tkzDefPointOnCircle} has changed: now it is center, angle and point or radius.
+I have added two options for working with radians which are \tkzname{through in rad} and \tkzname{R in rad}.
+
+
+\item I added the option \tkzname{reverse} to the arcs paths. This allows to reverse the path and to reverse if necessary the arrows that would be present.
+
+
+\item I have unified the styles for the labels. There is now only \tkzname{label style} left which is valid for points, segments, lines, circles and angles. I have deleted \tkzname{label seg style} \tkzname{label line style} and \tkzname{label angle style}
+
+\item I added the macro |tkzFillAngles| to use several angles.
+
+\item Correction option \tkzname{return} witk \tkzcname{tkzProtractor}
+
+As a reminder, the following changes have been made previously:
+  
+ \item  |\tkzDrawMedian|, |\tkzDrawBisector|, |\tkzDrawAltitude|, |\tkzDrawMedians|, |\tkzDrawBisectors| et  |\tkzDrawAltitudes| do not exist anymore. The creation and drawing separation is not respected so it is preferable to first create the coordinates of these points with |\tkzDefSpcTriangle[median]| and then to choose the ones you are going to draw with |\tkzDrawSegments| or |\tkzDrawLines|;
+ 
+\item |\tkzDrawTriangle| has been deleted.  |\tkzDrawTriangle[equilateral]| was handy but it is better to get the third point with |\tkzDefTriangle[equilateral]| and then draw with |\tkzDrawPolygon|; idem for |\tkzDrawSquare| and |\tkzDrawGoldRectangle|; 
+
+
+\item The circle inversion was badly defined so I rewrote the macro. The input arguments are always the center and a point of the circle, the output arguments are the center of the image circle and a point of the image circle or two points of the image line if the antecedent circle passes through the pole of the inversion. If the circle passes the inversion center, the image is a straight line, the validity of the procedure depends on the choice of the point on the antecedent circle; 
+
+\item Correct allocation for gold sublime and euclide triangles;
+
+
+\item I added the option " next to" for the intersections LC and CC;
+
+
+\item Correction option isoceles right;
+
+
+\item |\tkzDefMidArc(O,A,B)| gives the middle of the arc center $O$ from $A$ to $B$; 
+
+\item Good news : Some useful tools have been added. They are present on an experimental basis and will undoubtedly need to be improved;
+
+
+\item The options "orthogonal from and through" depend now of \tkzcname{tkzDefCircleBy}
+
+\begin{enumerate}
+  
+  \item |\tkzDotProduct(A,B,C)| computes the scalar product in an orthogonal reference system of the vectors $\overrightarrow{A,B}$ and $\overrightarrow{A,C}$. 
+  
+  |\tkzDotProduct(A,B,C)=aa'+bb' if vec{AB} =(a,b) and vec{AC} =(a',b')|
+  
+  
+  \item |\tkzPowerCircle(A)(B,C)| power of point $A$ with respect to the circle of center $B$ passing through $C$;
+  
+  
+  \item |\tkzDefRadicalAxis(A,B)(C,D)| Radical axis of two circles of center $A$ and $C$;
+  
+  
+  \item Some tests : |\tkzIsOrtho(A,B,C)| and |\tkzIsLinear(A,B,C)| The first indicates whether the lines $(A,B)$ and $(A,C)$ are orthogonal. The second indicates whether the points $A$, $B$ and $C$ are aligned;
+
+ |\tkzIsLinear(A,B,C)| if $A$,$B$,$C$ are aligned then |\tkzLineartrue|
+  you can use |\iftkzLinear| (idem for |\tkzIsOrtho|);
+
+\item A style for vectors has been added that you can of course modify
+|tikzset{vector style/.style={>=Latex,->}}|;
+
+
+\item Now it's possible to add an arrow on a line or a circle with the option |tkz arrow|. 
+\end{enumerate}
+\end{itemize}
+
+% subsection with_4_2_version (end)
+\subsection{Changes with previous versions} % (fold)
+\label{sub:changes_with_previous_versions}
+
 \vspace{1cm}
  \begin{itemize}\setlength{\itemsep}{10pt} 
-   
-\item An important novelty is the recent replacement of the \tkzNamePack{fp} package by \tkzNamePack{xfp}.  This is to improve the calculations a little bit more and to make it easier to use;
 
-\item Improved code and bug fixes;
+\item I remind you that an important  novelty is the recent replacement of the \tkzNamePack{fp} package by \tkzNamePack{xfp}.  This is to improve the calculations a little bit more and to make it easier to use;
 
-\item First of all, you don’t have to deal with Tik Z the size of the bounding box. Early versions of \tkzname{\tkznameofpack} did not control the size of the bounding box, The bounding box is now controlled in each macro (hopefully) to avoid the use of \tkzcname{tkzInit} followed by \tkzcname{tkzClip};
 
+\item First of all, you don’t have to deal with \TIKZ\ the size of the bounding box. Early versions of \tkzname{\tkznameofpack} did not control the size of the bounding box, The bounding box is now controlled in each macro (hopefully) to avoid the use of \tkzcname{tkzInit} followed by \tkzcname{tkzClip};
+
 \item  With \tkzimp{tkz-euclide} loads all objects, so there's no need to place \tkzcname{usetkzobj\{all\}};
 
 \item Added macros for the bounding box: \tkzcname{tkzSaveBB} \tkzcname{tkzClipBB} and so on;
@@ -37,15 +146,11 @@
 
 \item  The notion of vector disappears, to draw a vector just pass "->" as an option to \tkzcname{tkzDrawSegment};
 
-\item |\tkzDrawMedian|, |\tkzDrawBisector|, |\tkzDrawAltitude|, |\tkzDrawMedians|, |\tkzDrawBisectors| et  |\tkzDrawAltitudes| do not exist anymore. The creation and drawing separation is not respected so it is preferable to first create the coordinates of these points with |\tkzDefSpcTriangle[median]| and then to choose the ones you are going to draw with |\tkzDrawSegments| or |\tkzDrawLines|;
 
-\item |\tkzDefIntSimilitudeCenter| and |\tkzDefExtSimilitudeCenter|  do not exist anymore;
+\item |\tkzDefIntSimilitudeCenter| and |\tkzDefExtSimilitudeCenter|  do not exist anymore, now you need to use  |\tkzDefSimilitudeCenter[int]| or |\tkzDefSimilitudeCenter[ext]|;
   
-\item |\tkzDrawTriangle| has been deleted.  |\tkzDrawTriangle[equilateral]| was handy but it is better to get the third point with |\tkzDefTriangle[equilateral]| and then draw with |\tkzDrawPolygon|; idem for |\tkzDrawSquare| and |\tkzDrawGoldRectangle|;
-  
 \item |\tkzDefRandPointOn| is replaced by |\tkzGetRandPointOn|;
 
-\item now |\tkzTangent| is replaced by |\tkzDefTangent|;
 
 \item An option of the macro \tkzcname{tkzDefTriangle} has changed, in the previous version the option was "euclide" with an "e". Now it's "euclid";
 
@@ -62,5 +167,6 @@
 
 \item The styles can be modified with the help of the following macros : \tkzcname{tkzSetUpPoint}, \tkzcname{tkzSetUpLine}, \tkzcname{tkzSetUpArc}, \tkzcname{tkzSetUpCompass}, \tkzcname{tkzSetUpLabel} and \tkzcname{tkzSetUpStyle}. The last one allows you to create a new style.
 \end{itemize}
+% subsection changes_with_previous_versions (end)
 
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-others.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-others.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-others.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -61,11 +61,11 @@
   \tkzGetPoint{B}
   \tkzDefPointBy[rotation=center O angle -50](N)
   \tkzGetPoint{A}
-  \tkzInterLC(M,B)(O,N) \tkzGetFirstPoint{C}
-  \tkzInterLC(M,A)(O,N) \tkzGetSecondPoint{A'}
+  \tkzInterLC[common=B](M,B)(O,B) \tkzGetFirstPoint{C}
+  \tkzInterLC[common=A](M,A)(O,A) \tkzGetFirstPoint{A'}
   \tkzMarkAngle[mkpos=.2, size=0.5](A,C,B)
   \tkzMarkAngle[mkpos=.2, size=0.5](A,M,C)
-  \tkzDrawSegments(A,C M,A M,B)
+  \tkzDrawSegments(A,C M,A M,B A,B)
   \tkzDrawCircle(O,N)
   \tkzLabelCircle[above left](O,N)(120){%
                  $\mathcal{C}$}
@@ -131,10 +131,10 @@
 \end{tkzexample}
 
 \subsection{Example 2: from Indonesia}
-\begin{tkzexample}[vbox,small]
-  \begin{tikzpicture}[pol/.style={fill=brown!40,opacity=.5},
+\begin{tkzexample}[vbox,overhang,small]
+  \begin{tikzpicture}[pol/.style={fill=brown!40,opacity=.2},
       seg/.style={tkzdotted,color=gray}, hidden pt/.style={fill=gray!40},
-       mra/.style={color=gray!70,tkzdotted,/tkzrightangle/size=.2},scale=1.5]
+       mra/.style={color=gray!70,tkzdotted,/tkzrightangle/size=.2},scale=2]
   \tkzDefPoints{0/0/A,2.5/0/B,1.33/0.75/D,0/2.5/E,2.5/2.5/F}
   \tkzDefLine[parallel=through D](A,B)  \tkzGetPoint{I1}
   \tkzDefLine[parallel=through B](A,D)  \tkzGetPoint{I2}
@@ -277,44 +277,7 @@
 };
 \end{tikzpicture}
 
-\begin{tikzpicture}
-  \tkzDefPoint(0,0){A} \tkzDefPoint(4,1){B}
-  \tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{D}
-  \tkzInterLC(A,B)(B,A) \tkzGetPoints{F}{E}
-  \tkzDrawCircles[dashed](A,B B,A)
-  \tkzDrawPolygons(A,B,C A,E,D)
-
-  \tkzCompasss[color=red, very thick](A,C B,C A,D B,D)
-  \begin{scope}
-    \tkzSetUpArc[thick,delta=0]
-    \tkzDrawArc[fill=blue!10](A,B)(C)
-    \tkzDrawArc[fill=blue!10](B,C)(A)
-    \tkzDrawArc[fill=blue!10](C,A)(B)
-  \end{scope}
-  \tkzMarkAngles(D,A,E A,E,D)
-  \tkzFillAngles[fill=yellow,opacity=0.5](D,A,E A,E,D) 
-  \tkzMarkRightAngle[size=0.65,fill=red!20,opacity=0.2](A,D,E)
-  
-  \tkzLabelAngle[pos=0.7](D,A,E){$\alpha$}
-  \tkzLabelAngle[pos=0.8](A,E,D){$\beta$}
-  \tkzLabelAngle[pos=0.5,xshift=-1.4mm](A,D,D){$90^\circ$}
-  \begin{scope}[font=\small]
-    \tkzLabelSegment[below=0.6cm,align=center](A,B){Reuleaux\\triangle}
-    \tkzLabelSegment[above right,sloped](A,E){hypotenuse}
-    \tkzLabelSegment[below,sloped](D,E){opposite}
-    \tkzLabelSegment[below,sloped](A,D){adjacent}
-    \tkzLabelSegment[below right=4cm](A,E){Thales circle}
-  \end{scope}
-
-  \tkzLabelPoints[below left](A)
-  \tkzLabelPoints(B,D)
-  \tkzLabelPoint[above](C){$C$}
-  \tkzLabelPoints(E)
-  \tkzDrawPoints(A,...,E)
-
-\end{tikzpicture}
-
-\begin{tkzexample}[code only,small]
+\begin{tkzexample}[vbox,small]
   \begin{tikzpicture}
     \tkzDefPoint(0,0){A} \tkzDefPoint(4,1){B}
     \tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{D}

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointby.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointby.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointby.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -1,4 +1,4 @@
-\section{Definition of points by transformation : \tkzcname{tkzDefPointBy} }
+\section{Definition of points by transformation}
 These transformations are:
 
 \begin{itemize}
@@ -11,11 +11,13 @@
    \item inversion with respect to a circle.
 \end{itemize}
 
+\subsection{\tkzcname{tkzDefPointBy}}
 The choice of transformations is made through the options. There are two macros, one for the transformation of a single point \tkzcname{tkzDefPointBy} and the other for the transformation of a list of points \tkzcname{tkzDefPointsBy}. By default the image of $A$ is $A'$. For example, we'll write:
 \begin{tkzltxexample}[]
 \tkzDefPointBy[translation= from A to A'](B) 
 \end{tkzltxexample}
 The result is in \tkzname{tkzPointResult}
+
 \medskip
 \begin{NewMacroBox}{tkzDefPointBy}{\oarg{local options}\parg{pt}}%
 The argument is a simple existing point and its image is stored in \tkzname{tkzPointResult}. If you want to keep this point then the macro \tkzcname{tkzGetPoint\{M\}} allows you to assign the name \tkzname{M} to the point.
@@ -44,11 +46,11 @@
 \bottomrule
 \end{tabular}
 
-The image is only defined and not drawn.
+\medskip
+\emph{The image is only defined and not drawn.}
 \end{NewMacroBox} 
 
-\subsection{Examples of transformations}
-\subsubsection{translation} 
+\subsubsection{\tkzname{translation}} 
 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[>=latex] 
@@ -61,7 +63,7 @@
 \end{tikzpicture} 
 \end{tkzexample}
 
-\subsubsection{reflection (orthogonal symmetry)} 
+\subsubsection{\tkzname{reflection} (orthogonal symmetry)} 
 
 \begin{tkzexample}[latex=7cm,small] 
 \begin{tikzpicture}[scale=.75]
@@ -217,7 +219,6 @@
 \begin{tkzexample}[latex=6cm,small]
 \begin{tikzpicture}[scale=.5]
   \tkzDefPoints{4/0/A,6/0/P,0/0/O}
-  \tkzDefCircle(O,A)
   \tkzDefPointBy[inversion = center O through A](P)
   \tkzGetPoint{P'}
   \tkzDrawSegments(O,P)
@@ -230,10 +231,9 @@
 \begin{tkzexample}[latex=6cm,small]
 \begin{tikzpicture}[scale=.5]
   \tkzDefPoints{4/0/A,6/0/P,0/0/O}
-  \tkzDefCircle(O,A)
   \tkzDefLine[orthogonal=through P](O,P)
   \tkzGetPoint{L}
-  \tkzDefTangent[from = P](O,A) \tkzGetPoints{R}{Q}
+  \tkzDefLine[tangent from = P](O,A) \tkzGetPoints{R}{Q}
   \tkzDefPointBy[projection=onto O--A](Q) \tkzGetPoint{P'}
   \tkzDrawSegments(O,P O,A)
   \tkzDrawSegments[new](O,P O,Q P,Q Q,P')
@@ -252,7 +252,7 @@
 \end{tkzexample} 
 
 
-\subsubsection{Inversion of lines}
+\subsubsection{\tkzname{Inversion of lines} ex 1}
 \begin{tkzexample}[latex=6cm,small]  
 \begin{tikzpicture}[scale=.5]
 \tkzDefPoints{0/0/O,3/0/I,4/3/P,6/-3/Q}
@@ -262,7 +262,8 @@
 \tkzGetPoint{A'}
 \tkzDefPointBy[inversion = center O through I](P)
 \tkzGetPoint{P'}
-\tkzDrawCircle[new,diameter](O,A')
+\tkzDefCircle[diameter](O,A')\tkzGetPoint{o}
+\tkzDrawCircle[new](o,A')
 \tkzDrawLines[add=.25 and .25,red](P,Q)
 \tkzDrawLines[add=.25 and .25](O,A)
 \tkzDrawSegments(O,P)
@@ -270,6 +271,7 @@
 \end{tikzpicture}
 \end{tkzexample} 
 
+\subsubsection{\tkzname{inversion of lines} ex 2}
 \begin{tkzexample}[latex=6cm,small]  
 \begin{tikzpicture}[scale=.5]
 \tkzDefPoints{0/0/O,3/0/I,3/2/P,3/-2/Q}
@@ -279,7 +281,8 @@
 \tkzGetPoint{A'}
 \tkzDefPointBy[inversion = center O through I](P)
 \tkzGetPoint{P'}
-\tkzDrawCircle[new,diameter](O,A')
+\tkzDefCircle[diameter](O,A')\tkzGetPoint{o}
+\tkzDrawCircle[new](o,A')
 \tkzDrawLines[add=.25 and .25,red](P,Q)
 \tkzDrawLines[add=.25 and .25](O,A)
 \tkzDrawSegments(O,P)
@@ -287,6 +290,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
+\subsubsection{\tkzname{inversion of lines} ex 3}
 \begin{tkzexample}[latex=6cm,small]  
 \begin{tikzpicture}[scale=.5]
 \tkzDefPoints{0/0/O,3/0/I,2/1/P,2/-2/Q}
@@ -296,7 +300,8 @@
 \tkzGetPoint{A'}
 \tkzDefPointBy[inversion = center O through I](P)
 \tkzGetPoint{P'}
-\tkzDrawCircle[new,diameter](O,A')
+\tkzDefCircle[diameter](O,A')
+\tkzDrawCircle[new](I,A')
 \tkzDrawLines[add=.25 and .75,red](P,Q)
 \tkzDrawLines[add=.25 and .25](O,A')
 \tkzDrawSegments(O,P')
@@ -304,31 +309,31 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-
-\subsubsection{Inversion of circle}
-\begin{tkzexample}[latex=6cm,small] 
-\begin{tikzpicture}[scale=.5]
+\subsubsection{\tkzname{inversion} of circle and \tkzname{homothety} }
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.75]
 \tkzDefPoints{0/0/O,3/2/A,2/1/P}
-\tkzDefTangent[from = O](A,P) \tkzGetPoints{T}{X}
-\tkzDefPointsBy[homothety=center O ratio 1.25](A,P,T){}
-\tkzInterCC(A,P)(A',P') \tkzGetPoints{C}{D} 
+\tkzDefLine[tangent from = O](A,P) \tkzGetPoints{T}{X}
+\tkzDefPointsBy[homothety = center O%
+                ratio 1.25](A,P,T){}
+\tkzInterCC(A,P)(A',P') \tkzGetPoints{C}{D}
 \tkzCalcLength(A,P)
 \tkzGetLength{rAP}
-\tkzDefPointOnCircle[R= angle 190 center A radius \rAP]
+\tkzDefPointOnCircle[R=  center A angle 190 radius \rAP]
 \tkzGetPoint{M}
 \tkzDefPointBy[inversion = center O through C](M)
 \tkzGetPoint{M'}
-\tkzDrawCircles(A,P A',P')
+\tkzDrawCircles[new](A,P A',P')
 \tkzDrawCircle(O,C)
 \tkzDrawLines[add=0 and .5](O,T' O,A' O,M' O,P')
 \tkzDrawPoints(A,A',P,P',O,T,T',M,M')
-\tkzLabelPoints(O,T,T')
-\tkzLabelPoints[above left](M,M')
+\tkzLabelPoints(O,T,T',M,M')
 \tkzLabelPoints[below](P,P')
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{Inversion of Triangle  with respect to the Incircle}
+
+\subsubsection{\tkzname{inversion} of Triangle  with respect to the Incircle}
 \begin{tkzexample}[latex=6cm,small] 
 \begin{tikzpicture}[scale=1]
 \tkzDefPoints{0/0/A,5/1/B,3/6/C}
@@ -348,15 +353,15 @@
 \tkzDrawPolygon(A,B,C)
 \tkzDrawCircle(O,b)\tkzDrawPoints(A,B,C,O)
 \tkzDrawCircles[dashed,gray](Ja,y Jb,x Jc,z)
-\tkzDrawArc[line width=1pt,orange](Jb,x)(z)
-\tkzDrawArc[line width=1pt,orange](Jc,z)(y)
-\tkzDrawArc[line width=1pt,orange](Ja,y)(x)
+\tkzDrawArc[line width=1pt,orange,delta=0](Jb,x)(z)
+\tkzDrawArc[line width=1pt,orange,delta=0](Jc,z)(y)
+\tkzDrawArc[line width=1pt,orange,delta=0](Ja,y)(x)
 \tkzLabelPoint[below](A){$A$}\tkzLabelPoint[above](C){$C$}
 \tkzLabelPoint[right](B){$B$}\tkzLabelPoint[below](O){$O$}
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{Inversion: orthogonal circle with inversion circle} 
+\subsubsection{\tkzname{inversion}: orthogonal circle with inversion circle} 
 The inversion circle itself, circles orthogonal to it, and lines through the inversion center are invariant under inversion. If the circle meets the reference circle, these invariant points of intersection are also on the inverse circle. See I and J in the next figure.
 
 \begin{tkzexample}[latex=5cm,small]
@@ -364,7 +369,7 @@
 \tkzDefPoint(0,0){O}\tkzDefPoint(1,0){A}
 \tkzDefPoint(-1.5,-1.5){z1} 
 \tkzDefPoint(1.5,-1.25){z2} 
-\tkzDefCircleBy[orthogonal through=z1 and z2](O,A)
+\tkzDefCircle[orthogonal through=z1 and z2](O,A)
 \tkzGetPoint{c} 
 \tkzDrawCircle[new](c,z1) 
 \tkzDefPointBy[inversion =  center O through A](z1)
@@ -379,28 +384,6 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{\tkzname{Inversion} and \tkzname{homothety} }
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.75]
-\tkzDefPoints{0/0/O,3/2/A,2/1/P}
-\tkzDefTangent[from = O](A,P) \tkzGetPoints{T}{X}
-\tkzDefPointsBy[homothety = center O%
-                ratio 1.25](A,P,T){}
-\tkzInterCC(A,P)(A',P') \tkzGetPoints{C}{D}
-\tkzCalcLength(A,P)
-\tkzGetLength{rAP}
-\tkzDefPointOnCircle[R= angle 190 center A radius \rAP]
-\tkzGetPoint{M}
-\tkzDefPointBy[inversion = center O through C](M)
-\tkzGetPoint{M'}
-\tkzDrawCircles[new](A,P A',P')
-\tkzDrawCircle(O,C)
-\tkzDrawLines[add=0 and .5](O,T' O,A' O,M' O,P')
-\tkzDrawPoints(A,A',P,P',O,T,T',M,M')
-\tkzLabelPoints(O,T,T',M,M')
-\tkzLabelPoints[below](P,P')
-\end{tikzpicture}
-\end{tkzexample}
 
 
 For a more complex example see \tkzname{Pappus} \ref{pappus}
@@ -477,7 +460,7 @@
 The points are only defined and not drawn.
 \end{NewMacroBox}
 
-\subsubsection{Example of translation}
+\subsubsection{\tkzname{translation} of multiple points}
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[>=latex] 
  \tkzDefPoints{0/0/A,3/0/B,3/1/A',1/2/C}
@@ -493,7 +476,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{Example of symmetry: an oval}
+\subsubsection{\tkzname{symmetry} of multiple points: an oval}
 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=0.4]

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-points.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-points.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-points.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -48,7 +48,7 @@
   \tkzDefPoints{0/0/O,1/0/I,0/1/J}
   \tkzDefPoint(3,4){A} 
   \tkzDrawPoints(O,A) 
-  \tkzLabelPoint(A){$A_1 (x_1,y_1)$} 
+  \tkzLabelPoint[above](A){$A_1 (x_1,y_1)$} 
   \tkzShowPointCoord[xlabel=$x_1$,
                      ylabel=$y_1$](A) 
   \tkzLabelPoints(O,I)
@@ -73,7 +73,7 @@
   \tkzFillAngle[opacity=.5](I,O,P) 
   \tkzLabelAngle[pos=1.25](I,O,P){%
                               $\alpha$}  
-  \tkzLabelPoint(P){$P  (\alpha : d )$} 
+  \tkzLabelPoint[right](P){$P  (\alpha : d )$} 
   \tkzDrawPoints[shape=cross](I,J) 
   \tkzLabelPoints(O,I)
   \tkzLabelPoints[left](J) 
@@ -89,7 +89,7 @@
   \tkzDefPoints{0/0/O,1/0/I,0/1/J}
   \tkzDefPoint(3,4){A} 
   \tkzDrawPoints(O,A) 
-  \tkzLabelPoint(A){$A_1 (x_1,y_1)$} 
+  \tkzLabelPoint[above](A){$A_1 (x_1,y_1)$} 
   \tkzShowPointCoord[xlabel=$x_1$,ylabel=$y_1$](A) 
   \tkzLabelPoints(O,I)
   \tkzLabelPoints[left](J)
@@ -109,7 +109,7 @@
   \tkzMarkAngle[mark=none,->](I,O,P) 
   \tkzFillAngle[opacity=.5](I,O,P) 
   \tkzLabelAngle[pos=1.25](I,O,P){$\alpha$}  
-  \tkzLabelPoint(P){$P  (\alpha : d )$} 
+  \tkzLabelPoint[right](P){$P  (\alpha : d )$} 
   \tkzDrawPoints[shape=cross](I,J) 
   \tkzLabelPoints(O,I)
   \tkzLabelPoints[left](J) 
@@ -129,7 +129,7 @@
 \end{tabular}
 
 \medskip
-The obligatory arguments of this macro are two dimensions expressed with decimals, in the first case they are two measures of length, in the second case they are a measure of length and the measure of an angle in degrees. Do not confuse the reference with the name of a point. The reference is used by calculations, but frequently, the name is identical to the reference.
+\emph{The obligatory arguments of this macro are two dimensions expressed with decimals, in the first case they are two measures of length, in the second case they are a measure of length and the measure of an angle in degrees. Do not confuse the reference with the name of a point. The reference is used by calculations, but frequently, the name is identical to the reference.}
 
 \medskip
 \begin{tabular}{lll}%
@@ -228,7 +228,7 @@
  \tkzDrawSegments(A,B B,C C,A)
  \tkzMarkSegments[mark=|](A,B A,C)
  \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(B,C)
+ \tkzLabelPoints[right](B,C)
  \tkzLabelPoints[above left](A)
 \end{tikzpicture}
 \end{tkzexample}
@@ -243,7 +243,7 @@
  \tkzDefShiftPoint[A](-30:3){C}
  \tkzDrawPolygon(A,B,C)
  \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(B,C)
+ \tkzLabelPoints[right](B,C)
  \tkzLabelPoints[above left](A)
  \tkzMarkSegments[mark=|](A,B A,C B,C)
 \end{tikzpicture}

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointsSpc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointsSpc.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointsSpc.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -120,7 +120,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Golden ratio}
+\subsection{\tkzname{Golden ratio} \tkzcname{tkzDefGoldenRatio}}
 From Wikipedia : In mathematics, two quantities are in the golden ratio if their ratio is the same as the ratio of their sum to the larger of the two quantities. Expressed algebraically, for quantities $a$, $b$ such as $a > b > 0$; $a+b$ is to $a$ as $a$ is to $b$.
 
 $ \frac{a+b}{a} = \frac{a}{b} = \phi = \frac{1 + \sqrt{5}}{2}$
@@ -154,8 +154,21 @@
 \end{tikzpicture}
 \end{tkzexample}
 
+\subsubsection{Golden arbelos}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.6]
+\tkzDefPoints{0/0/A,10/0/B}
+\tkzDefGoldenRatio(A,B)     \tkzGetPoint{C}
+\tkzDefMidPoint(A,B)        \tkzGetPoint{O_1}
+\tkzDefMidPoint(A,C)        \tkzGetPoint{O_2}
+\tkzDefMidPoint(C,B)        \tkzGetPoint{O_3}
+\tkzDrawSemiCircles[fill=purple!15](O_1,B)
+\tkzDrawSemiCircles[fill=teal!15](O_2,C O_3,B)
+\end{tikzpicture}
+\end{tkzexample}
+
 It is also possible to use the following macro.
-\subsection{Barycentric coordinates }
+\subsection{\tkzname{Barycentric coordinates} with \tkzcname{tkzDefBarycentricPoint}}
 
 $pt_1$, $pt_2$, \dots, $pt_n$ being $n$ points, they define $n$ vectors $\overrightarrow{v_1}$, $\overrightarrow{v_2}$, \dots, $\overrightarrow{v_n}$ with the origin of the referential as the common endpoint. $\alpha_1$, $\alpha_2$,
 \dots $\alpha_n$ are $n$ numbers, the vector obtained by:
@@ -174,11 +187,11 @@
 \end{tabular}
 
 \medskip
-You need at least two points. Result in \tkzname{tkzPointResult}.
+\emph{You need at least two points. Result in \tkzname{tkzPointResult}.}
 \end{NewMacroBox}
 
 
-\subsubsection{Using \tkzcname{tkzDefBarycentricPoint} with two points}
+\subsubsection{with two points}
 In the following example, we obtain the barycenter of points $A$ and $B$ with coefficients $1$ and $2$, in other words:
 \[
   \overrightarrow{AI}= \frac{2}{3}\overrightarrow{AB}
@@ -196,7 +209,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{Using \tkzcname{tkzDefBarycentricPoint} with three points}
+\subsubsection{with three points}
 This time $M$ is simply the center of gravity of the triangle.
 
  For reasons of simplification and homogeneity, there is also \tkzcname{tkzCentroid}.
@@ -210,16 +223,17 @@
   \tkzDefMidPoint(C,B)  \tkzGetPoint{A'}
   \tkzDrawPolygon(A,B,C)
   \tkzDrawLines[add=0 and 1,new](A,G B,G C,G)
-  \tkzLabelPoint(G){$G$}
   \tkzDrawPoints[new](A',B',C',G)
   \tkzDrawPoints(A,B,C)
+  \tkzLabelPoint[above right](G){$G$}
   \tkzAutoLabelPoints[center=G](A,B,C)
-  \tkzAutoLabelPoints[center=G,above right](A',B',C')
+  \tkzLabelPoints[above right](A')
+  \tkzLabelPoints[below](B',C')
 \end{tikzpicture}
 \end{tkzexample}
 
 
-\subsection{Internal and external Similitude Center}
+\subsection{\tkzname{Internal and external Similitude Center}}
 The centers of the two homotheties in which two circles correspond are called external and internal centers of similitude. You can use \tkzcname{tkzDefIntSimilitudeCenter} and \tkzcname{tkzDefExtSimilitudeCenter} but the next macro is better.
 
 \begin{NewMacroBox}{tkzDefSimilitudeCenter}{\oarg{options}\parg{O,A}\parg{O',B} or \parg{O,r}\parg{O',r'}}%
@@ -249,21 +263,42 @@
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=.75]
  \tkzDefPoints{0/0/O,4/-5/A,3/0/B,5/-5/C}
-\tkzDefSimilitudeCenter[int](O,B)(A,C)  \tkzGetPoint{I}
- \tkzDefSimilitudeCenter[ext](O,B)(A,C) \tkzGetPoint{J}
- \tkzDefTangent[from = I](O,B)       \tkzGetPoints{D}{E}
- \tkzDefTangent[from = I](A,C)     \tkzGetPoints{D'}{E'}
- \tkzDefTangent[from = J](O,B)       \tkzGetPoints{F}{G}
- \tkzDefTangent[from = J](A,C)    
+\tkzDefSimilitudeCenter[int](O,B)(A,C)    \tkzGetPoint{I}
+ \tkzDefSimilitudeCenter[ext](O,B)(A,C)   \tkzGetPoint{J}
+ \tkzDefLine[tangent from = I](O,B)       \tkzGetPoints{D}{E}
+ \tkzDefLine[tangent from = I](A,C)       \tkzGetPoints{D'}{E'}
+ \tkzDefLine[tangent from = J](O,B)       \tkzGetPoints{F}{G}
+ \tkzDefLine[tangent from = J](A,C)    
  \tkzGetPoints{F'}{G'}
  \tkzDrawCircles(O,B A,C)               
  \tkzDrawSegments[add = .5 and .5,new](D,D' E,E')
  \tkzDrawSegments[add= 0 and 0.25,new](J,F J,G)
  \tkzDrawPoints(O,A,I,J,D,E,F,G,D',E',F',G')
- \tkzLabelPoints[font=\scriptsize](O,A,I,J,D,E,F,G,D',E',F',G')
 \end{tikzpicture}
 \end{tkzexample}
 
+\subsubsection{D'Alembert Theorem} % (fold)
+\label{ssub:d_alembert_theorem}
+
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}[scale=.6,rotate=90]
+ \tkzDefPoints{0/0/A,3/0/a,7/-1/B,5.5/-1/b}
+ \tkzDefPoints{5/-4/C,4.25/-4/c}
+ \tkzDrawCircles(A,a B,b C,c)
+ \tkzDefExtSimilitudeCenter(A,a)(B,b) \tkzGetPoint{I}
+ \tkzDefExtSimilitudeCenter(A,a)(C,c) \tkzGetPoint{J}
+ \tkzDefExtSimilitudeCenter(C,c)(B,b) \tkzGetPoint{K}
+ \tkzDefIntSimilitudeCenter(A,a)(B,b) \tkzGetPoint{I'}
+ \tkzDefIntSimilitudeCenter(A,a)(C,c) \tkzGetPoint{J'}
+ \tkzDefIntSimilitudeCenter(C,c)(B,b) \tkzGetPoint{K'}
+ \tkzDrawPoints(A,B,C,I,J,K,I',J',K')
+ \tkzDrawSegments[new](I,K A,I A,J B,I B,K C,J C,K)
+ \tkzDrawSegments[new](I,J' I',J I',K)
+ \end{tikzpicture}
+\end{tkzexample}
+
+% subsubsection d_alembert_theorem (end)
+
 You can  use \tkzcname{tkzDefBarycentricPoint} to find a homothetic center
 
 |\tkzDefBarycentricPoint(O=\r,A=\R)     \tkzGetPoint{I}| \\
@@ -280,12 +315,11 @@
  \tkzDrawCircles(A,B C,B)   
  \tkzDrawSegments[add= 0 and 0.25,cyan](J,F J,G)
  \tkzDrawPoints(A,J,F,G,F',G')
- \tkzLabelPoints[font=\scriptsize](A,J,F,G,F',G')
 \end{tikzpicture}
 \end{tkzexample}
 \newpage
 %<---------------------------------------------------------------------->
-\subsection{ Harmonic division}
+\subsection{ \tkzname{Harmonic division} with \tkzcname{tkzDefHarmonic}}
 %<---------------------------------------------------------------------->
 
 \begin{NewMacroBox}{tkzDefHarmonic}{\oarg{options}\parg{pt1,pt2,pt3} or \parg{pt1,pt2}}%
@@ -311,6 +345,29 @@
   \end{tikzpicture}
 \end{tkzexample}
 
+\subsubsection{Bisector and harmonic division} % (fold)
+\label{ssub:bisector_and_harmonic_division}
+
+\begin{tkzexample}[vbox,small]
+  \begin{tikzpicture}[scale=1.25]
+  \tkzDefPoints{0/0/A,4/0/C,5/3/X}
+  \tkzDefLine[bisector](A,X,C) \tkzGetPoint{x}
+  \tkzInterLL(X,x)(A,C)        \tkzGetPoint{B}
+  \tkzDefHarmonic[ext](A,C,B)  \tkzGetPoint{D}
+  \tkzDrawPolygon(A,X,C)
+  \tkzDrawSegments(X,B C,D D,X)
+  \tkzDrawPoints(A,B,C,D,X)
+  \tkzMarkAngles[mark=s|](A,X,B B,X,C)
+  \tkzMarkRightAngle[size=.4,
+                     fill=gray!20,
+                     opacity=.3](B,X,D)
+  \tkzLabelPoints(A,B,C,D)
+  \tkzLabelPoints[above right](X)
+  \end{tikzpicture}
+\end{tkzexample}
+
+
+% subsubsection bisector_and_harmonic_division (end)
 \subsubsection{option \tkzname{both} }
 \tkzname{both} is the default option
 \begin{tkzexample}[vbox,small]
@@ -324,9 +381,9 @@
 \end{tkzexample}
 
 %<---------------------------------------------------------------------->
-\subsection{ Equidistant points}
+\subsection{\tkzname{Equidistant points} with \tkzcname{tkzDefEquiPoints} }
 %<---------------------------------------------------------------------->
-\subsubsection{\tkzcname{tkzDefEquiPoints}}
+
 \begin{NewMacroBox}{tkzDefEquiPoints}{\oarg{local options}\parg{pt1,pt2}}%
 \begin{tabular}{lll}%
 arguments &  default & definition \\
@@ -342,9 +399,14 @@
 \TOline{show} {false} {if true displays compass traces}
 \TOline{/compass/delta} {0} {compass trace size }
 \end{tabular}
+
+\medskip
+\emph{This macro makes it possible to obtain two points on a straight line equidistant from a given point.}
 \end{NewMacroBox}
 
-This macro makes it possible to obtain two points on a straight line equidistant from a given point.
+
+
+
 \subsubsection{Using \tkzcname{tkzDefEquiPoints} with options}
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}
@@ -360,10 +422,63 @@
    \tkzLabelPoints[color=blue](A,B,C)
 \end{tikzpicture}
 \end{tkzexample}
+%<---------------------------------------------------------------------->
+%                          Middle of an arc                             >
+%<---------------------------------------------------------------------->
+\subsection{Middle of an arc}
+\begin{NewMacroBox}{tkzDefMidArc}{\parg{pt1,pt2,pt3}}%
+\begin{tabular}{lll}%
+arguments &  default & definition \\
+\midrule
+\TAline{$pt1,pt2,pt3$}{no default}{$pt1$ is the center, $\widearc{pt2pt3}$ the  arc}
+\end{tabular}
+\end{NewMacroBox}
 
+\begin{tkzexample}[vbox,small]
+  \begin{tikzpicture}[scale=1]
+   \tkzDefPoints{0/0/A,10/0/B}
+   \tkzDefGoldenRatio(A,B)                              \tkzGetPoint{C}
+   \tkzDefMidPoint(A,B)                                 \tkzGetPoint{O_1}
+   \tkzDefMidPoint(A,C)                                 \tkzGetPoint{O_2}
+   \tkzDefMidPoint(C,B)                                 \tkzGetPoint{O_3}
+   \tkzDefMidArc(O_3,B,C)                               \tkzGetPoint{P}
+   \tkzDefMidArc(O_2,C,A)                               \tkzGetPoint{Q}
+   \tkzDefMidArc(O_1,B,A)                               \tkzGetPoint{L}
+   \tkzDefPointBy[rotation=center C angle 90](B)        \tkzGetPoint{c}
+   \tkzInterCC[common=B](P,B)(O_1,B)                    \tkzGetFirstPoint{P_1}
+   \tkzInterCC[common=C](P,C)(O_2,C)                    \tkzGetFirstPoint{P_2}
+   \tkzInterCC[common=C](Q,C)(O_3,C)                    \tkzGetFirstPoint{P_3}
+   \tkzInterLC[near](c,C)(O_1,A)                        \tkzGetFirstPoint{D}
+   \tkzInterLL(A,P_1)(C,D)                              \tkzGetPoint{P_1'}
+   \tkzDefPointBy[inversion = center A through D](P_2)  \tkzGetPoint{P_2'}
+   \tkzDefCircle[circum](P_3,P_2,P_1)                   \tkzGetPoint{O_4}
+   \tkzInterLL(B,Q)(A,P)                                \tkzGetPoint{S}
+   \tkzDefMidPoint(P_2',P_1')                           \tkzGetPoint{o}
+   \tkzDefPointBy[inversion = center A through D](S)    \tkzGetPoint{S'}
+   \tkzDrawArc[cyan,delta=0](Q,A)(P_1) 
+   \tkzDrawArc[cyan,delta=0](P,P_1)(B)
+   \tkzDrawSemiCircles[teal](O_1,B O_2,C O_3,B)
+   \tkzDrawCircles[new](o,P O_4,P_1)
+   \tkzDrawSegments(A,B)
+   \tkzDrawSegments[cyan](A,P_1 A,S' A,P_2')
+   \tkzDrawSegments[purple](B,L C,P_2' B,Q B,L S',P_1')
+   \tkzDrawLines[add=0 and .8](B,P_2')
+   \tkzDrawLines[add=0 and .4](C,D)
+   \tkzDrawPoints(A,B,C,P,Q,P_3,P_2,P_1,P_1',D,P_2',L,S,S')
+   \tkzLabelPoints(A,B,C,P_3)
+   \tkzLabelPoints[above](P,Q,P_1)
+   \tkzLabelPoints[above right](P_2,P_2',D,S')
+   \tkzLabelPoints[above left](L,S)
+    \tkzLabelPoints[below left](P_1')
+  \end{tikzpicture}
+\end{tkzexample}
 
+%<---------------------------------------------------------------------->
+%                          Point on a line                              >
+%<---------------------------------------------------------------------->
+
 \section{Point on line or circle}
-\subsection{Point on a line}
+\subsection{Point on a line with \tkzcname{tkzDefPointOnLine}}
 
 \begin{NewMacroBox}{tkzDefPointOnLine}{\oarg{local options}\parg{A,B}}%
 \begin{tabular}{lll}%
@@ -399,15 +514,22 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Point on a circle}
+\subsection{Point on a circle with \tkzcname{tkzDefPointOnCircle}}
+The order of the arguments has changed: now it is center, angle and point or radius.
+I have added two options for working with radians which are \tkzname{through in rad} and \tkzname{R in rad}.
 
 \begin{NewMacroBox}{tkzDefPointOnCircle}{\oarg{local options}}%
 \begin{tabular}{lll}%
 options   & default & examples definition \\
 \midrule
-\TOline{through}  {}{through = angle 30 center K1 point B]}
-\TOline{R} {}{R = angle 30 center K1 radius \tkzcname{rAp}}
+\TOline{through}  {}{through =  center K1 angle 30 point B]}
+\TOline{R} {}{R =  center K1 angle 30 radius \tkzcname{rAp}}
+\TOline{through in rad}  {}{through =  center K1 angle pi/4 point B]}
+\TOline{R} {}{R =  center K1 angle pi/6 radius \tkzcname{rAp}}
 \end{tabular}
+
+\medskip
+\emph{The new order for arguments are : center, angle and point or radius.}
 \end{NewMacroBox}
 
 \subsubsection{Altshiller's Theorem}
@@ -416,11 +538,11 @@
 \begin{tkzexample}[latex=6cm,small]
 \begin{tikzpicture}[scale=.4]
 \tkzDefPoints{0/0/P,5/0/Q,3/2/I}
-\tkzDefCircleBy[orthogonal from=P](Q,I) 
+\tkzDefCircle[orthogonal from=P](Q,I) 
 \tkzGetFirstPoint{E}
 \tkzDrawCircles(P,E Q,E)
 \tkzInterCC[common=E](P,E)(Q,E) \tkzGetFirstPoint{F}
-\tkzDefPointOnCircle[through = angle 80 center P point E]
+\tkzDefPointOnCircle[through =  center P angle 80 point E]
  \tkzGetPoint{A}
 \tkzInterLC[common=E](A,E)(Q,E)  \tkzGetFirstPoint{C}
 \tkzInterLL(A,F)(C,Q)  \tkzGetPoint{D}
@@ -434,16 +556,18 @@
 \end{tkzexample}  
   
 \subsubsection{Use of  \tkzcname{tkzDefPointOnCircle}}
+
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}
 \tkzDefPoints{0/0/A,4/0/B,0.8/3/C} 
-\tkzDefPointOnCircle[R = angle 90 center B radius 1]
+\tkzDefPointOnCircle[R = center B  angle 90 radius 1]
 \tkzGetPoint{I}
 \tkzDefCircle[circum](A,B,C)
-\tkzGetPoint{G} \tkzGetLength{rG} 
-\tkzDefPointOnCircle[R = angle 30 center G radius \rG]
+\tkzGetPoints{G}{g}
+\tkzDefPointOnCircle[through = center G  angle 30 point g]
 \tkzGetPoint{J}
-\tkzDrawCircle[R,teal](B,1)
+\tkzDefCircle[R](B,1) \tkzGetPoint{b}
+\tkzDrawCircle[teal](B,b)
 \tkzDrawCircle(G,J)
 \tkzDrawPoints(A,B,C,G,I,J)
 \tkzAutoLabelPoints[center=G](A,B,C,J)
@@ -506,7 +630,8 @@
   \tkzDrawSegments[new](A,Ha B,Hb C,Hc)  
   \tkzDrawPoints(A,B,C,H)
   \tkzLabelPoint(H){$H$}
-  \tkzAutoLabelPoints[center=H](A,B,C)
+  \tkzLabelPoints[below](A,B)
+  \tkzLabelPoints[above](C)
  \tkzMarkRightAngles(A,Ha,B B,Hb,C C,Hc,A)
 \end{tikzpicture}
 \end{tkzexample}
@@ -551,7 +676,8 @@
 \tkzDefTriangleCenter[in](A,B,C)  
    \tkzGetPoint{I}
 \tkzDrawLines(A,B B,C C,A)   
-\tkzDrawCircle[in](A,B,C)
+\tkzDefCircle[in](A,B,C) \tkzGetPoints{I}{i}
+\tkzDrawCircle(I,i)
 \tkzDrawPoint[red](I)
 \tkzDrawPoints(A,B,C)
 \tkzLabelPoint(I){$I$}
@@ -629,7 +755,6 @@
   \tkzDrawLines[add = 0 and 2/3,new](A,K B,K C,K)
   \tkzDrawSegments[color=cyan](A,Ma B,Mb C,Mc)
   \tkzDrawSegments[color=green](A,Ia B,Ib C,Ic)
-  \tkzDrawLine[add=2 and 2](G,I)
   \tkzDrawPoints(A,B,C,K,G,I)
   \tkzLabelPoints[font=\scriptsize](A,B,K,G,I)
   \tkzLabelPoints[above,font=\scriptsize](C)
@@ -650,11 +775,13 @@
  \tkzGetPoint{Sp}
  \tkzDrawPolygon[](A,B,C)
  \tkzDrawPolygon[new](Ma,Mb,Mc)
- \tkzDrawCircle[in](Ma,Mb,Mc)
+ \tkzDefCircle[in](Ma,Mb,Mc) \tkzGetPoints{I}{i}
+ \tkzDrawCircle(I,i)
  \tkzDrawPoints(B,C,A,Sp,Ma,Mb,Mc)
- \tkzAutoLabelPoints[center=G,dist=.3](Ma,Mb,Mc)
+ \tkzAutoLabelPoints[center=G,dist=.3](Ma,Mb)
  \tkzLabelPoints[right](Sp)
- \tkzAutoLabelPoints[center=G](A,B,C)
+ \tkzLabelPoints[below](A,B,Mc)
+ \tkzLabelPoints[above](C)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -669,12 +796,13 @@
 \tkzDefTriangleCenter[gergonne](A,B,C) 
 \tkzGetPoint{Ge}
 \tkzDefSpcTriangle[intouch](A,B,C){C_1,C_2,C_3}
-\tkzDrawCircle[in](A,B,C)
+\tkzDefCircle[in](A,B,C) \tkzGetPoints{I}{i}
 \tkzDrawLines[add=.25 and .25,teal](A,B A,C B,C)
 \tkzDrawSegments[new](A,C_1 B,C_2 C,C_3)
 \tkzDrawPoints(A,...,C,C_1,C_2,C_3)
 \tkzDrawPoints[red](Ge)
-\tkzLabelPoints(A,...,C,C_1,C_2,C_3,Ge)
+\tkzLabelPoints(B,C,C_1,Ge)
+\tkzLabelPoints[above](A,C_2,C_3)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -695,7 +823,7 @@
   \tkzDrawPoints[new](Ja,Jb,Jc,Ta,Tb,Tc)
   \tkzClipBB
   \tkzDrawLines[add=1 and 1,dashed](A,B B,C C,A)
-  \tkzDrawCircles[ex,new](A,B,C C,A,B B,C,A)
+  \tkzDrawCircles[new](Ja,Ta Jb,Tb Jc,Tc)
   \tkzDrawSegments[new,dashed](Ja,Ta Jb,Tb Jc,Tc)
   \tkzDrawPoints(B,C,A)
   \tkzDrawPoints[new](Na)
@@ -760,5 +888,4 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointwith.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointwith.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointwith.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -210,7 +210,8 @@
   \tkzDefPointWith[orthogonal normed,K=2](A,B)
   \tkzGetPoint{C}
   \tkzDrawPoints[color=red](A,B,C)
-  \tkzDrawCircle[R](A,2)
+  \tkzDefCircle[R](A,2) \tkzGetPoint{a}
+  \tkzDrawCircle(A,a)
   \tkzDrawSegments[vect](A,B A,C)
   \tkzMarkRightAngle[fill=gray!20](B,A,C)
   \tkzLabelPoints[above=3pt](A,B,C)

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-polygons.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-polygons.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-polygons.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -43,7 +43,7 @@
   \tkzMarkRightAngles(A,B,C)
   \tkzDrawPoints(A,B) \tkzDrawPoint[new](C)
   \tkzLabelPoints(A,B)
-  \tkzLabelPoints[new](C)
+  \tkzLabelPoints[new,above](C)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -61,7 +61,7 @@
 \tkzDrawPolygon(C,B,I,J) 
 \tkzDrawPolygon(B,A,E,F) 
 \tkzLabelSegment(A,C){$a$} 
-\tkzLabelSegment(C,B){$b$} 
+\tkzLabelSegment[right](C,B){$b$} 
 \tkzLabelSegment[swap](A,B){$c$} 
 \end{tikzpicture}
 \end{tkzexample}
@@ -171,9 +171,10 @@
 \tkzDefPointBy[projection=onto D--C ](E) 
  \tkzGetPoint{H}
 \tkzDrawArc[style=dashed](I,E)(D)
-\tkzDrawSquare(A,B) 
+\tkzDrawPolygon(A,B,C,D) 
 \tkzDrawPoints(C,D,E,F,H) 
-\tkzLabelPoints(A,B,C,D,E,F,H) 
+\tkzLabelPoints(A,B,C,D,E,F,H)
+\tkzLabelPoints[above](C,D,F,H)  
 \tkzDrawSegments[style=dashed,color=gray]%
 (E,F C,F B,E F,H H,C E,H) 
 \end{tikzpicture}

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-presentation.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-presentation.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-presentation.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -55,23 +55,23 @@
 
 \medskip
 
-\hspace*{1cm}\vbox{\orange |\usepackage{tikz}|\\
+\hspace*{1cm}\vbox{\color{orange} |\usepackage{tikz}|\\
 |\usetikzlibrary{calc,intersections,through,backgrounds}|}
 
 \medskip
-\hspace*{1cm}\vbox{\red |\usepackage{tkz-euclide}|}
+\hspace*{1cm}\vbox{\color{red} |\usepackage{tkz-euclide}|}
 
 \medskip
 How to get the line AB ? To get this line, we use two fixed points.\\
 
 \medskip
-\hspace*{1cm}\vbox{\orange 
+\hspace*{1cm}\vbox{\color{orange} 
 |\coordinate [label=left:$A$] (A) at (0,0);|\\
 |\coordinate [label=right:$B$] (B) at (1.25,0.25);|\\
 |\draw (A) -- (B);|}
 
 \medskip
-\hspace*{1cm}\vbox{\red 
+\hspace*{1cm}\vbox{\color{red}
 |\tkzDefPoint(0,0){A}|\\
 |\tkzDefPoint(1.25,0.25){B}|\\
 |\tkzDrawSegment(A,B)|\\
@@ -81,7 +81,7 @@
 We want to draw a circle around the points $A$ and $B$ whose radius is given by the length of the line AB. 
 \medskip
 
-\hspace*{1cm}\vbox{\orange
+\hspace*{1cm}\vbox{\color{orange}
 |\draw let \p1 = ($ (B) - (A) $),|\\
 |\n2 = {veclen(\x1,\y1)} in|\\
 |          (A) circle (\n2)|\\
@@ -88,7 +88,7 @@
 |          (B) circle (\n2);|}
 
 \medskip
-\hspace*{1cm}\vbox{\red 
+\hspace*{1cm}\vbox{\color{red} 
 |\tkzDrawCircles(A,B B,A)|
 }
 
@@ -96,7 +96,7 @@
 
 \medskip
 
-\hspace*{1cm}\vbox{\orange 
+\hspace*{1cm}\vbox{\color{orange} 
 |draw [name path=A--B] (A) -- (B);|\\
 |node (D) [name path=D,draw,circle through=(B),label=left:$D$] at (A) {}; |\\
 |node (E) [name path=E,draw,circle through=(A),label=right:$E$] at (B) {};|\\
@@ -106,17 +106,17 @@
 |node [fill=red,inner sep=1pt,label=-45:$F$] at (F) {};|\\}
 
 \medskip
-\hspace*{1cm}\vbox{\red |\tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{X}|\\}
+\hspace*{1cm}\vbox{\color{red} |\tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{X}|\\}
 
 
 How to draw points :
 
 \medskip
-\hspace*{1cm}\vbox{\orange |\foreach \point in {A,B,C}|\\
+\hspace*{1cm}\vbox{\color{orange} |\foreach \point in {A,B,C}|\\
 |\fill [black,opacity=.5] (\point) circle (2pt);|\\}
 
 \medskip
-\hspace*{1cm}\vbox{\red| \tkzDrawPoints[fill=gray,opacity=.5](A,B,C)|\\}
+\hspace*{1cm}\vbox{\color{red}| \tkzDrawPoints[fill=gray,opacity=.5](A,B,C)|\\}
 
 \subsubsection{Complete code with \pkg{tkz-euclide}}
 
@@ -126,7 +126,6 @@
 |\colorlet{output}{red!70!black}|\\
 |\colorlet{triangle}{orange!40}  |
 
-
 \begin{tkzexample}[vbox,small]
   \colorlet{input}{red!80!black} 
   \colorlet{output}{red!70!black}
@@ -140,17 +139,17 @@
   \tkzDrawSegment[input](A,B) 
   \tkzDrawSegments[red](A,C B,C)  
   \tkzDrawCircles[help lines](A,B B,A)
-
+  \tkzDrawPoints[fill=gray,opacity=.5](A,B,C)
+  
   \tkzLabelPoints(A,B)
-  \tkzLabelCircle[below=12pt](A,B)(180){$D$}
-  \tkzLabelCircle[above=12pt](B,A)(180){$E$}
+  \tkzLabelCircle[below=12pt](A,B)(180){$\mathcal{D}$}
+  \tkzLabelCircle[above=12pt](B,A)(180){$\mathcal{E}$}
   \tkzLabelPoint[above,red](C){$C$}
-  \tkzDrawPoints[fill=gray,opacity=.5](A,B,C)
-     
+      
   \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection*{Book I, Proposition II  \_Euclid's Elements\_}
+\subsubsection{Book I, Proposition II  \_Euclid's Elements\_}
 
 \begin{tikzpicture}
 \node [mybox,title={Book I, Proposition II  \_Euclid's Elements\_}] (box){%
@@ -165,7 +164,7 @@
 In the first part, we need to find the midpoint of the straight line $AB$. With \TIKZ\ we can use the calc library
 
 \medskip
-\hspace*{1cm}\vbox{\orange |\coordinate [label=left:$A$] (A) at (0,0);|\\
+\hspace*{1cm}\vbox{\color{orange} |\coordinate [label=left:$A$] (A) at (0,0);|\\
 |\coordinate [label=right:$B$] (B) at (1.25,0.25);|\\
 |\draw (A) -- (B);|\\
 |\node [fill=red,inner sep=1pt,label=below:$X$] (X) at ($ (A)!.5!(B) $) {};|\\}
@@ -181,7 +180,7 @@
 Then we need to construct a triangle equilateral. It's easy with \pkg{tkz-euclide} . With TikZ you need some effort because you need to use the midpoint $X$ to get the point $D$ with trigonometry calculation.
 
 \medskip
-\hspace*{1cm}\vbox{\orange
+\hspace*{1cm}\vbox{\color{orange}
 |\node [fill=red,inner sep=1pt,label=below:$X$] (X) at ($ (A)!.5!(B) $) {}; | \\
 |\node [fill=red,inner sep=1pt,label=above:$D$] (D) at                      |  \\
 |($ (X) ! {sin(60)*2} ! 90:(B) $) {};                                       |  \\
@@ -189,18 +188,18 @@
 }                                                                           \\
 
 \medskip
-\hspace*{1cm}\vbox{\red |\tkzDefTriangle[equilateral](A,B) \tkzGetPoint{D}|}\\
+\hspace*{1cm}\vbox{\color{red} |\tkzDefTriangle[equilateral](A,B) \tkzGetPoint{D}|}\\
 
 We can draw the triangle at the end of the picture with
 
 \medskip
-\hspace*{1cm}\vbox{\red |\tkzDrawPolygon{A,B,C}|}
+\hspace*{1cm}\vbox{\color{red} |\tkzDrawPolygon{A,B,C}|}
 
 \medskip
 We know how to draw the circle  $\mathcal{H}$ around $B$ through $C$ and how to place the points $E$ and $F$
 
 \medskip
-\hspace*{1cm}\vbox{\orange 
+\hspace*{1cm}\vbox{\color{orange} 
 |\node (H) [label=135:$H$,draw,circle through=(C)] at (B) {};|          \\
 |\draw (D) -- ($ (D) ! 3.5 ! (B) $) coordinate [label=below:$F$] (F);|  \\
 |\draw (D) -- ($ (D) ! 2.5 ! (A) $) coordinate [label=below:$E$] (E);|} \\
@@ -207,7 +206,7 @@
 
 \medskip
 
-\hspace*{1cm}\vbox{\red |\tkzDrawCircle(B,C)|\\
+\hspace*{1cm}\vbox{\color{red} |\tkzDrawCircle(B,C)|\\
 |\tkzDrawLines[add=0 and 2](D,A D,B)|}
 
 \medskip
@@ -217,7 +216,7 @@
 The infinite straight line $DB$ intercepts the circle but with \TIKZ\ we need to extend the lines  $DB$  and that can be done using partway calculations. We get the point $F$ and $BF$ or $DF$ intercepts the circle
 
 \medskip
-\hspace*{1cm}\vbox{\orange| \node (H) [label=135:$H$,draw,circle through=(C)] at (B) {}; |  \\
+\hspace*{1cm}\vbox{\color{orange}| \node (H) [label=135:$H$,draw,circle through=(C)] at (B) {}; |  \\
 |\path let \p1 = ($ (B) - (C) $) in|                                     \\
 |  coordinate [label=left:$G$] (G) at ($ (B) ! veclen(\x1,\y1) ! (F) $); |  \\
 |\fill[red,opacity=.5] (G) circle (2pt);|}                                \\
@@ -226,14 +225,14 @@
 Like the intersection of two circles, it's easy to find the intersection of a line and a circle with \pkg{tkz-euclide}. We don't need $F$ 
 
 \medskip
-\hspace*{1cm}\vbox{\red | \tkzInterLC(B,D)(B,C)\tkzGetFirstPoint{G}|}
+\hspace*{1cm}\vbox{\color{red} | \tkzInterLC(B,D)(B,C)\tkzGetFirstPoint{G}|}
 
 \medskip
 There are no more difficulties. Here the final code with some simplications.
 We draw the circle $\mathcal{K}$ with center $D$ and passing through $G$. It intersects the line $AD$ at point $L$. $AL = BC$.
 
-\hspace*{1cm}\vbox{\red | \tkzDrawCircle(D,G)|}
-\hspace*{1cm}\vbox{\red | \tkzInterLC(D,A)(D,G)\tkzGetSecondPoint{L}|}
+\hspace*{1cm}\vbox{\color{red} | \tkzDrawCircle(D,G)|}
+\hspace*{1cm}\vbox{\color{red} | \tkzInterLC(D,A)(D,G)\tkzGetSecondPoint{L}|}
 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=1.5]
@@ -240,9 +239,9 @@
 \tkzDefPoint(0,0){A}
 \tkzDefPoint(0.75,0.25){B}  
 \tkzDefPoint(1,1.5){C} 
-\tkzDefTriangle[equilateral](A,B) \tkzGetPoint{D}
-\tkzInterLC(B,D)(B,C)\tkzGetFirstPoint{G}
-\tkzInterLC(D,A)(D,G)\tkzGetSecondPoint{L}
+\tkzDefTriangle[equilateral](A,B)   \tkzGetPoint{D}
+\tkzInterLC[near](D,B)(B,C)    \tkzGetSecondPoint{G}
+\tkzInterLC[near](D,A)(D,G)    \tkzGetFirstPoint{L}
 \tkzDrawCircles(B,C D,G)
 \tkzDrawLines[add=0 and 2](D,A D,B)
 \tkzDrawSegment(A,B) 
@@ -251,12 +250,12 @@
 \tkzDrawPoints[fill=gray](A,B,C)
 \tkzLabelPoints[left,red](A)
 \tkzLabelPoints[below right,red](L)
-\tkzLabelCircle[above=12pt](B,G)(90){$\mathcal{H}$}
+\tkzLabelCircle[above](B,C)(20){$\mathcal{(H)}$}
 \tkzLabelPoints[above left](D)
-\tkzLabelPoints[below](G)
+\tkzLabelPoints[above](G)
 \tkzLabelPoints[above,red](C)
 \tkzLabelPoints[right,red](B)
-\tkzLabelCircle[above=12pt](D,G)(90){$\mathcal{K}$}
+\tkzLabelCircle[below](D,G)(-90){$\mathcal{(K)}$}
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -396,11 +395,11 @@
      \[\widehat{BCA}=90^\circ -\alpha/2 \] 
     
     \item  Finally   \[\widehat{CBD}=\alpha=36^\circ \] 
-     the triangle $CBD$ is a "gold" triangle.
+     the triangle $CBD$ is a "golden" triangle.
 \end{enumerate}
 
 \vspace*{24pt}
-How construct a gold triangle or an angle of $36^\circ$?
+How construct a golden triangle or an angle of $36^\circ$?
 
 \begin{enumerate}
   \item We place the fixed points $C$ and $D$. |\tkzDefPoint(0,0){C}| and |\tkzDefPoint(4,0){D}|;
@@ -411,9 +410,8 @@
   \item Now the two arcs with center $C$ and $D$ and radius $Cn$ define the point $B$.
 \end{enumerate}
 
-
-\begin{minipage}{.4\textwidth}
-  \begin{tikzpicture}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
   \tkzDefPoint(0,0){C}
   \tkzDefPoint(4,0){D}
   \tkzDefSquare(C,D)                     
@@ -433,64 +431,16 @@
   \endpgfinterruptboundingbox 
   \tkzDrawPolygon(B,...,D)
   \tkzDrawPoints(B,C,D,e,f,m,n)
-  \tkzLabelPoints(B,C,D,e,f,m,n)
-  \end{tikzpicture}
-\end{minipage}
-\begin{minipage}{.6\textwidth}
-  \begin{tkzexample}[code only,small]
-  \begin{tikzpicture}
-  \tkzDefPoint(0,0){C}
-  \tkzDefPoint(4,0){D}
-  \tkzDefSquare(C,D)                     
-  \tkzGetPoints{e}{f}
-  \tkzDefMidPoint(C,f)                   
-  \tkzGetPoint{m}
-  \tkzInterLC(C,f)(m,e)                  
-  \tkzGetSecondPoint{n}
-  \tkzInterCC[with nodes](C,C,n)(D,C,n) 
-  \tkzGetFirstPoint{B}
-  \tkzDrawSegment[brown,dashed](f,n)
-  \tkzDrawPolygon[brown,dashed](C,D,e,f)
-  \tkzDrawArc[brown,dashed](m,e)(n)
-  \tkzCompass[brown,dashed,delta=20](C,B)
-  \tkzCompass[brown,dashed,delta=20](D,B)
-  \tkzDrawPoints(C,D,B)
-  \tkzDrawPolygon(B,...,D)
-  \end{tikzpicture}
-  \end{tkzexample}
-\end{minipage}
+  \tkzLabelPoints[above](B)
+  \tkzLabelPoints[left](f,m,n)
+  \tkzLabelPoints(C,D)
+  \tkzLabelPoints[right](e)
+\end{tikzpicture}
+\end{tkzexample}
 
 
 After building the golden triangle $BCD$, we build the point $A$ by noticing that $BD=DA$. Then we get the point $E$ and finally the point $F$. This is done with already intersections of defined objects  (line and circle).
 
-\begin{tkzexample}[code only,small]
-  \begin{tikzpicture}
-    \tkzDefPoint(0,0){C}
-    \tkzDefPoint(4,0){D}
-    \tkzDefSquare(C,D)                     
-    \tkzGetPoints{e}{f}
-    \tkzDefMidPoint(C,f)                   
-    \tkzGetPoint{m}
-    \tkzInterLC(C,f)(m,e)                  
-    \tkzGetSecondPoint{n}
-    \tkzInterCC[with nodes](C,C,n)(D,C,n) 
-    \tkzGetFirstPoint{B}
-    \tkzInterLC(C,D)(D,B) \tkzGetSecondPoint{A}
-    \tkzInterLC(B,A)(B,D) \tkzGetSecondPoint{E}
-    \tkzInterLL(B,D)(C,E) \tkzGetPoint{F}
-    \tkzDrawPoints(C,D,B)
-    \tkzDrawPolygon(B,...,D)  
-    \tkzDrawPolygon(B,C,D)
-    \tkzDrawSegments(D,A A,B C,E)
-    \tkzDrawArc[delta=10](B,C)(E)
-    \tkzDrawPoints(A,...,F) 
-    \tkzMarkRightAngle(B,F,C)  
-    \tkzMarkAngles(C,B,D E,A,D)
-    \tkzLabelAngles[pos=1.5](C,B,D E,A,D){$\alpha$} 
-    \tkzLabelPoints[below](A,C,D,E)
-    \tkzLabelPoints[above right](B,F)
-  \end{tikzpicture} 
-\end{tkzexample}
 
 \subsubsection{Part II: two others methods with golden and euclid triangle}
 
@@ -502,9 +452,9 @@
       \begin{tikzpicture}
         \tkzDefPoint(0,0){C}
         \tkzDefPoint(4,0){D}
-        \tkzDefTriangle[euclid](C,D)
+        \tkzDefTriangle[golden](C,D)
         \tkzGetPoint{B}
-        \tkzDefTriangle[euclid](B,C)
+        \tkzDefTriangle[golden](B,C)
         \tkzGetPoint{A}
         \tkzInterLC(B,A)(B,D) \tkzGetSecondPoint{E}
         \tkzInterLL(B,D)(C,E) \tkzGetPoint{F}
@@ -565,7 +515,7 @@
 
 \vspace{12pt}
 \hypertarget{firstex}{}
-
+\begin{tkzexample}[vbox,small]
 \begin{tikzpicture}[scale=1,ra/.style={fill=gray!20}]
    % fixed points
    \tkzDefPoint(0,0){A}
@@ -588,6 +538,7 @@
    \tkzLabelPoint[right](B){$B(10,0)$}
    \tkzLabelSegment[right=4pt](I,C){$\sqrt{a^2}=a \ (a>0)$}
 \end{tikzpicture}
+\end{tkzexample}
 
 \emph{Comments}
  
@@ -654,34 +605,6 @@
    \tkzLabelSegment[right=4pt](I,C){$\sqrt{a^2}=a \ (a>0)$}
 \end{tkzltxexample}
 
-
-\item The full code:
-
-
-\begin{tkzexample}[code only]
-  \begin{tikzpicture}[scale=1,ra/.style={fill=gray!20}]
-     % fixed points
-     \tkzDefPoint(0,0){A}
-     \tkzDefPoint(1,0){I}
-     % calculation
-     \tkzDefPointBy[homothety=center A ratio  10 ](I) \tkzGetPoint{B}  
-     \tkzDefMidPoint(A,B)              \tkzGetPoint{M}
-     \tkzDefPointWith[orthogonal](I,M) \tkzGetPoint{H}
-     \tkzInterLC(I,H)(M,B)             \tkzGetSecondPoint{C}
-     \tkzDrawSegment[style=orange](I,C)
-     \tkzDrawArc(M,B)(A)
-     \tkzDrawSegment[dim={$1$,-16pt,}](A,I)
-     \tkzDrawSegment[dim={$a/2$,-10pt,}](I,M)
-     \tkzDrawSegment[dim={$a/2$,-16pt,}](M,B)   
-     \tkzMarkRightAngle[ra](A,I,C)
-     \tkzDrawPoints(I,A,B,C,M)  
-     \tkzLabelPoint[left](A){$A(0,0)$} 
-     \tkzLabelPoints[above right](I,M)
-     \tkzLabelPoints[above left](C)
-     \tkzLabelPoint[right](B){$B(10,0)$}
-     \tkzLabelSegment[right=4pt](I,C){$\sqrt{a^2}=a \ (a>0)$}
-  \end{tikzpicture}
-\end{tkzexample}
 \end{itemize}
 
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-rapporteur.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-rapporteur.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-rapporteur.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -1,7 +1,10 @@
 \section{Protractor}
 Based on an idea by Yves Combe, the following macro allows you to draw a protractor. 
 The operating principle is even simpler. Just name a half-line (a ray). The protractor will be placed on the origin $O$, the direction of the half-line is given by $A$. The angle is measured in the direct direction of the trigonometric circle.
+\subsection{The macro \tkzcname{tkzProtractor}} % (fold)
+\label{sub:the_macro_tkzcname_tkzprotractor}
 
+% subsection the_macro_tkzcname_tkzprotractor (end)
 \begin{NewMacroBox}{tkzProtractor}{\oarg{local options}\parg{$O,A$}}%
 \begin{tabular}{lll}%
 options    & default & definition     \\ 
@@ -12,7 +15,7 @@
 \end{tabular}
 \end{NewMacroBox}
 
-\subsection{The circular protractor} 
+\subsubsection{The circular protractor} 
 Measuring in the forward direction
 
 \begin{tkzexample}[latex=7cm,small] 
@@ -27,7 +30,7 @@
 \end{tikzpicture}
 \end{tkzexample}  
 
-\subsection{The circular protractor, transparent and returned}
+\subsubsection{The circular protractor, transparent and returned}
 
 \begin{tkzexample}[latex=7cm,small] 
 \begin{tikzpicture}[scale=.5]

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-rnd.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-rnd.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-rnd.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -39,7 +39,8 @@
   \tkzDefRectangle(A,C)\tkzGetPoints{B}{D}
   \tkzDrawPolygon[red](A,...,D)
   \tkzDrawPoints(A,...,E) 
-  \tkzLabelPoints(A,...,E)  
+  \tkzLabelPoints(A,B)
+  \tkzDrawPoints[above](C,D,E) 
 \end{tikzpicture} 
 \end{tkzexample} 
 
@@ -66,11 +67,11 @@
 \tkzGetPoint{D}
 \tkzDefRandPointOn[disk through=center A through B]
 \tkzGetPoint{E}
-\tkzDrawCircle[R](A,\rAB)
+\tkzDrawCircle(A,B)
 \tkzDrawPoints(A,B)
 \tkzLabelPoints(A,B)
 \tkzDrawPoints[red](C,D,E)
-\tkzLabelPoints[red](C,D,E)
+\tkzLabelPoints[red,right](C,D,E)
 \end{tikzpicture}
 \end{tkzexample}
    

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-show.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-show.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-show.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -23,6 +23,7 @@
  \bottomrule
 \end{tabular}
 
+\medskip
 You have to add, of course, all the styles of \TIKZ\ for tracings\dots
 \end{NewMacroBox}
 
@@ -63,7 +64,7 @@
    \tkzGetPoint{H}
  \tkzShowLine[bisector,size=2,gap=3,blue](B,A,C)
  \tkzShowLine[bisector,size=2,gap=3,blue](C,B,A)   
- \tkzDrawCircle[radius,color=blue,%
+ \tkzDrawCircle[color=blue,%
  line width=.2pt](I,H) 
  \tkzDrawSegments[color=red!50](I,tkzPointResult)
  \tkzDrawLines[add=0 and -0.3,color=red!50](A,a B,b) 
@@ -107,7 +108,6 @@
 
 \subsubsection{Example of the use of \tkzcname{tkzShowTransformation}} 
 
-
 \begin{tkzexample}[latex=6cm,small]
 \begin{tikzpicture}[scale=.6]
   \tkzDefPoint(0,0){O} \tkzDefPoint(2,-2){A}
@@ -148,8 +148,9 @@
   \tkzDefPointBy[projection=onto A--B](I) 
      \tkzGetPoint{J}
   \tkzInterLC(I,A)(O,A)  \tkzGetPoints{M}{M'}
-  \tkzInterLC(I,B)(O,A)  \tkzGetPoints{N}{N'}    
-  \tkzDrawSemiCircle[diameter](A,B)
+  \tkzInterLC(I,B)(O,A)  \tkzGetPoints{N}{N'}
+  \tkzDefMidPoint(A,B) \tkzGetPoint{M}    
+  \tkzDrawSemiCircle(M,B)
   \tkzDrawSegments(I,A I,B A,B B,M A,N) 
   \tkzMarkRightAngles(A,M,B A,N,B)  
   \tkzDrawSegment[style=dashed,color=blue](I,J)
@@ -156,7 +157,7 @@
   \tkzShowTransformation[projection=onto A--B,
                   color=red,size=3,gap=-3](I)
   \tkzDrawPoints[color=red](M,N)
-  \tkzDrawPoints[color=blue](O,A,B,I) 
+  \tkzDrawPoints[color=blue](O,A,B,I,M) 
   \tkzLabelPoints(O)  
   \tkzLabelPoints[above right](N,I) 
   \tkzLabelPoints[below left](M,A) 

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-styles.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-styles.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-styles.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -32,7 +32,7 @@
 
 It is of course possible to use \tkzcname{tikzset} but you can use a macro provided by the package. You can use the macro \tkzcname{tkzSetUpPoint} globally or locally, \\ Let's look at this possibility.
 
-\subsubsection{Use of \tkzcname{tkzSetUpPoint}}
+\subsection{Use of \tkzcname{tkzSetUpPoint}}
 
 \begin{NewMacroBox}{tkzSetUpPoint}{\oarg{local options}}%
 \begin{tabular}{lll}%
@@ -51,6 +51,8 @@
 First of all here is a figure created with the styles of my documentation, then the style of the points is modified within the environment \tkzNameEnv{tikzspicture}. 
 
 You can use the macro \tkzcname{tkzSetUpPoint} globally or locally, If you place this macro in your preamble or before your first figure then the point style will be valid for all figures in your document. It will be possible to use another style locally by using this command within an environment \tkzNameEnv{tikzpicture}.\\ Let's look at this possibility.
+
+
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}
   \tkzDefPoints{0/0/A,5/0/B,3/2/C,3/1/D}
@@ -61,6 +63,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
+\subsubsection{Local style}
 The style of the points is modified locally in the second figure 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}
@@ -74,6 +77,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
+\subsubsection{\tkzname{Style} and \tkzname{scope}}
 The points get back the initial style. Point D has a new style limited by the environment \tkzNameEnv{scope}. It is also possible to use |{...}| orThe points get back the initial style. Point $D$ has a new style limited by the environment \tkzNameEnv{scope}. It is also possible to use |{...}| or |\begingoup  ... \endgroup|.
 
 \begin{tkzexample}[latex=7cm,small]
@@ -120,7 +124,27 @@
 
 \section{Lines style}
 
-\subsubsection{Use of \tkzcname{tkzSetUpLine}} \label{tkzsetupline}
+You have several possibilities to change the style of a line. You can modify the style of a line with \tkzcname{tkzSetUpLine} or directly modify the style of the lines with |\tikzset{line style/.style = ... }|
+
+Reminder about \tkzname{line width} : There are a number of predefined styles that provide more “natural” ways of setting the line width. You can also redefine these styles.
+
+
+\medskip
+\begin{tabular}{cc}
+predefined style & value of \tkzname{line width} \cr
+\midrule
+ultra thin    &  0.1 pt \cr
+very thin     &  0.2 pt \cr
+thin          &  0.4 pt \cr
+semithick     &  0.6 pt \cr
+thick         &  0.8 pt \cr
+very thick    &  1.2 pt \cr
+ultra thick   &  1.6 pt \cr
+\midrule
+\end{tabular}
+
+
+\subsection{Use of \tkzcname{tkzSetUpLine}} \label{tkzsetupline}
 It is a macro that allows you to define the style of all the lines.
 
 \begin{NewMacroBox}{tkzSetUpLine}{\oarg{local options}}%
@@ -177,7 +201,9 @@
 \tkzDrawLine(A',B')
 \tkzCompass(A',B')
 \tkzDrawSegments(A,B C,D E,F)
-\tkzDrawCircles[R](A',{\rCD} B',\rEF)
+\tkzDefCircle[R](A',\rCD) \tkzGetPoint{a'}
+\tkzDefCircle[R](B',\rEF)\tkzGetPoint{b'}
+\tkzDrawCircles(A',a' B',b')
 \begin{scope}
   \tkzSetUpLine[color=red]
   \tkzDrawSegments(A',I B',I)
@@ -201,6 +227,7 @@
 
 \section{Arc style}
 
+\subsection{The macro \tkzcname{tkzSetUpArc}}
 \begin{NewMacroBox}{tkzSetUpArc}{\oarg{local options}}%
 \begin{tabular}{lll}%
 options &  default & definition                 \\
@@ -211,33 +238,36 @@
 \end{tabular}
 \end{NewMacroBox}
 
+\subsubsection{Use of \tkzcname{tkzSetUpArc}}
 \begin{tkzexample}[latex=7cm,small]
-  \begin{tikzpicture}
-  \def\r{3} \def\angle{200}
-  \tkzSetUpArc[delta=5,color=purple,style=dashed]
-  \tkzSetUpLabel[font=\scriptsize,red]
-  \tkzDefPoint(0,0){O}
-  \tkzDefPoint(\angle:\r){A}
-  \tkzInterCC(O,A)(A,O) \tkzGetPoints{C'}{C}
-  \tkzInterCC(O,A)(C,O) \tkzGetPoints{D'}{D}
-  \tkzInterCC(O,A)(D,O) \tkzGetPoints{X'}{X}
-  \tkzDrawCircle(O,A)
-  \tkzDrawArc(A,C')(C)
-  \tkzDrawArc(C,O)(D)
-  \tkzDrawArc(D,O)(X)
-  \tkzDrawLine[add=.1 and .1](A,X)
-  \tkzDrawPoints(O,A)
-  \tkzDrawPoints[new](C,C',D,X)
-  \tkzLabelPoints[below left](O,A)
-  \tkzLabelPoints[below](C,C')
-  \tkzLabelPoints[below right](X)
-  \tkzLabelPoints[above](D)
-  \end{tikzpicture}
+\begin{tikzpicture}
+\def\r{3} \def\angle{200}
+\tkzSetUpArc[delta=10,color=purple,line width=.2pt]
+\tkzSetUpLabel[font=\scriptsize,red]
+\tkzDefPoint(0,0){O}
+\tkzDefPoint(\angle:\r){A}
+\tkzInterCC(O,A)(A,O) \tkzGetPoints{C'}{C}
+\tkzInterCC(O,A)(C,O) \tkzGetPoints{D'}{D}
+\tkzInterCC(O,A)(D,O) \tkzGetPoints{X'}{X}
+\tkzDrawCircle(O,A)
+\tkzDrawArc(A,C')(C)
+\tkzDrawArc(C,O)(D)
+\tkzDrawArc(D,O)(X)
+\tkzDrawLine[add=.1 and .1](A,X)
+\tkzDrawPoints(O,A)
+\tkzSetUpPoint[size=3,color=purple,fill=purple!10]
+\tkzDrawPoints(C,C',D,X)
+\tkzLabelPoints[below left](O,A)
+\tkzLabelPoints[below](C')
+\tkzLabelPoints[below right](X)
+\tkzLabelPoints[above](C,D)
+\end{tikzpicture}
 \end{tkzexample}
 
 \section{Compass style, configuration macro \tkzcname{tkzSetUpCompass}}
 The following macro will help to understand the construction of a figure by showing the compass traces necessary to obtain certain points. 
 
+\subsection{The macro \tkzcname{tkzSetUpCompass} }
 \begin{NewMacroBox}{tkzSetUpCompass}{\oarg{local options}}%
 \begin{tabular}{lll}%
 options &  default & definition                 \\
@@ -279,7 +309,7 @@
 \tkzInterLL(A,a)(B,b) \tkzGetPoint{I} 
 \tkzDefPointBy[projection= onto A--B](I)
 \tkzGetPoint{H} 
-\tkzDrawCircle[radius,new](I,H) 
+\tkzDrawCircle[new](I,H) 
 \tkzDrawSegments[new](I,H) 
 \tkzDrawLines[add=0 and .2,new](A,I B,I)
 \end{tikzpicture}
@@ -290,24 +320,27 @@
 
 
 \section{Label style}
+
+\subsection{The macro \tkzcname{tkzSetUpLabel} }
 The macro \tkzcname{tkzSetUpLabel} is used to define the style of the point labels.
 \begin{NewMacroBox}{tkzSetUpStyle}{\oarg{local options}}%
   The options are the same as those of \TIKZ
 \end{NewMacroBox}
 
+\subsubsection{Use of  \tkzcname{tkzSetUpLabel}}
 \begin{tkzexample}[latex=6cm,small]
 \begin{tikzpicture}[scale=.75]
   \tkzSetUpLabel[font=\scriptsize,red]
-  \tkzSetUpStyle[line width=1pt,teal,<->]{XY}
+  \tkzSetUpStyle[line width=1pt,teal]{XY}
   \tkzInit[xmin=-3,xmax=3,ymin=-3,ymax=3]
-  \tkzDrawX[XY]
-  \tkzDrawY[XY]
+  \tkzDrawX[noticks,XY]
+  \tkzDrawY[noticks,XY]
   \tkzDefPoints{1/0/A,0/1/B,-1/0/C,0/-1/D}
   \tkzDrawPoints[teal,fill=teal!30,size=6](A,...,D)
-  \tkzLabelPoint[above right](A){$(1,0)$}
-  \tkzLabelPoint[above right](B){$(0,1)$}
-  \tkzLabelPoint[above left](C){$(-1,0)$}
-  \tkzLabelPoint[below left](D){$(0,-1)$}
+  \tkzLabelPoint[above right](A){$A(1,0)$}
+  \tkzLabelPoint[above right](B){$B(0,1)$}
+  \tkzLabelPoint[above left](C){$C(-1,0)$}
+  \tkzLabelPoint[below left](D){$D(0,-1)$}
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -315,10 +348,12 @@
 \section{Own style}
 You can set  your own style with \tkzcname{tkzSetUpStyle}
 
+\subsection{The macro \tkzcname{tkzSetUpStyle} }
 \begin{NewMacroBox}{tkzSetUpStyle}{\oarg{local options}}%
   The options are the same as those of \TIKZ
 \end{NewMacroBox}
 
+\subsubsection{Use of \tkzcname{tkzSetUpStyle}}
 \begin{tkzexample}[latex=2cm,small]
 \begin{tikzpicture}
   \tkzSetUpStyle[color=blue!20!black,fill=blue!20]{mystyle}
@@ -485,7 +520,6 @@
 You can change this style. With \tkzname{tkz arrows} you can an arrow on each segment of a polygon
 
 \subsubsection{Arrow on each segment with \tkzname{tkz arrows} }
-
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}
  \tkzDefPoints{0/0/A,3/0/B}  

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-tools.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-tools.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-tools.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -1,4 +1,4 @@
-\section{Miscellaneous tools}
+\section{Miscellaneous tools and mathematical tools}
 \subsection{Duplicate a segment} 
 This involves constructing a segment on a given half-line of the same length as a given segment.
 
@@ -17,9 +17,11 @@
 \end{tabular}
 
 \medskip
-The macro \tkzcname{tkzDuplicateLength} is identical to this one. 
+\emph{The macro \tkzcname{tkzDuplicateLength} is identical to this one. }
 \end{NewMacroBox}
 
+\subsubsection{Use of\tkzcname{tkzDuplicateSegment}} 
+
 \begin{tkzexample}[latex=6cm,small]
 \begin{tikzpicture}[scale=.5]
  \tkzDefPoints{0/0/A,2/-3/B,2/5/C}
@@ -48,7 +50,7 @@
  \tkzDrawLines(A,B B,C A,D)
  \tkzDrawArc[orange,delta=10](B,D)(I)
  \tkzDrawPoints(A,B,D,C,M,I)
- \tkzLabelPoints(A,B,D,C,M,I)
+ \tkzLabelPoints[below left](A,B,D,C,M,I)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -73,7 +75,7 @@
   \tkzCompass(B,F) 
   \tkzDrawPolygon[new](A,B,F)
   \tkzDrawPoints(A,...,H)
-  \tkzLabelPoints(A,...,H)
+  \tkzLabelPoints[below left](A,...,H)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -92,7 +94,7 @@
 \toprule
 arguments    & example & explanation       \\
 \midrule
-\TAline{(pt1,pt2)\{name of macro\}} {\tkzcname{tkzCalcLength}[pt](A,B)}{\tkzcname{dAB} gives $AB$ in pt}
+\TAline{(pt1,pt2)\{name of macro\}} {\tkzcname{tkzCalcLength}(A,B)}{\tkzcname{dAB} gives $AB$ in cm}
 \bottomrule
 \end{tabular}
 
@@ -127,7 +129,7 @@
   \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)
+  \tkzLabelPoints[below left](A,B,C,D)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -139,13 +141,13 @@
 \begin{tikzpicture}[scale=.5]
  \tkzDefPoint(0,0){A}
  \tkzDefPoint(3,-4){B}
- \tkzDefCircle[through](A,B)
- \tkzGetLength{rABcm}
+ \tkzDefMidPoint(A,B) \tkzGetPoint{M}
+ \tkzCalcLength(M,B)\tkzGetLength{rAB}
  \tkzDrawCircle(A,B)
  \tkzDrawPoints(A,B)
  \tkzLabelPoints(A,B)
  \tkzDrawSegment[dashed](A,B)
- \tkzLabelSegment(A,B){$\pgfmathprintnumber{\rABcm}$}
+ \tkzLabelSegment(A,B){$\pgfmathprintnumber{\rAB}$}
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -183,7 +185,7 @@
 \end{tabular}
 
 \medskip
-\noindent{The result can be used with \tkzcname{len}\tkzname{pt}}
+\emph{The result can be used with \tkzcname{len}\ \tkzname{pt}}
 \end{NewMacroBox}
 
 
@@ -203,7 +205,7 @@
 \end{tabular}
 
 \medskip
-Stores in two macros the coordinates of a point. If the name of the macro is \tkzname{p}, then \tkzcname{px} and \tkzcname{py} give the coordinates of the chosen point with the cm as unit.
+\emph{Stores in two macros the coordinates of a point. If the name of the macro is \tkzname{p}, then \tkzcname{px} and \tkzcname{py} give the coordinates of the chosen point with the cm as unit.}
 \end{NewMacroBox}
 
 \subsubsection{Coordinate transfer with \tkzcname{tkzGetPointCoord}}
@@ -249,8 +251,9 @@
 
 \emph{The points have exchanged their coordinates.}
 \end{NewMacroBox}
-\subsubsection{Example}
 
+\subsubsection{Use of \tkzcname{tkzSwapPoints}}
+
 \begin{tkzexample}[width=6cm,small]
 \begin{tikzpicture}
   \tkzDefPoints{0/0/O,5/-1/A,2/2/B}
@@ -259,4 +262,217 @@
    \tkzLabelPoints(O,A,B)
 \end{tikzpicture}
 \end{tkzexample}
+
+\subsection{Dot Product}
+In Euclidean geometry, the dot product of the Cartesian coordinates of two vectors is widely used.
+
+\begin{NewMacroBox}{tkzDotProduct}{\parg{$pt1$,$pt2$,$pt3$}}%
+  The dot product of two vectors $\overrightarrow{u} = [a,b]$ and  $\overrightarrow{v} = [a',b']$ is defined as: $\overrightarrow{u}\cdot \overrightarrow{v} = aa' + bb'$
+
+$\overrightarrow{u} = \overrightarrow{pt1pt2}$ $\overrightarrow{v} = \overrightarrow{pt1pt3}$
+  
+\begin{tabular}{lll}%
+arguments             & example & explanation                         \\
+\midrule
+\TAline{(pt1,pt2,pt3)} {\tkzcname{tkzDotProduct}(A,B,C)}{the result is $\overrightarrow{AB}\cdot \overrightarrow{AC}$}
+\end{tabular}
+
+\emph{The result is a number that can be retrieved with \tkzcname{tkzGetResult}.}
+\end{NewMacroBox}
+
+\subsubsection{Simple example} % (fold)
+\label{ssub:simple_example}
+
+\begin{tkzexample}[small,latex=7cm]
+\begin{tikzpicture}
+  \tkzDefPoints{-2/-3/A,4/0/B,1/3/C}
+  \tkzDefPointBy[projection= onto A--B](C)  
+  \tkzGetPoint{H}
+  \tkzDrawSegment(C,H)
+  \tkzMarkRightAngle(C,H,A)
+  \tkzDrawSegments[vector style](A,B A,C)
+  \tkzDrawPoints(A,H) \tkzLabelPoints(A,B,H)
+  \tkzLabelPoints[above](C)
+  \tkzDotProduct(A,B,C) \tkzGetResult{pabc}
+  \pgfmathparse{round(10*\pabc)/10}
+  \let\pabc\pgfmathresult
+  \node at (1,-3) {%
+  $\overrightarrow{PA}\cdot \overrightarrow{PB}=\pabc$};
+  \tkzDotProduct(A,H,B) \tkzGetResult{phab}
+  \pgfmathparse{round(10*\phab)/10}
+  \let\phab\pgfmathresult
+  \node at (1,-4) {$PA \times PH = \phab $};
+\end{tikzpicture}
+\end{tkzexample}
+% subsubsection simple_example (end)
+
+
+\subsubsection{Cocyclic points} % (fold)
+\label{ssub:cocyclicpts}
+
+\begin{tkzexample}[small,latex=7cm]
+\begin{tikzpicture}[scale=.75]
+  \tkzDefPoints{1/2/O,5/2/B,2/2/P,3/3/Q}
+  \tkzInterLC[common=B](O,B)(O,B) \tkzGetFirstPoint{A}
+  \tkzInterLC[common=B](P,Q)(O,B) \tkzGetPoints{C}{D}
+  \tkzDrawCircle(O,B)
+  \tkzDrawSegments(A,B C,D)
+  \tkzDrawPoints(A,B,C,D,P)
+  \tkzLabelPoints(P)
+  \tkzLabelPoints[below left](A,C)
+  \tkzLabelPoints[above right](B,D)
+  \tkzDotProduct(P,A,B) \tkzGetResult{pab}
+  \pgfmathparse{round(10*\pab)/10}
+  \let\pab\pgfmathresult
+  \tkzDotProduct(P,C,D) \tkzGetResult{pcd}
+  \pgfmathparse{round(10*\pcd)/10}
+  \let\pcd\pgfmathresult
+  \node at (1,-3) {%
+  $\overrightarrow{PA}\cdot \overrightarrow{PB} =
+   \overrightarrow{PC}\cdot \overrightarrow{PD}$};
+    \node at (1,-4)%
+    {$\overrightarrow{PA}\cdot \overrightarrow{PB} =\pab$};
+ \node at (1,-5){%
+ $\overrightarrow{PC}\cdot \overrightarrow{PD} =\pcd$};
+\end{tikzpicture}
+\end{tkzexample}
+% subsubsection cocyclicpts (end)
+
+
+\subsection{Power of a point with respect to a circle}
+
+\begin{NewMacroBox}{tkzPowerCircle}{\parg{$pt1$}\parg{$pt2$,$pt3$}}%
+\begin{tabular}{lll}%
+arguments             & example & explanation                         \\
+\midrule
+\TAline{(pt1)(pt2,pt3)} {\tkzcname{tkzPowerCircle}(A)(O,M)}{power of $A$ with respect to the circle (O,A)}
+\end{tabular}
+
+\emph{The result is a number that represents the power of a point with respect to a circle.}
+\end{NewMacroBox}
+
+\subsubsection{Power from the radical axis} % (fold)
+\label{ssub:power}
+
+In this example, the radical axis $(EF)$ has been drawn. A point $H$ has been chosen on $(EF)$ and the power of the point $H$ with respect to the circle of center $A$ has been calculated as well as $PS^2$. You can check that the power of $H$ with respect to the circle of center $C$ as well as $HS'^2, HT^2, HT'^2$ give the same result.  
+
+\begin{tkzexample}[small,latex=7cm]
+\begin{tikzpicture}[scale=.5]
+  \tkzDefPoints{-1/0/A,0/5/B,5/-1/C,7/1/D}
+  \tkzDrawCircles(A,B C,D)
+  \tkzDefRadicalAxis(A,B)(C,D) \tkzGetPoints{E}{F}
+  \tkzDrawLine[add=1 and 2](E,F)
+  \tkzDefPointOnLine[pos=1.5](E,F) \tkzGetPoint{H}
+  \tkzDefLine[tangent from = H](A,B)\tkzGetPoints{T}{T'}
+  \tkzDefLine[tangent from = H](C,D)\tkzGetPoints{S}{S'}
+  \tkzDrawSegments(H,T H,T' H,S H,S')
+  \tkzDrawPoints(A,B,C,D,E,F,H,T,T',S,S')
+  \tkzPowerCircle(H)(A,B) \tkzGetResult{pw}
+  \tkzDotProduct(H,S,S) \tkzGetResult{phtt}
+  \node {Power $\approx \pw \approx \phtt$};
+\end{tikzpicture}
+\end{tkzexample}
+% subsubsection power (end)
+
+\subsection{Radical axis}
+
+In geometry, the radical axis of two non-concentric circles is the set of points whose power with respect to the circles are equal. Here |\tkzDefRadicalAxis(A,B)(C,D)| gives the radical axis of the two circles $\mathcal{C}(A,B)$ and $\mathcal{C}(C,D)$. 
+
+\begin{NewMacroBox}{tkzDefRadicalAxis}{\parg{$pt1$,$pt2$}\parg{$pt3$,$pt4$}}%
+\begin{tabular}{lll}%
+arguments             & example & explanation                         \\
+\midrule
+\TAline{(pt1,pt2)(pt3,pt4)} {\tkzcname{tkzDefRadicalAxis}(A,B)(C,D)}{Two circles with centers $A$ and $C$}
+\midrule
+\end{tabular}
+
+
+\emph{The result is two points of the radical axis.}
+\end{NewMacroBox}
+
+\subsubsection{Two circles disjointed} % (fold)
+\label{ssub:two_circles_disjointed}
+
+
+\begin{tkzexample}[small,latex=8cm]
+\begin{tikzpicture}[scale=.75]
+    \tkzDefPoints{-1/0/A,0/2/B,4/-1/C,4/0/D}
+    \tkzDrawCircles(A,B C,D)
+    \tkzDefRadicalAxis(A,B)(C,D)
+     \tkzGetPoints{E}{F}
+    \tkzDrawLine[add=1 and 2](E,F)
+    \tkzDrawLine[add=.5 and .5](A,C)
+\end{tikzpicture}
+\end{tkzexample}
+% subsubsection two_circles_disjointed (end)
+
+\subsubsection{Three circles} % (fold)
+\label{ssub:threecircles}
+
+
+
+\begin{tkzexample}[small,latex=8cm]
+\begin{tikzpicture}[scale=.4]
+  \tkzDefPoints{0/0/A,5/0/a,7/-1/B,3/-1/b,5/-4/C,2/-4/c}
+  \tkzDrawCircles(A,a B,b C,c)
+  \tkzDefRadicalAxis(A,a)(B,b) \tkzGetPoints{i}{j}
+  \tkzDefRadicalAxis(A,a)(C,c) \tkzGetPoints{k}{l}
+  \tkzDefRadicalAxis(C,c)(B,b) \tkzGetPoints{m}{n}
+  \tkzDrawLines[new](i,j k,l m,n)
+\end{tikzpicture}
+\end{tkzexample}
+% subsubsection threecircles (end)
+  
+\subsection{\tkzcname{tkzIsLinear}, \tkzcname{tkzIsOrtho}}
+ \begin{NewMacroBox}{tkzIsLinear}{\parg{$pt1$,$pt2$,$pt3$}}%
+ \begin{tabular}{lll}%
+ arguments             & example & explanation                         \\
+ \midrule
+ \TAline{(pt1,pt2,pt3)} {\tkzcname{tkzIsLinear}(A,B,C)}{$A,B,C$ aligned ?}
+ \midrule
+ \end{tabular}
+ 
+ \emph{\tkzcname{tkzIsLinear} allows to test the alignment of the three points $pt1$,$pt2$,$pt3$. }
+ \end{NewMacroBox}
+ 
+ \begin{NewMacroBox}{tkzIsOrtho}{\parg{$pt1$,$pt2$,$pt3$}}%
+ \begin{tabular}{lll}%
+ arguments             & example & explanation                         \\
+ \midrule
+ \TAline{(pt1,pt2,pt3)} {\tkzcname{tkzIsOrtho}(A,B,C)}{$(AB)\perp (AC)$ ? }
+ \midrule
+ \end{tabular}
+ 
+ \emph{\tkzcname{tkzIsOrtho} allows to test the orthogonality of lines $(pt1pt2)$ and $(pt1pt3)$. }
+ \end{NewMacroBox}
+ 
+ \subsubsection{Use of \tkzcname{tkzIsOrtho} and \tkzcname{tkzIsLinear}}
+   
+\begin{tkzexample}[small,latex=7cm]
+  \begin{tikzpicture}
+  \tkzDefPoints{1/-2/A,5/0/B}
+  \tkzDefCircle[diameter](A,B) \tkzGetPoint{O}
+  \tkzDrawCircle(O,A)
+  \tkzDefPointBy[rotation= center O angle 60](B) 
+  \tkzGetPoint{C}
+  \tkzDefPointBy[rotation= center O angle 60](A) 
+  \tkzGetPoint{D}
+  \tkzDrawCircle(O,A)
+  \tkzDrawPoints(A,B,C,D,O)
+  \tkzIsOrtho(C,A,B)
+  \iftkzOrtho
+    \tkzDrawPolygon[blue](A,B,C)
+  \tkzDrawPoints[blue](A,B,C,D)
+  \else
+  \tkzDrawPoints[red](A,B,C,D)
+  \fi
+   \tkzIsLinear(O,C,D)
+    \iftkzLinear
+    \tkzDrawSegment[orange](C,D)
+    \fi
+\end{tikzpicture}
+  
+\end{tkzexample}
+
+  
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-triangles.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-triangles.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-triangles.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -18,6 +18,7 @@
 \item \tkzname{cheops} determines a third point such that the triangle is isosceles with side measurements proportional to $2$, $\Phi$ and $\Phi$.
 \end{itemize}
 
+\newpage
 \begin{NewMacroBox}{tkzDefTriangle}{\oarg{local options}\parg{A,B}}%
 The points are ordered because the triangle is constructed following the direct direction of the trigonometric circle. This macro is either used in partnership with \tkzcname{tkzGetPoint} or by using \tkzname{tkzPointResult} if it is not necessary to keep the name.
 
@@ -34,9 +35,10 @@
 \TOline{pythagoras}{equilateral}{same as above}
 \TOline{egyptian}{equilateral}{same as above}
 \TOline{school} {equilateral}{angles of 30, 60 and 90 degrees }
-\TOline{gold}{equilateral}{angles of 72, 72 and 36 degrees, $A$ is the apex}
-\TOline{euclid} {equilateral}{same as above but $[AB]$ is the base}
-\TOline{golden} {equilateral}{B rectangle and $AB/AC = \Phi$}
+\TOline{gold}{equilateral}{B rectangle and $AB/AC = \Phi$}
+\TOline{euclid} {equilateral}{angles of 72, 72 and 36 degrees, $A$ is the apex}
+\TOline{golden} {equilateral}{angles of 72, 72 and 36 degrees, $C$ is the apex}
+\TOline{sublime} {equilateral}{angles of 72, 72 and 36 degrees, $C$ is the apex}
 \TOline{cheops} {equilateral}{AC=BC, AC and BC are proportional to $2$ and $\Phi$.}
 \TOline{swap} {false}{gives the symmetric point with respect to $AB$}
 \bottomrule
@@ -43,7 +45,7 @@
 \end{tabular}
 
 \medskip
-\tkzcname{tkzGetPoint} allows you to store the point otherwise \tkzname{tkzPointResult} allows for immediate use.
+\emph{\tkzcname{tkzGetPoint} allows you to store the point otherwise \tkzname{tkzPointResult} allows for immediate use.}
 \end{NewMacroBox}
 
 \subsubsection{Option \tkzname{equilateral}}
@@ -94,6 +96,8 @@
   \tkzLabelAngle[pos=0.8](A,C,B){$60^\circ$} 
   \tkzDrawSegments(A,B)
   \tkzDrawSegments[new](A,C B,C)
+  \tkzLabelPoints(A,B)
+  \tkzLabelPoints[above](C)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -108,10 +112,10 @@
   \tkzDrawSegments(A,B)
   \tkzDrawSegments[new](A,C B,C)
   \tkzMarkRightAngles(A,B,C)
-  \tkzLabelPoint[above,new](C){$C$} 
   \tkzDrawPoints[new](C) 
   \tkzDrawPoints(A,B) 
-  \tkzLabelPoints(A,B) 
+  \tkzLabelPoints[above](A,B)
+  \tkzLabelPoints[new](C)  
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -148,6 +152,23 @@
 \end{tikzpicture}
 \end{tkzexample}
 
+\subsubsection{Option \tkzname{euclid}}
+\tkzimp{Euclid} and \tkzimp{golden} are identical but the segment AB is a base in one and a side in the other. 
+
+\begin{tkzexample}[latex=7 cm,small]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
+ \tkzDefTriangle[euclid](A,B)\tkzGetPoint{C}
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(C)
+ \tkzLabelPoints[above](A,B)
+ \tkzLabelAngle[pos=0.8](A,B,C){$72^\circ$}
+ \tkzLabelAngle[pos=0.8](B,C,A){$72^\circ$}
+ \tkzLabelAngle[pos=0.8](C,A,B){$36^\circ$}
+\end{tikzpicture}
+\end{tkzexample}
+
 \subsubsection{Option \tkzname{isosceles right}}
 \begin{tkzexample}[latex=7 cm,small]
 \begin{tikzpicture}
@@ -158,7 +179,8 @@
   \tkzDrawPolygons(A,B,C)
   \tkzDrawPoints(A,B,C)
   \tkzMarkRightAngles(A,C,B)
-  \tkzLabelPoints(A,B,C)
+  \tkzLabelPoints(A,B)
+  \tkzLabelPoints[above](C)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -170,31 +192,14 @@
  \tkzGetPoint{C}
  \tkzDrawPolygon(A,B,C)
  \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(B) \tkzLabelPoints[below](A,C)
- \tkzLabelAngle[pos=0.8](C,A,B){$36^\circ$}
- \tkzLabelAngle[pos=0.8](A,B,C){$72^\circ$}
- \tkzLabelAngle[pos=0.8](B,C,A){$72^\circ$}
+ \tkzLabelPoints[above](A,B) 
+ \tkzLabelPoints[below](C)
+ \tkzMarkRightAngle(A,B,C)
+ \tkzText(0,-2){$\dfrac{AC}{AB}=\varphi$}
 \end{tikzpicture}
 \end{tkzexample}
 
-
-\subsubsection{Option \tkzname{euclid}}
-\tkzimp{Euclid} and \tkzimp{gold} are identical but the segment AB is a base in one and a side in the other. 
-
-\begin{tkzexample}[latex=7 cm,small]
-\begin{tikzpicture}[scale=.75]
- \tkzDefPoint(0,0){A} \tkzDefPoint(4,0){B}
- \tkzDefTriangle[euclid](A,B)\tkzGetPoint{C}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
- \tkzLabelAngle[pos=0.8](B,A,C){$72^\circ$}
- \tkzLabelAngle[pos=0.8](C,B,A){$72^\circ$}
- \tkzLabelAngle[pos=0.8](A,C,B){$36^\circ$}
-\end{tikzpicture}
-\end{tkzexample}
-
+\clearpage
 \subsection{Specific triangles with \tkzcname{tkzDefSpcTriangle}}
 
 The centers of some triangles have been defined in the "points" section, here it is a question of determining the three vertices of specific triangles.
@@ -202,7 +207,6 @@
 \begin{NewMacroBox}{tkzDefSpcTriangle}{\oarg{local options}\parg{p1,p2,p3}\marg{r1,r2,r3}}
 The order of the points is important! p1p2p3 defines a triangle then the result is a triangle whose vertices have as reference a combination with \tkzname{name} and r1,r2, r3. If \tkzname{name} is empty then the references are  r1,r2 and r3.
 
-
 \medskip
 \begin{tabular}{lll}%
 \toprule
@@ -223,7 +227,6 @@
 \TOline{name} {empty}{used to name the vertices}
 \midrule
 \end{tabular}
-
 \end{NewMacroBox}
 
 \subsubsection{How to name the vertices}
@@ -243,20 +246,22 @@
 In the following example, we obtain the Euler circle which passes through the previously defined points.
 
 \begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[rotate=90,scale=.75]
- \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
- \tkzDefTriangleCenter[centroid](A,B,C)
- \tkzGetPoint{M}
- \tkzDefSpcTriangle[medial,name=M](A,B,C){_A,_B,_C}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawSegments[dashed,new](A,M_A B,M_B C,M_C)
- \tkzDrawPolygon[new](M_A,M_B,M_C)
- \tkzDrawPoints(A,B,C)
- \tkzDrawPoints[new](M,M_A,M_B,M_C)
- \tkzAutoLabelPoints[center=M,font=\scriptsize]%
-(A,B,C,M_A,M_B,M_C)
- \tkzLabelPoints[font=\scriptsize](M)
-\end{tikzpicture}
+  \begin{tikzpicture}[rotate=90,scale=.75]
+   \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
+   \tkzDefTriangleCenter[centroid](A,B,C)
+   \tkzGetPoint{M}
+   \tkzDefSpcTriangle[medial,name=M](A,B,C){_A,_B,_C}
+   \tkzDrawPolygon(A,B,C)
+   \tkzDrawSegments[dashed,new](A,M_A B,M_B C,M_C)
+   \tkzDrawPolygon[new](M_A,M_B,M_C)
+   \tkzDrawPoints(A,B,C)
+   \tkzDrawPoints[new](M,M_A,M_B,M_C)
+   \tkzLabelPoints[above](B)
+   \tkzLabelPoints[below](A,C,M_B)
+   \tkzLabelPoints[right](M_C)
+   \tkzLabelPoints[left](M_A)
+   \tkzLabelPoints[font=\scriptsize](M)
+  \end{tikzpicture}
 \end{tkzexample}
 
 \subsubsection{Option \tkzname{in} or \tkzname{incentral} }
@@ -270,18 +275,17 @@
 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=1]
-  \tkzDefPoints{ 0/0/A,5/0/B,1/3/C}
+  \tkzDefPoints{ 0/0/A,5/0/B,2/3/C}
   \tkzDefSpcTriangle[in,name=I](A,B,C){_a,_b,_c}
-  \tkzInCenter(A,B,C)\tkzGetPoint{I}
+  \tkzDefCircle[in](A,B,C) \tkzGetPoints{I}{a}
+  \tkzDrawCircle(I,a)
   \tkzDrawPolygon(A,B,C)
   \tkzDrawPolygon[new](I_a,I_b,I_c)
-  \tkzDrawPoints(A,B,C,I,I_a,I_b,I_c)
-  \tkzDrawCircle[in](A,B,C)
   \tkzDrawSegments[dashed,new](A,I_a B,I_b C,I_c)
-  \tkzAutoLabelPoints[center=I,%
-  new,font=\scriptsize](I_a,I_b,I_c)
-  \tkzAutoLabelPoints[center=I,
-    font=\scriptsize](A,B,C)
+  \tkzDrawPoints(A,B,C,I,I_a,I_b,I_c) 
+  \tkzLabelPoints[below](A,B,I_c)
+  \tkzLabelPoints[above left](I_b)
+  \tkzLabelPoints[above right](C,I_a)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -317,15 +321,16 @@
  \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}          
  \tkzDefSpcTriangle[intouch,name=X](A,B,C){_a,_b,_c}
  \tkzInCenter(A,B,C)\tkzGetPoint{I}
+ \tkzDefCircle[in](A,B,C) \tkzGetPoints{I}{i}
+ \tkzDrawCircle(I,i)
  \tkzDrawPolygon(A,B,C)
  \tkzDrawPolygon[new](X_a,X_b,X_c)
  \tkzDrawPoints(A,B,C)
  \tkzDrawPoints[new](X_a,X_b,X_c)
- \tkzDrawCircle[in](A,B,C)
- \tkzAutoLabelPoints[center=I,blue,font=\scriptsize]%
-(X_a,X_b,X_c)
- \tkzAutoLabelPoints[center=I,red,font=\scriptsize]%
-(A,B,C)
+ \tkzLabelPoints[right](X_a)
+ \tkzLabelPoints[left](X_b)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[below](A,B,X_c)
 \end{tikzpicture} 
 \end{tkzexample}
 
@@ -355,10 +360,13 @@
 \tkzDrawPolygon(A,B,C)
 \tkzDrawPolygon[new](T_a,T_b,T_c)
 \tkzDrawPoints(A,B,C,N_a)
-\tkzLabelPoints(N_a)
-\tkzAutoLabelPoints[center=N_a](A,B,C)
-\tkzAutoLabelPoints[center=G,new,
-                         dist=.4](T_a,T_b,T_c)
+\tkzDrawPoints[new](T_a,T_b,T_c)
+\tkzLabelPoints[below left](A)
+\tkzLabelPoints[below](N_a,B)
+\tkzLabelPoints[above](C)
+\tkzLabelPoints[new,below left](T_b)
+\tkzLabelPoints[new,below right](T_c)
+\tkzLabelPoints[new,right=6pt](T_a)
 \tkzMarkRightAngles[fill=gray!15](J_a,T_a,B
  J_b,T_b,C J_c,T_c,A)
 \end{tikzpicture}
@@ -384,7 +392,6 @@
  \tkzDrawPoints[new](H_A,H_B,H_C)
  \tkzDrawPolygon[new,fill=orange!20,
                 opacity=.3](H_A,H_B,H_C)
- \tkzDrawPoint(a)
  \tkzLabelPoints(C)
  \tkzLabelPoints[left](B)
  \tkzLabelPoints[above](A)
@@ -401,7 +408,7 @@
  The points of tangency define the Feuerbach triangle.
 
 \begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}[scale=1.25]
+\begin{tikzpicture}[scale=1]
   \tkzDefPoint(0,0){A}
   \tkzDefPoint(3,0){B}
   \tkzDefPoint(0.5,2.5){C}
@@ -412,16 +419,18 @@
                        name=J](A,B,C){_a,_b,_c}
   \tkzDefSpcTriangle[extouch,
                         name=T](A,B,C){_a,_b,_c}
-  \tkzDrawPoints[blue](J_a,J_b,J_c,%
-          F_a,F_b,F_c,A,B,C)
+  \tkzLabelPoints[below left](J_a,J_b,J_c)  
   \tkzClipBB \tkzShowBB
   \tkzDrawCircle[purple](N,F_a)
   \tkzDrawPolygon(A,B,C)
   \tkzDrawPolygon[new](F_a,F_b,F_c)
   \tkzDrawCircles[gray](J_a,F_a J_b,F_b J_c,F_c)
-  \tkzAutoLabelPoints[center=N,dist=.3,
-   font=\scriptsize](A,B,C,F_a,F_b,%
-                   F_c,J_a,J_b,J_c)
+  \tkzDrawPoints[blue](J_a,J_b,J_c,%
+          F_a,F_b,F_c,A,B,C)
+  \tkzLabelPoints(A,B,F_c)
+  \tkzLabelPoints[above](C)    
+  \tkzLabelPoints[right](F_a)
+  \tkzLabelPoints[left](F_b)        
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -442,8 +451,11 @@
   \tkzDefCircle[circum](A,B,C)  
   \tkzGetPoint{O} 
   \tkzDrawCircle(O,A)
-  \tkzLabelPoints(A,B,C)
-  \tkzLabelPoints[new](T_a,T_b,T_c)
+  \tkzLabelPoints(A)
+  \tkzLabelPoints[above](B)
+  \tkzLabelPoints[left](C)
+  \tkzLabelPoints[new](T_b,T_c)
+  \tkzLabelPoints[new,left](T_a)
 \end{tikzpicture} 
 \end{tkzexample} 
 
@@ -487,20 +499,21 @@
     \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
     \tkzDefSpcTriangle[euler,name=E](A,B,C){a,b,c}
     \tkzDefSpcTriangle[orthic,name=H](A,B,C){a,b,c}
-    \tkzDefExCircle(A,B,C) \tkzGetPoint{I} \tkzGetLength{rI}
-    \tkzDefExCircle(C,A,B) \tkzGetPoint{J} \tkzGetLength{rJ}
-    \tkzDefExCircle(B,C,A) \tkzGetPoint{K} \tkzGetLength{rK}
+    \tkzDefExCircle(A,B,C) \tkzGetPoints{I}{i}
+    \tkzDefExCircle(C,A,B) \tkzGetPoints{J}{j}
+    \tkzDefExCircle(B,C,A) \tkzGetPoints{K}{k}
     \tkzDrawPoints[orange](I,J,K)
     \tkzLabelPoints[font=\scriptsize](A,B,C,I,J,K)
     \tkzClipBB
-    \tkzInterLC[R](I,C)(I,\rI) \tkzGetSecondPoint{Fc}
-    \tkzInterLC[R](J,B)(J,\rJ) \tkzGetSecondPoint{Fb}
-    \tkzInterLC[R](K,A)(K,\rK) \tkzGetSecondPoint{Fa}
+    \tkzInterLC(I,C)(I,i) \tkzGetSecondPoint{Fc}
+    \tkzInterLC(J,B)(J,j) \tkzGetSecondPoint{Fb}
+    \tkzInterLC(K,A)(K,k) \tkzGetSecondPoint{Fa}
     \tkzDrawLines[add=1.5 and 1.5](A,B A,C B,C)
-    \tkzDrawCircle[euler,orange](A,B,C) \tkzGetPoint{E}
+    \tkzDefCircle[euler](A,B,C) \tkzGetPoints{E}{e}
+    \tkzDrawCircle[orange](E,e)
     \tkzDrawSegments[orange](E,I E,J E,K)
     \tkzDrawSegments[dashed](A,Ha B,Hb C,Hc)
-    \tkzDrawCircles[R](J,{\rJ} I,{\rI} K,{\rK})
+    \tkzDrawCircles(J,j I,i K,k)
     \tkzDrawPoints(A,B,C)
     \tkzDrawPoints[orange](E,I,J,K,Ha,Hb,Hc,Ea,Eb,Ec,Fa,Fb,Fc)
     \tkzLabelPoints[font=\scriptsize](E,Ea,Eb,Ec,Ha,Hb,Hc,Fa,Fb,Fc)  
@@ -507,7 +520,6 @@
   \end{tikzpicture}
 \end{tkzexample}
 
-
 \subsubsection{Option \tkzname{symmedial}}
 The symmedial triangle$ K_AK_BK_C$ is the triangle whose vertices are the intersection points of the symmedians with the reference triangle $ABC$. 
 
@@ -521,7 +533,10 @@
 \tkzDrawPolygon(A,B,C)
 \tkzDrawSegments[new](A,K_A B,K_B C,K_C)
 \tkzDrawPoints(A,B,C,K,K_A,K_B,K_C)
-\tkzLabelPoints[font=\scriptsize](A,B,C,K,K_A,K_B,K_C)
+\tkzLabelPoints(A,B,K,K_C)
+\tkzLabelPoints[above](C)
+\tkzLabelPoints[right](K_A)
+\tkzLabelPoints[left](K_B)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -535,23 +550,12 @@
 \midrule
 \end{tabular}
 
+\medskip
 \emph{The triangle is unchanged.}
 \end{NewMacroBox}
 
 \subsubsection{Modification of the \tkzname{school} triangle}
-This triangle is constructed from the segment $[AB]$ on $[A,x)$
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
-  \tkzDefPoints{0/0/A,4/0/B,6/0/x}
-  \tkzDefTriangle[school](A,B)  
-  \tkzGetPoint{C}
-  \tkzDrawSegments(A,B B,x)
-  \tkzDrawSegments(A,C B,C)
-  \tkzDrawPoints(A,B,C)
-  \tkzLabelPoints(A,B,C,x)
-  \tkzMarkRightAngles(C,B,A)
-\end{tikzpicture}
-\end{tkzexample}
+This triangle is constructed from the segment $[AB]$ on $[A,x)$.
 
 If we want the segment $[AC]$ to be on $[A,x)$, we just have to swap $B$ and $C$.
 

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/tkz-euclide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg	2022-07-15 21:46:25 UTC (rev 63907)
@@ -16,9 +16,9 @@
 % and save the file in a directory  part of your TEXINPUTS environment 
 % variable. 
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-euclide.cfg}
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-euclide.cfg}
 %<------   colors  ---------------------------------------–> 
 \def\tkz at backgroundcolor{white}
 \def\tkz at textcolor{black}  
@@ -26,35 +26,75 @@
 \def\tkz at fillcolor{\tkz at backgroundcolor}    
 \def\tkz at mainlinecolor{\tkz at textcolor} 
 \def\tkz at otherlinecolor{\tkz at 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 at init@xorigine{0}
-\def\tkz at init@yorigine{0}
-\def\tkz at init@xstep{1}
-\def\tkz at init@ystep{1}
-\def\tkz at init@xmin{0}
-\def\tkz at init@ymin{0}
-\def\tkz at init@xmax{10}
-\def\tkz at init@ymax{10}
-\def\tkz at init@xdec{1}
-\def\tkz at init@ydec{1}  
 %<--------------------------    points   -----------------------------------–>
 \def\tkz at euc@pointshape{circle}
 \def\tkz at euc@pointcolor{\tkz at mainlinecolor}
 \def\tkz at euc@labelcolor{\tkz at mainlinecolor} 
-\def\tkz at euc@pointsize{3}
+\def\tkz at euc@pointsize{2}
 \def\tkz at euc@pointpos{below right}
 \def\tkz at euc@segmentcolor{\tkz at mainlinecolor}
 \def\tkz at euc@circlecolor{\tkz at mainlinecolor}
+\tikzset{point style/.style = {draw         = \tkz at euc@pointcolor,
+                               inner sep    = 0pt,
+                               shape        = \tkz at euc@pointshape,
+                               minimum size = \tkz at euc@pointsize,
+                               fill         = \tkz at euc@pointcolor
+                               }
+        }  
+% label for the point 
+\tikzset{label style/.style={ below, \tkz at euc@labelcolor,
+                                font = \normalsize}
+                                }
+\tikzset{label angle style/.style={ \tkz at euc@labelcolor,
+                                font = \normalsize}
+                                }                                   
 %<--------------------------   line  ---------------------------------------–>
 \def\tkz at euc@linecolor{\tkz at mainlinecolor}
-\def\tkz at euc@linewidth{0.6pt}
+\def\tkz at euc@linewidth{0.2pt}
 \def\tkz at euc@linestyle{solid}
 \def\tkz at euc@lineleft{.2}
 \def\tkz at euc@lineright{.2}
+\tikzset{%
+line style/.style = {%
+    line width = \tkz at euc@linewidth,
+    color      = \tkz at euc@linecolor,
+    style      = \tkz at euc@linestyle,
+    add        = {\tkz at euc@lineleft} and    {\tkz at euc@lineright},
+    line cap   = round
+    }
+}
+%<-------------------------    circle   -----------------------------------–>   
+\def\tkz at euc@circlelw{\tkz at euc@linewidth}
+\def\tkz at euc@circlecolor{\tkz at otherlinecolor}
+\def\tkz at euc@circlestyle{solid}
+\tikzset{%
+circle style/.style         = {%
+    color         = \tkz at euc@circlecolor,
+    line width    = \tkz at euc@circlelw,
+    style         = \tkz at euc@circlestyle}
+}
+\tikzset{label circle style/.style = {%
+    color      = \tkz at mainlinecolor}
+}
+%<-------------------------    compass   -----------------------------------–> 
+\def\tkz at euc@compasscolor{\tkz at otherlinecolor}
+\def\tkz at euc@compasswidth{\tkz at euc@linewidth}
+\def\tkz at euc@compassstyle{solid} 
+\tikzset{%
+compass style/.style         = {%
+    color         = \tkz at euc@compasscolor,
+    line width    = \tkz at euc@compasswidth,
+    style         = \tkz at euc@compassstyle}
+} 
+%<-------------------------    arc   -----------------------------------–> 
+\def\tkz at euc@arclw{\tkz at euc@linewidth}
+\def\tkz at euc@arccolor{\tkz at mainlinecolor}
+\def\tkz at euc@arcstyle{solid}
+\tikzset{%
+arc style/.style={%
+    color     = \tkz at euc@arccolor,
+    line width  = \tkz at euc@linewidth}
+}               
 %<------   axes cartesian system  ---------------------------------------–>   
 \def\tkz at init@color{\tkz at textcolor}
 \def\tkz at init@lw{0.4 pt}
@@ -86,14 +126,7 @@
 \def\tkz at init@gradsize{\textstyle}
 \def\tkzRatioLineGrid{0.75} 
 \def\tkz at gd@sublw{0.4 pt}% size line sub grid
-%<-------------------------    compass   -----------------------------------–> 
-\def\tkz at euc@compasscolor{\tkz at otherlinecolor}
-\def\tkz at euc@compasswidth{0.4pt}
-\def\tkz at euc@compassstyle{solid} 
-%<-------------------------    arc   -----------------------------------–> 
-\def\tkz at arc@lw{0.4pt}
-\def\tkz at arc@color{\tkz at mainlinecolor}
-\def\tkz at arc@style{solid}   
+ 
 %<----------------------------    mark   -----------------------------------–> 
 \def\tkz at mk@color{\tkz at mainlinecolor}
 \def\tkz at mk@mark{*}
@@ -114,41 +147,11 @@
 }  
 \tikzset{yaxe style/.style                  =   {>          =   latex,  ->}
 }    
-
-\tikzset{point style/.style = {draw         = \tkz at euc@pointcolor,
-                               inner sep    = 0pt,
-                               shape        = \tkz at euc@pointshape,
-                               minimum size = \tkz at euc@pointsize,
-                               fill         = \tkz at euc@pointcolor
-                               }
-        }  
-% label for the point 
-\tikzset{label style/.style={   \tkz at euc@pointpos,
-                                \tkz at euc@labelcolor,
-                                font = \normalsize}
-                                }
-\tikzset{label angle style/.style={ \tkz at euc@labelcolor,
-                                font = \normalsize}
-                                }                                
-\tikzset{line style/.style = {line width = \tkz at euc@linewidth,
-                              color      = \tkz at euc@linecolor,
-                              style      = \tkz at euc@linestyle,
-                              add        = {\tkz at euc@lineleft} and    {\tkz at euc@lineright},
-                              line cap   = round
-                             }
-        }
-\tikzset{label seg style/.style = {color      = \tkz at mainlinecolor,
-                                   auto
-                                   }
-        }   
         
 \tikzset{rep style/.style       = { ->,
                                     >=latex}
                                 }                             
-\tikzset{compass style/.style         = {color         = \tkz at euc@compasscolor,
-                                         line width    = \tkz at euc@compasswidth,
-                                         style         = \tkz at euc@compassstyle}
-                                 } 
+
 \tikzset{mark style/.style            =  {mark         =    \tkz at mk@mark,
                                           mark size    =    \tkz at mk@size,
                                           mark options = {color= \tkz at mk@color,
@@ -156,7 +159,22 @@
                                                  }
                                 }
 }
-\tikzset{arc style/.style={gray,thin}}
+
+%<------------------------- Cartesian system   -----------------------------–>
+% Default unity cm
+% Geometry Euclidean  with unity for x and y = 1cm ---> step = 1
+% 0 ≤ x ≤ 10
+% 0 ≤ y ≤ 10
+\def\tkz at init@xorigine{0}
+\def\tkz at init@yorigine{0}
+\def\tkz at init@xstep{1}
+\def\tkz at init@ystep{1}
+\def\tkz at init@xmin{0}
+\def\tkz at init@ymin{0}
+\def\tkz at init@xmax{10}
+\def\tkz at init@ymax{10}
+\def\tkz at init@xdec{1}
+\def\tkz at init@ydec{1}  
 %<----------------------    show coord   -----------------------------------–> 
 \tikzset{arrow coord style/.style   =   {dashed,
                                         \tkz at euc@linecolor,
@@ -180,6 +198,7 @@
                                         left        =   3pt}
                                         }  
 %
+\tikzset{help lines/.style=teal!30,ultra thin}
 %<---------------------------  arrow --------------------------------------–>
 % Syntax:
 %
@@ -264,6 +283,7 @@
    --(current bounding box.north east) --  (current bounding box.south east)
    -- cycle} }}
    
+
 \def\tkzPhi{1.618034}
 \def\tkzInvPhi{0.618034}
 \def\tkzSqrtPhi{1.27202}
@@ -273,4 +293,5 @@
 \def\tkzSqrTwobyTwo{0.7071065}
 \def\tkzPi{3.1415926}
 \def\tkzEuler{2.71828182}
+
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty	2022-07-15 21:46:25 UTC (rev 63907)
@@ -1,4 +1,4 @@
-% tkz-euclide.sty 
+% tkz-euclide.sty
 % Copyright 2022  Alain Matthes
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3
@@ -5,17 +5,16 @@
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 % http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later.
+% and version 1.3 or later is part of all distributions of LaTeX 
+% version 2005/12/01 or later.
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
-
-%<------------------------------------------------------------>
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b  tkz-euclide.sty} 
+%-------------------------------------------------------------------------------
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c  tkz-euclide.sty} 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tkz-euclide}[ 2022/02/25 4.051b for pure  Euclidean Geometry ]
-
+\ProvidesPackage{tkz-euclide}[ 2022/07/14 4.2c for pure  Euclidean Geometry ]
 \@ifpackageloaded{tkz-base}{
 \newdimen\tkzRadius
 \newdimen\tkzLength
@@ -24,6 +23,7 @@
 \newif\ifnormtkzcode at execute% german ? right angle
 %---------------------- semi circle
 \newif\iftkz at swap@sc
+\newif\iftkz at line@normed
 %--------------------- circles
 \newif\iftkzClipOutCircle 
 %--------------------- polygons
@@ -34,11 +34,16 @@
 %--------------------- intersections
 \newif\iftkzFlagLC\tkzFlagLCfalse
 \newif\iftkzFlagCC\tkzFlagCCfalse
+\newif\iftkz at near\tkz at nearfalse
+%--------------------- 
+\newif\iftkzLinear\tkzLinearfalse
+\newif\iftkzOrtho\tkzOrthofalse
 }{
 \RequirePackage{tikz} 
 \usetikzlibrary{angles,
                 arrows,
                 arrows.meta,
+                backgrounds,
                 calc,
                 decorations,
                 decorations.markings,
@@ -47,16 +52,25 @@
                 decorations.text,
                 decorations.pathmorphing,
                 intersections,
+                math,
                 plotmarks,
+                positioning,
                 quotes,
-                shapes.misc
+                shapes.misc,
+                through
                 }
 \RequirePackage{xfp}
-%---------------------
+\usepackage{xpatch}
+\xpatchcmd\pgfmathreciprocal@@ {\pgfmath at y.1\pgfmath at y\pgfmath at y.1\pgfmath at y\pgfmath at y.1\pgfmath at y\pgfmath at y.1\pgfmath at y}
+  {\pgfmath at y\dimexpr\pgfmath at y/10000\relax}
+  {}{\PatchFailed}
+
+%-------------------------------------------------------------------------------
 \newdimen\tkzRadius
 \newdimen\tkzLength
 \newdimen\tkz at radi
-%--------------------- tkz registres
+%-------------------------------------------------------------------------------
+% tkz registres
 \newdimen\tkz at ax
 \newdimen\tkz at ay
 \newdimen\tkz at bx
@@ -85,6 +99,10 @@
 %--------------------- intersections
 \newif\iftkzFlagLC\tkzFlagLCfalse
 \newif\iftkzFlagCC\tkzFlagCCfalse
+\newif\iftkz at near\tkz at nearfalse
+%--------------------- utilities
+\newif\iftkzLinear\tkzLinearfalse
+\newif\iftkzOrtho\tkzOrthofalse
 %--------------------- tkz axis
 \newif\iftkz at X@noticks
 \newif\iftkz at Y@noticks
@@ -113,7 +131,8 @@
 \newcount\tkz at cntmk
 \newif\iftkz at RappReturn % protractor
 \newif\iftkz at RappFull
-%--------------------- Init
+%-------------------------------------------------------------------------------
+%  Init
 \def\tkz at xa{0}
 \def\tkz at xb{10}
 \def\tkz at ya{0}
@@ -123,13 +142,12 @@
 \typeout{Local configuration file tkz-euclide.cfg found and used}}{%
 \typeout{tkz-euclide.cfg not found}}
 }
-%--------------------- Init
+%-------------------------------------------------------------------------------
 \def\tkz at tmp@xa{-5}
 \def\tkz at tmp@xb{+5}
 \def\tkz at tmp@ya{-5}
 \def\tkz at tmp@yb{+5}
-%<---------------------------------------------------------->
-
+%-------------------------------------------------------------------------------
 \DeclareOption*{}
 \ProcessOptions
 %<---------------------------------------------------------->
@@ -147,11 +165,12 @@
 \input{tkz-obj-eu-axesmin.tex}
 \input{tkz-tools-eu-colors.tex}
 \input{tkz-obj-eu-points.tex}
+\input{tkz-obj-eu-draw-points.tex}
 }
 % next from euclide
+\input{tkz-tools-eu-angles}
+\input{tkz-tools-eu-intersections}
 \input{tkz-tools-eu-math.tex}
-\input{tkz-tools-eu-intersections}
-\input{tkz-tools-eu-angles}
 \input{tkz-obj-eu-compass.tex}
 \input{tkz-obj-eu-circles.tex}
 \input{tkz-obj-eu-circles-by.tex}
@@ -170,4 +189,5 @@
 \input{tkz-obj-eu-sectors.tex}
 \input{tkz-obj-eu-show.tex}
 \input{tkz-obj-eu-triangles}
-\endinput
+
+\endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-lib-eu-marks.tex}   
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-lib-eu-marks.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %  Création des symboles
@@ -19,7 +19,7 @@
 %<--------------------------------------------------------------------------–>
 \def\tkz at undefined{none}    
 % double bar
-\pgfdeclareplotmark{||}
+\pgfdeclareplotmark{  }
 {%
   \pgfpathmoveto{\pgfqpoint{2\pgflinewidth}{\pgfplotmarksize}}
   \pgfpathlineto{\pgfqpoint{2\pgflinewidth}{-\pgfplotmarksize}}
@@ -28,7 +28,7 @@
   \pgfusepathqstroke
 }
 %triple bar
-\pgfdeclareplotmark{|||}
+\pgfdeclareplotmark{   }
 {%
   \pgfpathmoveto{\pgfqpoint{0 pt}{\pgfplotmarksize}}
   \pgfpathlineto{\pgfqpoint{0 pt}{-\pgfplotmarksize}}
@@ -40,7 +40,7 @@
 } 
 % An bar slant
 
-\pgfdeclareplotmark{s|}
+\pgfdeclareplotmark{s }
 {%
   \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}%
                            {-.70710678\pgfplotmarksize}}
@@ -51,7 +51,7 @@
 
 % An double bar slant
 
-\pgfdeclareplotmark{s||}
+\pgfdeclareplotmark{s  }
 {%
  \pgfpathmoveto{\pgfqpoint{-0.75\pgfplotmarksize}{-\pgfplotmarksize}}
  \pgfpathlineto{\pgfqpoint{0.25\pgfplotmarksize}{\pgfplotmarksize}} 
@@ -59,7 +59,7 @@
  \pgfpathlineto{\pgfqpoint{1\pgfplotmarksize}{\pgfplotmarksize}} 
  \pgfusepathqstroke
 }   
-\pgfdeclareplotmark{s|||}
+\pgfdeclareplotmark{s   }
 {%
  \pgfpathmoveto{\pgfqpoint{-0.75\pgfplotmarksize}{-\pgfplotmarksize}}
  \pgfpathlineto{\pgfqpoint{0.25\pgfplotmarksize}{\pgfplotmarksize}} 

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -1,4 +1,4 @@
-% tkz-lib-eu-shape.tex
+ % tkz-lib-eu-shape.tex
 % Copyright 2022  Alain Matthes
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-lib-eu-shape.tex}   
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-lib-eu-shape.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %  Création des symboles

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-axesmin}   
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-axesmin}   
 
 \makeatletter
 \def\removedot#1.{#1}
@@ -107,7 +107,8 @@
   \edef\tkz at posnext{\fpeval{\tkz at posnext/\tkz at init@xstep+\tkz at posmin}}
      \foreach \pos in {\tkz at posmin,...,\tkz at posmax}{%
          \edef\tkz at pos{\fpeval{\pos*1}}% ???
-         \draw[ color         = \tkz at X@color, line width    = \tkz at X@tickwd,
+         \draw[ color         = \tkz at X@color,
+                line width    = \tkz at X@tickwd,
                 shift         = {(\tkz at pos,0)}]%
                 (0pt,\tkz at X@tickup)--(0pt,-\tkz at X@tickdn);
            }

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-circles.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-circles.tex} 
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %            tkzCircle center and one point 
@@ -37,15 +37,10 @@
   rotation/.code args = {center #1 angle #2}{            \def\tkz at numcby{4}
                                                          \def\tkzcenter{#1}
                                                          \def\tkzangle{#2}},
-  orthogonal from/.code args     = {#1}{                 \def\tkz at numcby{5}
-                                                         \def\tkz at ptfrom{#1}}, 
-  orthogonal through/.code args  = {#1 and #2}{          \def\tkz at numcby{6}
-                                                         \def\tkz at ptone{#1}
-                                                         \def\tkz at pttwo{#2}},
-  inversion/.code args={center #1 through #2}{           \def\tkz at numcby{7}
+  inversion/.code args={center #1 through #2}{           \def\tkz at numcby{5}
                                                          \def\tkzcenter{#1}
                                                          \def\tkzpoint{#2}},
-  inversion negative/.code args = {center #1 through #2}{\def\tkz at numcby{8}
+  inversion negative/.code args = {center #1 through #2}{\def\tkz at numcby{6}
                                                          \def\tkzcenter{#1}
                                                          \def\tkzpoint{#2}}
       } 
@@ -64,14 +59,10 @@
   \or% 4
   \tkzDefCircleRotation(#2) 
   \or% 5
-  \tkzDefOrthogonalCircle(#2,\tkz at ptfrom) 
+  \tkzDefInversionCircle(#2,\tkzcenter,\tkzpoint) 
   \or% 6
-  \tkzDefOrthoThroughCircle(#2,\tkz at ptone,\tkz at pttwo)
-  \or% 7
-  \tkzDefInversionCircle(#2,\tkzcenter,\tkzpoint) 
-  \or% 8
- \tkzDefInversionNegativeCircle(#2,\tkzcenter,\tkzpoint) 
-     \fi    
+  \tkzDefInversionNegativeCircle(#2,\tkzcenter,\tkzpoint) 
+\fi    
 \endgroup
 }
 %<--------------------------------------------------------------------------–>
@@ -120,24 +111,43 @@
 \endgroup
 }
 %<--------------------------------------------------------------------------–>
+% #3,#4 cercle d'inversion centre #3. through #4
+% Si le cercle passe par le pôle l'image est une droite
 \def\tkzDefInversionCircle(#1,#2,#3,#4){%  
 \begingroup
-   \tkzInterLC(#3,#1)(#1,#2) \tkzGetPoints{tkz at p1}{tkz at p2}
-   \tkzUInversePoint(#3,#4)(tkz at p1)
+    \tkz@@CalcLengthcm(#1,#2){tkz at lna}% 
+    \tkz@@CalcLengthcm(#1,#3){tkz at lnb}% 
+    \gdef\tkzMathResult{\fpeval{round(abs(\tkz at lnb - \tkz at lna),6)}}
+     \ifdim\tkzMathResult pt < 1 pt\relax%
+    \tkzURotateAngle(#1,-90)(#2)
+    \pgfnodealias{tkz at a}{tkzPointResult}
+
+    \tkzUInversePoint(#3,#4)(tkz at a)
     \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
-    \tkzUInversePoint(#3,#4)(tkz at p2)
+    \tkzUInversePoint(#3,#4)(#2)
     \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+     \else
+    \tkzURotateAngle(#1,90)(#2)
+    \pgfnodealias{tkz at a}{tkzPointResult}
+    \tkzURotateAngle(#1,-90)(#2)
+    \pgfnodealias{tkz at b}{tkzPointResult}
+    \tkzUInversePoint(#3,#4)(tkz at a)
+    \pgfnodealias{tkz at p1}{tkzPointResult}
+    \tkzUInversePoint(#3,#4)(tkz at b)
+    \pgfnodealias{tkz at p2}{tkzPointResult}
+    \tkzUInversePoint(#3,#4)(#2)    
+    \pgfnodealias{tkz at p3}{tkzPointResult}
+    \tkzDefCircle[circum](tkz at p3,tkz at p1,tkz at p2)
+    \fi
 \endgroup
 } 
 %<--------------------------------------------------------------------------–>
 \def\tkzDefInversionNegativeCircle(#1,#2,#3,#4){%
 \begingroup
-   \tkzInterLC(#3,#1)(#1,#2) \tkzGetPoints{tkz at p1}{tkz at p2}
-   \tkzUInversePoint(\tkzcenter,\tkzpoint)(tkz at p1)
-   \tkzUCSym(\tkzcenter)(tkzPointResult)
+   \tkzDefInversionCircle(#1,#2,#3,#4)
+   \tkzUCSym(\tkzcenter)(tkzFirstPointResult)
    \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
-   \tkzUInversePoint(\tkzcenter,\tkzpoint)(tkz at p2)
-   \tkzUCSym(\tkzcenter)(tkzPointResult)
+   \tkzUCSym(\tkzcenter)(tkzSecondPointResult)
    \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
 \endgroup
 }

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-circles.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-circles.tex} 
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %            tkzCircle center and one point 
@@ -23,24 +23,23 @@
 % through instead of radius
 \def\tkz at numc{0}
 \pgfkeys{/tkzcircle/.cd,
-      through/.code                  = \def\tkz at numc{0},
-      radius/.code                   = \def\tkz at numc{0},
-      diameter/.code                 = \def\tkz at numc{1},
-      circum/.code                   = \def\tkz at numc{2},
-      in/.code                       = \def\tkz at numc{3},
-      ex/.code                       = \def\tkz at numc{4},
-      euler/.code                    = \def\tkz at numc{5},
-      nine/.code                     = \def\tkz at numc{5},
-      apollonius/.code               = \def\tkz at numc{6},
-      orthogonal from/.code args     = {#1}{\def\tkz at ptfrom{#1}
-                                            \def\tkz at numc{7}}, 
-      orthogonal through/.code args  = {#1 and #2}{\def\tkz at ptone{#1}
-                                                   \def\tkz at pttwo{#2} 
-                                                   \def\tkz at numc{8}},
-      spieker/.code                  = \def\tkz at numc{9}, 
-      K/.code                        = \def\tkz at koeff{#1},
-      K                              =  1,
-      through
+      R/.code                                   = \def\tkz at numc{0},
+      diameter/.code                            = \def\tkz at numc{1},
+      circum/.code                              = \def\tkz at numc{2},
+      in/.code                                  = \def\tkz at numc{3},
+      ex/.code                                  = \def\tkz at numc{4},
+      euler/.code                               = \def\tkz at numc{5},
+      nine/.code                                = \def\tkz at numc{5},
+      apollonius/.code                          = \def\tkz at numc{6},
+      spieker/.code                             = \def\tkz at numc{7},
+      orthogonal from/.code args                = {#1}{\gdef\tkz at numc{8}
+                                                   \def\tkz at ptfrom{#1}}, 
+      orthogonal through/.code args             = {#1 and #2}{\gdef\tkz at numc{9}
+                                                   \def\tkz at ptone{#1}
+                                                   \def\tkz at pttwo{#2}},
+      K/.code                                   = \def\tkz at koeff{#1},
+      K                                         =  1,
+      circum
       } 
 \def\tkzDefCircle{\pgfutil at ifnextchar[{\tkz at DefCircle}{\tkz at DefCircle[]}}
 \def\tkz at DefCircle[#1](#2){% 
@@ -47,7 +46,7 @@
 \begingroup  
 \pgfqkeys{/tkzcircle}{#1}  
 \ifcase\tkz at numc%
-  \tkzDefCircleThrough(#2)%
+  \tkzDefCircleR(#2)
   \or% 1 
   \tkzDefCircleD(#2)  
   \or% 2
@@ -61,21 +60,24 @@
   \or% 6
   \tkzDefApolloniusCircle(#2) 
   \or% 7
-  \tkzDefOrthogonalCircle(#2,\tkz at ptfrom) 
-  \or% 8
+  \tkzDefSpiekerCircle(#2)
+   \or% 8
+  \tkzDefOrthogonalCircle(#2,\tkz at ptfrom)
+   \or% 9
   \tkzDefOrthoThroughCircle(#2,\tkz at ptone,\tkz at pttwo)
-  \or% 9
-  \tkzDefSpiekerCircle(#2)
      \fi    
 \endgroup
 }
 %for compatibility
 %<--------------------------------------------------------------------------–>
+%                     R
+%<--------------------------------------------------------------------------–>
 \def\tkzDefCircleR(#1,#2){% 
 \begingroup 
    \edef\tkzLengthResult{\fpeval{round(#2,5)}}
    \global\let\tkzLengthResult\tkzLengthResult
-   \tkzRenamePoint(#1){tkzPointResult}
+   \path (#1)--++(\tkzLengthResult,0) coordinate (tkzSecondPointResult);
+   \tkzRenamePoint(tkzSecondPointResult){tkzPointResult}
 \endgroup
 } 
 %<--------------------------------------------------------------------------–>
@@ -83,10 +85,12 @@
 %<--------------------------------------------------------------------------–>
 \def\tkzDefCircleThrough(#1,#2){% 
 \begingroup
-  \tkz@@CalcLengthcm(#1,#2){tkzLengthResult}
-  \tkzRenamePoint(#1){tkzPointResult}
+   \tkz@@CalcLengthcm(#1,#2){tkzLengthResult}
+   \node [draw,circle through=(#2)] at (#1) {};
+   \tkzRenamePoint(#1){tkzPointResult}
 \endgroup
 }    
+
 %<--------------------------------------------------------------------------–>
 %              Diameter Circle
 %<--------------------------------------------------------------------------–>
@@ -93,6 +97,8 @@
 \def\tkzDefCircleD(#1,#2){% 
 \begingroup
   \tkzDefMidPoint(#1,#2)
+  \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+  \pgfnodealias{tkzSecondPointResult}{#2}
   \tkz@@CalcLengthcm(#1,tkzPointResult){tkzLengthResult}
 \endgroup
 } 
@@ -101,8 +107,10 @@
 %<--------------------------------------------------------------------------–>
 \def\tkzDefCircumCircle(#1,#2,#3){%
 \begingroup
-   \tkzCircumCenter(#1,#2,#3)
-   \tkz@@CalcLengthcm(#1,tkzPointResult){tkzLengthResult}%3.06 add [cm]
+  \tkzCircumCenter(#1,#2,#3)
+  \tkzRenamePoint(tkzPointResult){tkzFirstPointResult}
+  \tkzRenamePoint(#1){tkzSecondPointResult}
+  \tkz@@CalcLengthcm(#1,tkzPointResult){tkzLengthResult}%3.06 add [cm]
 \endgroup
 } 
 %<--------------------------------------------------------------------------–>
@@ -152,6 +160,8 @@
  \tkzDefMidPoint(#2,#3) \pgfnodealias{tkz at e2}{tkzPointResult}
  \tkzDefMidPoint(#1,#3) \pgfnodealias{tkz at e3}{tkzPointResult}
  \tkzCircumCenter(tkz at e1,tkz at e2,tkz at e3) 
+  \pgfnodealias{tkzFirstPointResult}{tkzPointResult}  
+ \tkzRenamePoint(tkz at e1){tkzSecondPointResult}
  \tkz@@CalcLengthcm(tkzPointResult,tkz at e1){tkzLengthResult}
 \endgroup
 } 
@@ -163,7 +173,7 @@
    \tkzEulerCenter(#1,#2,#3)
    \pgfnodealias{eur at pta}{tkzPointResult}   
    \tkzDefMidPoint(#1,#2)  
-   \tkz@@CalcLengthcm(eur at pta,tkzPointResult){tkzLengthResult}
+  \tkz@@CalcLengthcm(eur at pta,tkzPointResult){tkzLengthResult}
 \endgroup
 } 
 %<--------------------------------------------------------------------------–>
@@ -172,67 +182,17 @@
 \def\tkzDefApolloniusCircle(#1,#2){%
 \begingroup
   \tkz at VecK[\tkz at koeff/(1+\tkz at koeff)](#1,#2)
-  \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+  \pgfnodealias{apo at pta}{tkzPointResult}    
   \tkz at VecK[\tkz at koeff/(\tkz at koeff-1)](#1,#2)   
-  \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
-  \tkzDefMidPoint(tkzFirstPointResult,tkzSecondPointResult)
-  \tkz@@CalcLengthcm(tkzPointResult,tkzFirstPointResult){tkzLengthResult}
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-%                     Apollonius radius
-%<--------------------------------------------------------------------------–> 
-\pgfkeys{/tkzapor/.cd,
-      K/.code    = \def\tkz at koeff{#1},% apollonius
-      K          =  1
-      } 
-\def\tkzDefApolloniusRadius{\pgfutil at ifnextchar[{%
-    \tkz at DefApolloniusRadius}{\tkz at DefApolloniusRadius[]}}
-\def\tkz at DefApolloniusRadius[#1](#2,#3){% 
-\begingroup
-  \pgfqkeys{/tkzapor}{#1} 
-  \tkz at VecK[\tkz at koeff/(1+\tkz at koeff)](#2,#3) 
-  \pgfnodealias{apo at pta}{tkzPointResult}    
-  \tkz at VecK[\tkz at koeff/(\tkz at koeff-1)](#2,#3) 
   \pgfnodealias{apo at ptb}{tkzPointResult} 
   \tkzDefMidPoint(apo at pta,apo at ptb)  
-  \tkz@@CalcLengthcm(tkzPointResult,apo at pta){tkzLengthResult}   
+  \pgfnodealias{tkzFirstPointResult}{tkzPointResult} 
+  \tkz@@CalcLengthcm(tkzFirstPointResult,apo at pta){tkzLengthResult}  
+  \tkzDefBarycentricPoint(#1=1,#2=\tkz at koeff)
+  \pgfnodealias{tkzSecondPointResult}{tkzPointResult}  
 \endgroup
-}   
+}
 %<--------------------------------------------------------------------------–>
-%                     Apollonius point
-%<--------------------------------------------------------------------------–>
-
-\pgfkeys{/tkzapop/.cd,
-      K/.code    = \def\tkz at koeff{#1},% apollonius
-      K          =  1
-      } 
-\def\tkzDefApolloniusPoint{\pgfutil at ifnextchar[{\tkz at DefApolloniusPoint}{\tkz at DefApolloniusPoint[]}}
-\def\tkz at DefApolloniusPoint[#1](#2,#3){% 
-\begingroup
-   \pgfqkeys{/tkzapop}{#1}  
-   \tkzDefBarycentricPoint(#2=1,#3=\tkz at koeff)
-\endgroup
-}    
-%<--------------------------------------------------------------------------–>
-%                     Apollonius center
-%<--------------------------------------------------------------------------–>
-\pgfkeys{/tkzapoc/.cd,
-      K/.code   = \def\tkz at koeff{#1},% apollonius
-      K         =  1
-      } 
-\def\tkzApolloniusCenter{\pgfutil at ifnextchar[{\tkz at ApolloniusCenter}{\tkz at ApolloniusCenter[]}}
-\def\tkz at ApolloniusCenter[#1](#2,#3){% 
-\begingroup
-   \pgfqkeys{/tkzapoc}{#1}  
-    \tkz at VecK[\tkz at koeff/(1+\tkz at koeff)](#2,#3)
-    \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
-    \tkz at VecK[\tkz at koeff/(\tkz at koeff-1)](#2,#3)
-    \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
-    \tkzDefMidPoint(tkzFirstPointResult,tkzSecondPointResult)  
-\endgroup
-}     
-%<--------------------------------------------------------------------------–>
 \def\tkzDefOrthogonalCircle(#1,#2,#3){%   
 \begingroup
    \tkzTgtFromP(#1,#2)(#3)
@@ -248,6 +208,8 @@
   \pgfnodealias{tkz at PointResult}{tkzPointResult}
   \tkzCircumCenter(tkz at PointResult,#3,#4)
   \tkz@@CalcLengthcm(tkzPointResult,#3){tkzLengthResult}
+  \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+  \pgfnodealias{tkzSecondPointResult}{#3}
 \endgroup
 } 
 %<--------------------------------------------------------------------------–>
@@ -256,34 +218,14 @@
 \def\tkzDefSpiekerCircle(#1,#2,#3){%
 \begingroup
   \tkzSpiekerCenter(#1,#2,#3)
-  \pgfnodealias{tkz at spka}{tkzPointResult}
-  \tkzDefMidPoint(#1,#2)
-  \tkzUProjection(#1,#2)(tkzPointResult)
-  \tkz@@CalcLength(tkz at spka,tkzPointResult){tkzLengthResult}
-\endgroup
-} 
-%<--------------------------------------------------------------------------–>
-\def\tkzDefInversionCircle(#1,#2,#3,#4){%  
-\begingroup
-   \tkzInterLC(#3,#1)(#1,#2) \tkzGetPoints{tkz at p1}{tkz at p2}
-   \tkzUInversePoint(#3,#4)(tkz at p1)
-    \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
-    \tkzUInversePoint(#3,#4)(tkz at p2)
+  \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+  \tkzUProjection(tkz at m1,tkz at m2)(tkzPointResult)
     \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+  \tkz@@CalcLength(tkzSecondPointResult,tkzFirstPointResult){tkzLengthResult}
 \endgroup
 } 
 %<--------------------------------------------------------------------------–>
-\def\tkzDefInversionNegativeCircle(#1,#2,#3,#4){%  
-\begingroup
-   \tkzInterLC(#3,#1)(#1,#2) \tkzGetPoints{tkz at p1}{tkz at p2}
-   \tkzUInversePoint(\tkzcenter,\tkzpoint)(tkz at p1)     
-   \tkzUCSym(\tkzcenter)(tkzPointResult)
-   \pgfnodealias{tkzFirstPointResult}{tkzPointResult}   
-   \tkzUInversePoint(\tkzcenter,\tkzpoint)(tkz at p2)     
-   \tkzUCSym(\tkzcenter)(tkzPointResult)
-  \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
-\endgroup
-} 
+
 %<--------------------------------------------------------------------------–>
 %              End Def Circle
 %<--------------------------------------------------------------------------–>  

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-compass.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-compass.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-compass.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-compass.tex}  
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-compass.tex}  
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %  Author Alain Matthes  
@@ -24,13 +24,13 @@
 %                                Setup   Compass
 %<--------------------------------------------------------------------------–>
 \pgfkeys{tkzsucompass/.cd,
-  line width/.store in   =      \tkz at compass@lw,
-  color/.store in        =      \tkz at compass@color,
-  style/.store in        =      \tkz at compass@style,
-  line width             =      \tkz at euc@compasswidth,
-  color                  =      \tkz at euc@compasscolor,
-  style                  =      \tkz at euc@compassstyle,
-   /tkzsucompass/.search also            = {/tikz,/tkzcompass}
+  line width/.store in          =   \tkz at compass@lw,
+  color/.store in               =   \tkz at compass@color,
+  style/.store in               =   \tkz at compass@style,
+  line width                    =   \tkz at euc@compasswidth,
+  color                         =   \tkz at euc@compasscolor,
+  style                         =   \tkz at euc@compassstyle,
+   /tkzsucompass/.search also   =   {/tikz,/tkzcompass}
   } 
 %<--------------------------------------------------------------------------–>
 \def\tkzSetUpCompass{\pgfutil at ifnextchar[{\tkz at SetUpCompass}{\tkz at SetUpCompass[]}}
@@ -37,9 +37,10 @@
 %<--------------------------------------------------------------------------–>
 \def\tkz at SetUpCompass[#1]{% 
 \pgfqkeys{/tkzsucompass}{#1}
-\tikzset{compass style/.style={color       = \tkz at compass@color,
-                               line width  = \tkz at compass@lw,
-                               style       = \tkz at compass@style
+\tikzset{compass style/.style={%
+    color       = \tkz at compass@color,
+    line width  = \tkz at compass@lw,
+    style       = \tkz at compass@style
                             }}
 }
 %<--------------------------------------------------------------------------–> 

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-angles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-angles.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-angles.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,20 +10,20 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-tool-eu-angles.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-tool-eu-angles.tex} 
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %                    tkzSetUpArc  
 %<--------------------------------------------------------------------------–>
 \pgfkeys{/tkzsetuparc/.cd,
-      color/.store in        =    \tkz at arc@color,
-      line width/.store in   =    \tkz at arc@lw,
-      style/.store in        =    \tkz at arc@style,
-      line width             =    \tkz at euc@linewidth,
-      color                  =    \tkz at euc@linecolor,
-      style                  =    \tkz at euc@linestyle,
+   color/.store in        =    \tkz at arc@color,
+   line width/.store in   =    \tkz at arc@lw,
+   style/.store in        =    \tkz at arc@style,
+   line width             =    \tkz at euc@linewidth,
+   color                  =    \tkz at euc@linecolor,
+   style                  =    \tkz at euc@linestyle,
    /tkzsetuparc/.search also = {/tikz,/tkzcompass},
  } 
 \def\tkzSetUpArc{\pgfutil at ifnextchar[{\tkz at SetUpArc}{\tkz at SetUpArc[]}}
@@ -34,16 +34,12 @@
                            style          = \tkz at arc@style
                            }}
 }% end setup 
-%<--------------------------------------------------------------------------->
-\newdimen\tkz at arcsize% from julian julian at d-and-j.net
-\newdimen\tkz at fillsize
-%<-------------------------------------------------------------------------->
-
 %<------------------------------  Arcs -------------------------------------–
 % options : delta 
 % \def\tkz at delta{0}
 % \tikzset{arc style/.style={#1}}
 % \pgfkeys{/tikz/.cd,delta/.code={\def\tkz at delta{#1}}}
+\newif\iftkz at reverse
 \gdef\tkz at numa{0}
 \pgfkeys{/tkzdrawarc/.cd,
       type/.is choice,
@@ -67,6 +63,9 @@
       type/.default                    =  towards,
       delta/.store in                  = \tkz at delta,
       delta                            = 0,
+      reverse/.is if                   = tkz at reverse,
+      reverse/.default                 = true,
+      reverse                          = false,
       /tkzdrawarc/.search also         = {/tikz}
 }  
 \def\tkzDrawArc{\pgfutil at ifnextchar[{\tkz at DrawArc}{\tkz at DrawArc[]}}
@@ -81,7 +80,7 @@
    \tkzDrawArcAngles[#1](#2,#3)(#4) 
 \or% 3
    \tkzDrawArcRAngles[#1](#2,#3)(#4)
- \or% 4
+\or% 4
    \tkzDrawArcR[#1](#2,#3)(#4)  
 \fi    
 \endgroup
@@ -167,29 +166,19 @@
 \def\tkzDrawArcRAngles{\pgfutil at ifnextchar[{\tkz at DrawArcRAngles}{%
                                             \tkz at DrawArcRAngles[]}} 
 \def\tkz at DrawArcRAngles[#1](#2,#3)(#4,#5){% 
- \begingroup    
-  \pgfmathparse{#4}\edef\tkz at FirstAngle{\pgfmathresult}% 
-  \pgfmathparse{#5}\edef\tkz at SecondAngle{\pgfmathresult}%  
-  \pgfmathgreaterthan{\tkz at FirstAngle}{0}   
-  \ifdim\pgfmathresult pt=1 pt\relax%  
-    \pgfmathgreaterthan{\tkz at FirstAngle}{\tkz at SecondAngle}
-    \ifdim\pgfmathresult pt=1 pt\relax%
-      \pgfmathsubtract{\tkz at FirstAngle}{360}
-      \edef\tkz at FirstAngle{\pgfmathresult}%
-  \fi 
- \else
-     \pgfmathgreaterthan{\tkz at FirstAngle}{\tkz at SecondAngle}
-    \ifdim\pgfmathresult pt=1 pt\relax%
-      \pgfmathadd{\tkz at SecondAngle}{360}
-      \edef\tkz at SecondAngle{\pgfmathresult}%
-  \fi 
- \fi
+ \begingroup
+ \tkzNormalizeAngle(#4,#5)    
  \pgfmathsubtract{\tkz at FirstAngle}{\tkz at delta}
  \edef\tkz at FirstAngle{\pgfmathresult}%
  \pgfmathadd{\tkz at SecondAngle}{\tkz at delta}
  \edef\tkz at SecondAngle{\pgfmathresult} 
-      \draw[shift = {(#2)},arc style,/tkzdrawarc/.cd,#1]%
-       (\tkz at FirstAngle:#3) arc (\tkz at FirstAngle:\tkz at SecondAngle:#3);
+ \iftkz at reverse 
+   \let\tkztemp\tkz at FirstAngle 
+   \let\tkz at FirstAngle\tkz at SecondAngle
+   \let\tkz at SecondAngle\tkztemp
+  \fi
+  \draw[shift = {(#2)},arc style,/tkzdrawarc/.cd,#1]%
+  (\tkz at FirstAngle:#3) arc (\tkz at FirstAngle:\tkz at SecondAngle:#3);
 \endgroup  
 }
 %<--------------------------------------------------------------------------–>
@@ -212,22 +201,7 @@
 \tkz@@CalcLength(#2,#3){tkz at radius}
 \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz at FirstAngle}  
 \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz at SecondAngle}
-\pgfmathparse{\tkz at FirstAngle}\edef\tkz at FirstAngle{\pgfmathresult}% 
-\pgfmathparse{\tkz at SecondAngle}\edef\tkz at SecondAngle{\pgfmathresult}%  
-\pgfmathgreaterthan{\tkz at FirstAngle}{0}   
-\ifdim\pgfmathresult pt=1 pt\relax%  
-  \pgfmathgreaterthan{\tkz at FirstAngle}{\tkz at SecondAngle}
-  \ifdim\pgfmathresult pt=1 pt\relax%
-    \pgfmathsubtract{\tkz at FirstAngle}{360}
-    \edef\tkz at FirstAngle{\pgfmathresult}%
-\fi 
- \else
-     \pgfmathgreaterthan{\tkz at FirstAngle}{\tkz at SecondAngle}
-    \ifdim\pgfmathresult pt=1 pt\relax%
-      \pgfmathadd{\tkz at SecondAngle}{360}
-      \edef\tkz at SecondAngle{\pgfmathresult}%
-  \fi 
- \fi
+\tkzNormalizeAngle(\tkz at FirstAngle,\tkz at SecondAngle)
  \pgfmathsubtract{\tkz at FirstAngle}{\tkz at delta}
  \edef\tkz at FirstAngle{\pgfmathresult}%
  \pgfmathadd{\tkz at SecondAngle}{\tkz at delta}
@@ -246,22 +220,7 @@
 \tkz@@CalcLength(#2,#3){tkz at radius}
 \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz at FirstAngle}  
 \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz at SecondAngle}
-\pgfmathparse{\tkz at FirstAngle}\edef\tkz at FirstAngle{\pgfmathresult}% 
-\pgfmathparse{\tkz at SecondAngle}\edef\tkz at SecondAngle{\pgfmathresult}%  
-\pgfmathgreaterthan{\tkz at FirstAngle}{0}   
-\ifdim\pgfmathresult pt=1 pt\relax%  
-\pgfmathgreaterthan{\tkz at FirstAngle}{\tkz at SecondAngle}
-  \ifdim\pgfmathresult pt=1 pt\relax%
-   \pgfmathsubtract{\tkz at FirstAngle}{360}
-   \edef\tkz at FirstAngle{\pgfmathresult}%
-  \fi 
-\else
-\pgfmathgreaterthan{\tkz at FirstAngle}{\tkz at SecondAngle}
- \ifdim\pgfmathresult pt=1 pt\relax%
-  \pgfmathadd{\tkz at SecondAngle}{360}
-  \edef\tkz at SecondAngle{\pgfmathresult}%
- \fi 
-\fi
+\tkzNormalizeAngle(\tkz at FirstAngle,\tkz at SecondAngle)
 \pgfmathsubtract{\tkz at FirstAngle}{\tkz at delta}
 \edef\tkz at FirstAngle{\pgfmathresult}%
 \pgfmathadd{\tkz at SecondAngle}{\tkz at delta}
@@ -307,7 +266,7 @@
 %             dist ?
 %             style   : type de traits
 %             position: 0.5
-%             mark    : none  , |, ||,|||, z, s, x, o, oo mais tous les 
+%             mark    : none  ,  ,   ,   , z, s, x, o, oo mais tous les 
 %  % symboles de tikz sont permis
 %<------------------------- Label on angle -------------------------------->
 \def\tkz at arcsimple{l} 
@@ -395,8 +354,22 @@
 \endgroup 
 } 
 % fin de \tkzMarkAngle
-
 %<--------------------------------------------------------------------------->
+%                        Pic Angle
+%<--------------------------------------------------------------------------->
+\def\tkzPicAngle{\pgfutil at ifnextchar[{\tkz at PicAngle}{\tkz at PicAngle[]}}   
+\def\tkz at PicAngle[#1](#2,#3,#4){% 
+\begingroup  
+\draw pic [#1]{angle=#2--#3--#4};
+\endgroup 
+}
+\def\tkzPicRightAngle{\pgfutil at ifnextchar[{\tkz at PicRightAngle}{\tkz at PicRightAngle[]}}   
+\def\tkz at PicRightAngle[#1](#2,#3,#4){% 
+\begingroup  
+\draw pic [#1]{right angle=#2--#3--#4};
+\endgroup 
+}
+%<--------------------------------------------------------------------------->
 %                        FillAngle
 %<--------------------------------------------------------------------------->
 \pgfkeys{/tkzFill/.cd,
@@ -451,11 +424,12 @@
   \pgfqkeys{/tkzlabelangle}{#1}
   \ifx\tkzutil at empty\tkzlabelangle% no value so calc angle of bisector
       \tkzFindSlopeAngle(#3,#2)\tkzGetAngle{tkz at dirOne}
-        \tkzFindSlopeAngle(#3,#4)\tkzGetAngle{tkz at dirTwo}
-        \tkzNormalizeAngle(\tkz at dirOne,\tkz at dirTwo)
-    \edef\tkzlabelAngle{\fpeval{(\tkz at SecondAngle+\tkz at FirstAngle)/2}}
+      \tkzFindSlopeAngle(#3,#4)\tkzGetAngle{tkz at dirTwo}
+      \tkzNormalizeAngle(\tkz at dirOne,\tkz at dirTwo)
+      \edef\tkzlabelAngle{\fpeval{(\tkz at SecondAngle+\tkz at FirstAngle)/2}}
   \fi
-  \path  (#3) --+(\tkzlabelAngle:\tkzlabeldist) node[label angle style,/tkzlabelangle/.cd,#1] {#5};
+  \path  (#3) --+(\tkzlabelAngle:\tkzlabeldist) node[label angle style,%
+  /tkzlabelangle/.cd,#1] {#5};
 \endgroup
 }
 %<--------------------------------------------------------------------------->
@@ -546,6 +520,18 @@
     \next#2 \@nil %    
 \endgroup 
 }    
-
+%<--------------------------------------------------------------------------->
+% tkzdefMidArc center and two points
+\def\tkzDefMidArc(#1,#2,#3){%
+\begingroup
+\tkz@@CalcLength(#1,#2){tkz at radius}
+\tkzFindSlopeAngle(#1,#2)\tkzGetAngle{tkz at FirstAngle}
+\tkzFindSlopeAngle(#1,#3)\tkzGetAngle{tkz at SecondAngle}
+\tkzNormalizeAngle(\tkz at FirstAngle,\tkz at SecondAngle)
+ \path[shift = {(#1)}](\tkz at FirstAngle:\tkz at radius pt) arc
+           (\tkz at FirstAngle:\tkz at SecondAngle:\tkz at radius pt)  coordinate[midway] (tkzPointResult);
+\endgroup
+}
+ 
 \makeatother
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-circles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-circles.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-circles.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,67 +10,48 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-draw-circles.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-draw-circles.tex} 
 \makeatletter 
-
-
-\def\tkz at numdc{0}
-\pgfkeys{/tkzdrawc/.cd,
-      through/.code                 =   \def\tkz at numdc{0},
-      R/.code                       =   \def\tkz at numdc{1},
-      diameter/.code                =   \def\tkz at numdc{2},
-      circum/.code                  =   \def\tkz at numdc{3},
-      in/.code                      =   \def\tkz at numdc{4},
-      ex/.code                      =   \def\tkz at numdc{5},
-      euler/.code                   =   \def\tkz at numdc{6},
-      nine/.code                    =   \def\tkz at numdc{6},
-      apollonius/.code              =   \def\tkz at numdc{7},
-      orthogonal from/.code args    =  {#1}{\def\tkz at ptfrom{#1},
-                                        \def\tkz at numdc{8}}, 
-      orthogonal through/.code args =  {#1 and #2}{\def\tkz at ptone{#1}
-                                                   \def\tkz at pttwo{#2} 
-                                                   \def\tkz at numdc{9}}, 
-      K/.store in                   = \tkz at koeff,% apollonius
-      through,
-      K                      =   1,
-   /tkzdrawc/.search also={/tikz}
-} 
 %<--------------------------------------------------------------------------–>
+%                    tkzSetUpCircle  
 %<--------------------------------------------------------------------------–>
-%            Drawing a circle                                                >
-%<--------------------------------------------------------------------------–>
+\pgfkeys{%
+    /tkzsetupcirc/.cd,
+    color/.code              =   \def\tkz at circle@color{#1},
+    line width/.code         =   \def\tkz at circle@linewidth{#1},
+    style/.code              =   \def\tkz at circle@style{#1},
+  /tkzsetupcirc/.search also =   {/tikz}
+ } 
+ %<--------------------------------------------------------------------------–>
+ 
+\def\tkzSetUpCircle{\pgfutil at ifnextchar[{\tkz at SetUpCircle}{\tkz at SetUpCircle[]}}
+\def\tkz at SetUpCircle[#1]{%
+\pgfkeys{%
+    tkzsetupcirc/.cd,
+    line width                  = \tkz at euc@circlelw,
+    color                       = \tkz at euc@circlecolor,
+    style                       = \tkz at euc@circlestyle
+}
+\pgfqkeys{/tkzsetupcirc}{#1}
+\tikzset{%
+    circle style/.append style   = { %
+    color                        = \tkz at circle@color,
+    line width                   = \tkz at circle@linewidth,
+    style                        = \tkz at circle@style,
+    #1}
+    }
+}% end setup 
+ %<--------------------------------------------------------------------------–>
+
 \def\tkzDrawCircle{\pgfutil at ifnextchar[{\tkz at DrawCircle}{\tkz at DrawCircle[]}}
-\def\tkz at DrawCircle[#1](#2){%     
+\def\tkz at DrawCircle[#1](#2,#3){%  
 \begingroup 
-\pgfqkeys{/tkzdrawc}{#1}  
-\ifcase\tkz at numdc%
-   \tkzDefCircleThrough(#2)
-  \or% 1
-   \tkzDefCircleR(#2) 
-  \or% 2
-   \tkzDefCircleD(#2)  
-  \or% 3
-   \tkzDefCircumCircle(#2) 
-  \or% 4
-   \tkzDefInCircle(#2)
-  \or% 4
-   \tkzDefExCircle(#2)
-  \or% 5
-   \tkzDefEulerCircle(#2) 
-  \or% 6
-   \tkzDefApolloniusCircle(#2) 
-  \or% 7
-   \tkzDefOrthogonalCircle(#2,\tkz at ptfrom) 
-  \or% 8
-   \tkzDefOrthoThroughCircle(#2,\tkz at ptone,\tkz at pttwo)  
- \fi
-   \draw[line style,/tkzdrawc/.cd,#1] (tkzPointResult) circle (\tkzLengthResult);      
+\node [draw,circle through=(#3), circle style,#1] at (#2) {};  
 \endgroup
 }
-
-%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–> 
 \def\tkz at multicircles#1 #2\@nil{% 
 \protected at edef\tkz at temp{
 \noexpand \tkzDrawCircle[\tkz at optcircle](#1)}\tkz at temp% 
@@ -79,7 +60,7 @@
      \let\next\@gobble
 \fi
 \next#2\@nil
-}
+}%
 %<--------------------------------------------------------------------------–>
 \def\tkzDrawCircles{\pgfutil at ifnextchar[{\tkz at DrawCircles}{\tkz at DrawCircles[]}} 
 \def\tkz at DrawCircles[#1](#2){%
@@ -90,58 +71,31 @@
 \endgroup     
 }% 
 %<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>  
 % #2 #3 rayon
-\def\tkz at numdsc{0}
 \pgfkeys{/tkzdrawsc/.cd,
-       through/.code         =  \def\tkz at numdsc{0},
-       diameter/.code        =  \def\tkz at numdsc{1},
        swap/.is if           =  tkz at swap@sc,
        swap/.default         =  true,
        swap                  =  false,
-       through,
-       /tkzdrawsc/.search also={/tikz}
-   }  
+/tkzdrawsc/.search also={/tikz}
+}  
 \def\tkzDrawSemiCircle{\pgfutil at ifnextchar[{\tkz at DrawSemiCircle}{%
-                                    \tkz at DrawSemiCircle[]}}
-\def\tkz at DrawSemiCircle[#1](#2){% 
+                                            \tkz at DrawSemiCircle[]}}
+\def\tkz at DrawSemiCircle[#1](#2,#3){% 
 \begingroup 
-\pgfqkeys{/tkzdrawsc}{#1}  
-\ifcase\tkz at numdsc%
-   \tkzDrawSemiCircleThrough(#2)
-\or%
-   \tkzDrawSemiCircleDiameter(#2)
+\pgfqkeys{/tkzdrawsc}{#1}
+ \tkzDefPointBy[symmetry=center #2](#3)
+ \pgfnodealias{tkz at pt}{tkzPointResult}
+ \iftkz at swap@sc
+   \gdef\tkz at FirstPoint{tkz at pt}
+   \gdef\tkz at SecondPoint{#3}
+ \else
+   \gdef\tkz at FirstPoint{#3}
+   \gdef\tkz at SecondPoint{tkz at pt}
 \fi
- \tkzDrawArc[#1,delta=0](\tkz at Center,\tkz at FirstPoint)(\tkz at SecondPoint)
+ \tkzDrawArc[#1,delta=0](#2,\tkz at FirstPoint)(\tkz at SecondPoint)
 \endgroup
-}
+}%
 %<--------------------------------------------------------------------------–> 
-\def\tkzDrawSemiCircleThrough(#1,#2){%
-   \tkzDefPointBy[symmetry=center #1](#2)
-    \pgfnodealias{tkz at pt}{tkzPointResult}
-   \def\tkz at Center{#1}
-   \iftkz at swap@sc
-      \gdef\tkz at FirstPoint{tkz at pt}
-      \gdef\tkz at SecondPoint{#2}
-   \else
-      \gdef\tkz at FirstPoint{#2}
-      \gdef\tkz at SecondPoint{tkz at pt}
-   \fi
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawSemiCircleDiameter(#1,#2){%
-  \tkzDefMidPoint(#1,#2) 
-  \pgfnodealias{tkz at Center}{tkzPointResult}
-  \def\tkz at Center{tkz at Center}
-  \iftkz at swap@sc
-      \def\tkz at FirstPoint{#1}
-      \def\tkz at SecondPoint{#2}
-   \else
-      \def\tkz at FirstPoint{#2}
-      \def\tkz at SecondPoint{#1}
-   \fi
-}
-%<--------------------------------------------------------------------------–>
 \def\tkz at multisemicircles#1 #2\@nil{% 
 \protected at edef\tkz at temp{
 \noexpand \tkzDrawSemiCircle[\tkz at optsemicircle](#1)}\tkz at temp% 
@@ -150,11 +104,10 @@
      \let\next\@gobble
 \fi
 \next#2\@nil
-}
+}%
 %<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
 \def\tkzDrawSemiCircles{\pgfutil at ifnextchar[{\tkz at DrawSemiCircles}{%
-  \tkz at DrawSemiCircles[]}} 
+\tkz at DrawSemiCircles[]}} 
 \def\tkz at DrawSemiCircles[#1](#2){%
 \xdef\tkz at optsemicircle{#1} 
 \begingroup
@@ -162,84 +115,57 @@
    \next#2 \@nil %    
 \endgroup     
 }% 
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–> 
 %<---------------------------- Fill Circle  --------------------------------–>
-\def\tkz at numfc{0}
-\pgfkeys{/fillcircle/.cd, radius/.code      =      \def\tkz at numfc{0},
-                       R/.code              =      \def\tkz at numfc{1},
-                    radius, 
-  /fillcircle/.search also={/tikz}
-}
 \def\tkzFillCircle{\pgfutil at ifnextchar[{\tkz at FillCircle}{\tkz at FillCircle[]}}
 \def\tkz at FillCircle[#1](#2,#3){%
 \begingroup      
-\pgfqkeys{/fillcircle}{#1}
-\ifcase\tkz at numfc%
- % first case 0
-    \tkz@@CalcLength(#2,#3){tkzLengthResult}
-   \fill[/fillcircle/.cd,#1] (#2) circle (\tkzLengthResult pt);%  
-  \or% 1
-   \fill[/fillcircle/.cd,#1] (#2) circle (#3);%  
-  \fi    
+   \node [fill,circle through=(#3),#1] at (#2) {};   
 \endgroup
-}
+}%
+\def\tkz at multifillcircles#1 #2\@nil{% 
+\protected at edef\tkz at temp{
+\noexpand \tkzFillCircle[\tkz at optfillcircle](#1)}\tkz at temp% 
+\def\tkz at nextArg{#2}%
+\ifx\tkzutil at empty\tkz at nextArg
+     \let\next\@gobble
+\fi
+\next#2\@nil
+}%
+\def\tkzFillCircles{\pgfutil at ifnextchar[{\tkz at FillCircles}{%
+\tkz at FillCircles[]}} 
+\def\tkz at FillCircles[#1](#2){%
+\xdef\tkz at optfillcircle{#1} 
+\begingroup
+   \let\next\tkz at multifillcircles
+   \next#2 \@nil %    
+\endgroup     
+}% 
 
 %<--------------------------- Clip Circle  ---------------------------------–>
-\def\tkz at numcc{0}
 \pgfkeys{/tkzclipc/.cd,    
-         through/.code           =  \def\tkz at numcoc{0},
-         R/.code                 =  \def\tkz at numcoc{1},
          out code/.is if         =  tkzClipOutCircle,
-         out/.code               = \tkzClipOutCirclefalse,
-         through}
+         out/.code               =  \tkzClipOutCirclefalse
+}%
 %<--------------------------------------------------------------------------–>
 \def\tkzClipCircle{\pgfutil at ifnextchar[{\tkz at ClipCircle}{\tkz at ClipCircle[]}}
-
 \def\tkz at ClipCircle[#1](#2,#3){%    
 \tkzClipOutCircletrue
 \pgfqkeys{/tkzclipc}{#1}
-\ifcase\tkz at numcoc
    \tkz@@CalcLength(#2,#3){tkzLengthResult}
    \iftkzClipOutCircle
-   \clip  (#2) circle (\tkzLengthResult pt);
+     \clip (#2) circle (\tkzLengthResult pt);
    \else
-    \clip (#2) circle (\tkzLengthResult pt) [tkzreverseclip] ;
+     \clip (#2) circle (\tkzLengthResult pt) [tkzreverseclip] ;
     \fi
- \or% 1
-  \iftkzClipOutCircle
-   \clip  (#2) circle (#3);  
-   \else
-    \clip (#2) circle (#3) [tkzreverseclip] ;
-    \fi
- \fi
 } 
 %<--------------------------- Label Circle  --------------------------------–>
-% attention radius circle is defined by center and a point on the circle
-% R defined by center and the value of the radius
-\def\tkz at numlc{0}
-\pgfkeys{/tkzlabelc/.cd,
-          through/.code    = \def\tkz at numlc{0},
-          R/.code          = \def\tkz at numlc{1},
-          through,
-          /tkzlabelc/.search also={/tikz}
-}
-
 \def\tkzLabelCircle{\pgfutil at ifnextchar[{\tkz at LabelCircle}{%
                                          \tkz at LabelCircle[]}}
-% [option]  (#2,#3) #2 center #3 soit un point du cercle soit le radius
-%          #4 angle #5 the label
+% [option]  (#2,#3) #2 center #3  un point du cercle  #4 angle #5 the label
 \def\tkz at LabelCircle[#1](#2,#3)(#4)#5{%
 \begingroup      
-\pgfqkeys{/tkzlabelc}{#1}
-\ifcase\tkz at numlc
    \tkzURotateAngle(#2,#4)(#3)
-   \node[/tkzlabelc/.cd,#1] at (tkzPointResult) {#5};    
-\or% 1
-  \path (#2)--++(#3,0) coordinate (tkzPointResult);
-  \tkzURotateAngle(#2,#4)(tkzPointResult)
-   \node[/tkzlabelc/.cd,#1] at (tkzPointResult) {#5};   
-\fi    
+   \node[label style,#1] at (tkzPointResult) {#5};        
 \endgroup
 }
 \makeatother 

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-lines.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-lines.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-lines.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,22 +10,54 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-draw-lines.tex}   
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-draw-lines.tex}   
 \makeatletter
 
-\def\tkz at numdl{0}
-\pgfkeys{/tkzdrawl/.cd,
-   /tkzdrawl/.search also={/tikz}
+%<--------------------------------------------------------------------------–>
+%                                Setup   Line
+%<--------------------------------------------------------------------------–>
+\pgfkeys{%
+   tkzsuline/.cd,
+   line width/.code       =   \def\tkz at line@width{#1},
+   color/.code            =   \def\tkz at line@color{#1},
+   style/.code            =   \def\tkz at line@style{#1},
+   add/.code args         =   {#1 and #2} {\def\tkz at line@left{#1}
+                                           \def\tkz at line@right{#2}},
+  /tkzsuline/.search also = {/tikz}
 } 
 %<--------------------------------------------------------------------------–>
+\def\tkzSetUpLine{\pgfutil at ifnextchar[{\tkz at SetUpLine}{\tkz at SetUpLine[]}}
+\def\tkz at SetUpLine[#1]{%
+\pgfkeys{%
+      tkzsuline/.cd,
+      line width   = \tkz at euc@linewidth,
+      color        = \tkz at euc@linecolor,
+      style        = \tkz at euc@linestyle,
+      add          = {\tkz at euc@lineleft} and {\tkz at euc@lineright}}  
+\pgfqkeys{/tkzsuline}{#1}
+\tikzset{%
+        line style/.append style ={%
+        line width        = \tkz at line@width,
+        color             = \tkz at line@color,
+        style             = \tkz at line@style,
+        add               = {\tkz at line@left} and {\tkz at line@right},
+        line cap          = round,
+        #1}
+        }
+}% end setup  
+%<--------------------------------------------------------------------------–>
 %            Drawing a line                                                  
 %<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
+% \pgfkeys{/tkzdrawl/.cd,
+%    /tkzdrawl/.search also={/tikz}
+% }
 \def\tkzDrawLine{\pgfutil at ifnextchar[{\tkz at DrawLine}{\tkz at DrawLine[]}}
 \def\tkz at DrawLine[#1](#2,#3){%    
 \begingroup 
-\pgfqkeys{/tkzdrawl}{#1}  
+ % \pgfqkeys{/tkzdrawl}{#1}  
    \draw[line style,#1] (#2) to (#3);
 \endgroup
 }
@@ -56,40 +88,8 @@
 \def\tkzLabelLine{\pgfutil at ifnextchar[{\tkz at AddLabelLine}{\tkz at AddLabelLine[]}} 
 \def\tkz at AddLabelLine[#1](#2,#3)#4{\path  (#2) to node[#1]{#4}(#3);} 
 
+
 %<--------------------------------------------------------------------------–>
-%                                Setup   Line
-%<--------------------------------------------------------------------------–>
-\pgfkeys{%
-   tkzsuline/.cd,
-   line width/.code =   \def\tkz at line@lw{#1},
-   color/.code      =   \def\tkz at line@color{#1},
-   style/.code      =   \def\tkz at line@style{#1},
-   add/.code args   =   {#1 and #2} {\def\tkz at line@left{#1}
-                                    \def\tkz at line@right{#2}},
-       /tkzsuline/.search also={/tikz}%
-} 
-%<--------------------------------------------------------------------------–>
-\def\tkzSetUpLine{\pgfutil at ifnextchar[{\tkz at SetUpLine}{% remove tkzActivOff 3.03
-                                      \tkz at SetUpLine[]}}
-\def\tkz at SetUpLine[#1]{%
-\pgfkeys{%
-      tkzsuline/.cd,
-      line width   = \tkz at euc@linewidth,
-      color        = \tkz at euc@linecolor,
-      style        = \tkz at euc@linestyle,
-      add          = {\tkz at euc@lineleft} and {\tkz at euc@lineright}}  
-\pgfqkeys{/tkzsuline}{#1}
-%<--------------------------------------------------------------------------–>
-%                              Line style
-%<--------------------------------------------------------------------------–>
-\tikzset{%
-        line style/.style ={%
-        color             = \tkz at line@color,
-        line width        = \tkz at line@lw,
-        style             = \tkz at line@style,
-        add               = {\tkz at line@left} and {\tkz at line@right}
-}}}% end setup  
-%<--------------------------------------------------------------------------–>
 %                             draw      segment  (s)
 %<--------------------------------------------------------------------------–>  
 \pgfkeys{/tkzdraws/.cd,
@@ -134,7 +134,7 @@
      size                = 4pt,
      color               = \tkz at mk@color,
      pos                 = .5,
-     mark                = |,
+     mark                =  ,
     /@tkzmarkoptions/.search also={/tikz},
 }
 \def\tkzMarkSegment{\pgfutil at ifnextchar[{\tkz at MarkSegment}{\tkz at MarkSegment[]}}
@@ -175,7 +175,7 @@
                      {\tkz at LabelSegment[]}}
 \def\tkz at LabelSegment[#1](#2,#3)#4{%
 \begingroup    
-  \path  (#2) to node[label seg style,#1]{#4} (#3) ;  
+  \path  (#2) to node[label style,#1]{#4} (#3) ;  
 \endgroup 
 } 
 %<--------------------------------------------------------------------------–>

Added: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-points.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-points.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-points.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -0,0 +1,172 @@
+ % tkz-obj-eu-points.tex
+% Copyright 2022  Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%   http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”. 
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c  tkz-obj-eu-points.tex} 
+\makeatletter
+%<--------------------------------------------------------------------------->
+%                    tkzSetUpPoint  définit la forme d'un point
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzsetuppt/.cd,
+      size/.store in       =  \tkz at pt@size,
+      color/.store in      =  \tkz at pt@color,
+      fill/.store in       =  \tkz at pt@fill, 
+      shape/.store in      =  \tkz at pt@shape,
+      size                 =  \tkz at euc@pointsize,
+      color                =  \tkz at euc@pointcolor,
+      fill                 =  \tkz at euc@pointcolor,
+      shape                =  \tkz at euc@pointshape,
+   /tkzsetuppt/.search also  = {/tikz},
+ } 
+\def\tkzSetUpPoint{\pgfutil at ifnextchar[{\tkz at SetUpPoint}{%
+                                        \tkz at SetUpPoint[]}}
+\def\tkz at SetUpPoint[#1]{%
+\pgfqkeys{/tkzsetuppt}{#1}
+% redefine point style with new values
+\tikzset{point style/.style={draw         = \tkz at pt@color,
+                             inner sep    = 0pt,
+                             shape        = \tkz at pt@shape,
+                             minimum size = \tkz at pt@size,
+                             fill         = \tkz at pt@fill}}
+}% end setup
+%<--------------------------------------------------------------------------->
+%                       Draw Point   
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzdrawpt/.cd, 
+  size/.code   = {\tikzset{point style/.append style={minimum size = #1}}},
+  size         = \tkz at euc@pointsize,
+  /tkzdrawpt/.search also  = {/tikz},
+}
+%<--------------------------------------------------------------------------    
+\def\tkzDrawPoint{\pgfutil at ifnextchar[{\tkz at DrawPoint}{\tkz at DrawPoint[]}} 
+\def\tkz at DrawPoint[#1](#2){%
+\begingroup 
+    \pgfqkeys{/tkzdrawpt}{#1}    
+    \node[point style,/tkzdrawpt/.cd,#1] at (#2) {};%2016
+\endgroup
+}
+%<---------------------------------------------------------------------------> 
+\def\tkzDrawPoints{\pgfutil at ifnextchar[{\tkz at drawpts}{\tkz at drawpts[]}} 
+%<---------------------------------------------------------------------------> 
+\def\tkz at drawpts[#1](#2){%
+\begingroup
+   \pgfqkeys{/tkzdrawpt}{#1}        
+   \foreach \point in {#2}{\node[point style,/tkzdrawpt/.cd,#1] at (\point) {};} %2016
+\endgroup 
+}
+%<-------------------------------------------------------------------------->
+%                   tkzLabelPoint          Affichage des LABELS pour un point
+%<-------------------------------------------------------------------------->  
+\def\tkzLabelPoint{\pgfutil at ifnextchar[{\tkz at LabelPoint}{\tkz at LabelPoint[]}} 
+\def\tkz at LabelPoint[#1](#2)#3{%
+      \node[label style,#1] at (#2) {#3};}%
+%<--------------------------------------------------------------------------->
+
+\def\tkzLabelPoints{\pgfutil at ifnextchar[{\tkz at LabelPoints}{\tkz at LabelPoints[]}}% 
+\def\tkz at LabelPoints[#1](#2){%
+ \foreach \point in {#2}{
+      \node[label style,#1] at (\point) {$\point$};}
+}%
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzsetuppt/.cd,
+      size/.store in       =  \tkz at pt@size,
+      color/.store in      =  \tkz at pt@color,
+      fill/.store in       =  \tkz at pt@fill, 
+      shape/.store in      =  \tkz at pt@shape,
+      size                 =  \tkz at euc@pointsize,
+      color                =  \tkz at euc@pointcolor,
+      fill                 =  \tkz at euc@pointcolor,
+      shape                =  \tkz at euc@pointshape,
+   /tkzsetuppt/.search also  = {/tikz},
+ } 
+\def\tkzSetUpPoint{\pgfutil at ifnextchar[{\tkz at SetUpPoint}{%
+                                        \tkz at SetUpPoint[]}}
+\def\tkz at SetUpPoint[#1]{%
+\pgfqkeys{/tkzsetuppt}{#1}
+% redefine point style with new values
+\tikzset{point style/.style={draw         = \tkz at pt@color,
+                             inner sep    = 0pt,
+                             shape        = \tkz at pt@shape,
+                             minimum size = \tkz at pt@size,
+                             fill         = \tkz at pt@fill}}
+}% end setup
+%<--------------------------------------------------------------------------->
+%
+%<--------------------------------------------------------------------------->
+\def\tkzSetUpLabel{\pgfutil at ifnextchar[{\tkz at SetUpLabel}{%
+                                        \tkz at SetUpLabel[]}}
+\def\tkz at SetUpLabel[#1]{%
+\tikzset{label style/.style={#1}}
+}% end setup
+%<--------------------------------------------------------------------------->
+
+\pgfkeys{/tkzautolab/.cd,
+    center/.store in           = \tkz at center,
+    dist/.store in             = \tkz at dist,
+    dist                       = 0.15,
+   /tkzautolab/.search also   = {/tikz},
+}
+\def\tkzAutoLabelPoints{\pgfutil at ifnextchar[{\tkz at AutoLabelPoints}{\tkz at AutoLabelPoints[]}}% 
+\def\tkz at AutoLabelPoints[#1](#2){%
+\begingroup 
+\pgfqkeys{/tkzautolab}{#1} 
+ \foreach \point in {#2}{
+ \path (\tkz at center) -- ($ (\point) + \tkz at dist*($(\point)-(\tkz at center)$) $) node[/tkzautolab/.cd,label style,#1]{$\point$};}
+\endgroup
+}%
+%<--------------------------------------------------------------------------->
+%                                 PointShowCoord  
+%<--------------------------------------------------------------------------->
+\pgfkeys{/tkzprcoord/.cd,
+          xlabel/.store in    = \tkz at xlabel,
+          ylabel/.store in    = \tkz at ylabel, 
+          xstyle/.code        = {\tikzset{xcoord style/.append style={#1}}},
+          ystyle/.code        = {\tikzset{ycoord style/.append style={#1}}},
+          noxdraw/.is if      = tkz at coord@noxdraw,
+          noxdraw/.default    = true,
+          noydraw/.is if      = tkz at coord@noydraw,
+          noydraw/.default    = true,
+          xlabel              = {},
+          ylabel              = {},
+          xstyle              = {},
+          ystyle              = {},
+          noxdraw             = false,
+          noydraw             = false,    
+  /tkzprcoord/.search also   = {/tikz},
+}
+\def\tkzPointShowCoord{\pgfutil at ifnextchar[{\tkz at PointShowCoord}{\tkz at PointShowCoord[]}}     
+\def\tkz at PointShowCoord[#1](#2){%
+\begingroup 
+\pgfqkeys{/tkzprcoord}{#1} 
+% 2019 for showcoord
+ \iftkznodedefined{tkz at xline}{}{%
+ \path (0,0) --(1,0) node(tkz at xline){};
+ \path (0,0) --(0,1) node(tkz at yline){};
+ }
+\iftkz at coord@noxdraw\else\draw[arrow coord style,/tkzprcoord/.cd,#1] (#2)--(#2  - tkz at xline);\fi 
+\iftkz at coord@noydraw\else\draw[arrow coord style,/tkzprcoord/.cd,#1] (#2)--(#2 -  tkz at yline);\fi   
+\ifx\tkzutil at empty\tkz at xlabel
+\else
+\path (#2)--(#2  - tkz at xline)
+  node[xcoord style] {\tkz at xlabel};
+\fi
+\ifx\tkzutil at empty\tkz at ylabel
+\else
+ \path (#2)--(#2 -  tkz at yline)
+   node[ycoord style] {\tkz at ylabel};
+\fi    
+\endgroup
+}
+\let\tkzShowPointCoord\tkzPointShowCoord
+\makeatother  
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-points.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-polygons.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-polygons.tex} 
 \makeatletter  
 %<--------------------------------------------------------------------------–>
 %                                 Polygon 
@@ -61,33 +61,33 @@
 \endgroup
 }
 %<--------------------------------------------------------------------------–>
-\def\tkzDrawSquare{\pgfutil at ifnextchar[{\tkz at DrawSquare}{\tkz at DrawSquare[]}} 
-\def\tkz at DrawSquare[#1](#2,#3){%
-\begingroup
-   \tkzDefSquare(#2,#3)
-   \tkzDrawPolygon[#1](#2,#3,tkzFirstPointResult,tkzSecondPointResult)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawRectangle{\pgfutil at ifnextchar[{\tkz at DrawRectangle}%
-                      {\tkz at DrawRectangle[]}} 
-\def\tkz at DrawRectangle[#1](#2,#3){%
-\begingroup
-   \draw[line join=round,#1](#2) -| (#3) -| (#2);
-\endgroup
-}
+ % \def\tkzDrawSquare{\pgfutil at ifnextchar[{\tkz at DrawSquare}{\tkz at DrawSquare[]}}
+ % \def\tkz at DrawSquare[#1](#2,#3){%
+ % \begingroup
+ %    \tkzDefSquare(#2,#3)
+ %    \tkzDrawPolygon[#1](#2,#3,tkzFirstPointResult,tkzSecondPointResult)
+ % \endgroup
+ % }
+ %<--------------------------------------------------------------------------–>
+ % \def\tkzDrawRectangle{\pgfutil at ifnextchar[{\tkz at DrawRectangle}%
+ %                       {\tkz at DrawRectangle[]}}
+ % \def\tkz at DrawRectangle[#1](#2,#3){%
+ % \begingroup
+ %    \draw[line join=round,#1](#2) -  (#3) -  (#2);
+ % \endgroup
+ % }
 %<-------------------------- gold rectangle -------------------------------–>
 %
 %<--------------------------------------------------------------------------–>
-\def\tkzDrawGoldRectangle{\pgfutil at ifnextchar[{\tkz at DrawGoldRectangle}{%
-                                            \tkz at DrawGoldRectangle[]}} 
-\def\tkz at DrawGoldRectangle[#1](#2,#3){
-\begingroup
-  \tkzDefGoldRectangle(#2,#3)
-  \tkzDrawPolygon[#1](#2,#3,tkzFirstPointResult,tkzSecondPointResult)
-\endgroup
-}
-\let\tkzDrawGoldenRectangle\tkzDrawGoldRectangle
+ % \def\tkzDrawGoldRectangle{\pgfutil at ifnextchar[{\tkz at DrawGoldRectangle}{%
+ %                                             \tkz at DrawGoldRectangle[]}}
+ % \def\tkz at DrawGoldRectangle[#1](#2,#3){
+ % \begingroup
+ %   \tkzDefGoldRectangle(#2,#3)
+ %   \tkzDrawPolygon[#1](#2,#3,tkzFirstPointResult,tkzSecondPointResult)
+ % \endgroup
+ % }
+ % \let\tkzDrawGoldenRectangle\tkzDrawGoldRectangle
 %<--------------   Labels for Regular Polygon      -------------------------–>
 %
 %<--------------------------------------------------------------------------–>

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,62 +10,39 @@
 % This work has the LPPL maintenance status “maintained”. 
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-draw-triangles.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-draw-triangles.tex} 
 \makeatletter  
 %<--------------------------------------------------------------------------–>
 %                       Draw Triangles
 %<--------------------------------------------------------------------------–>
-\def\tkz at numdtr{0}
-\pgfkeys{/drawtriangle/.cd,
-      equilateral/.code         = {\def\tkz at numdtr{0}},
-      half/.code                = {\def\tkz at numdtr{1}},
-      pythagore/.code           = {\def\tkz at numdtr{2}},
-      pythagoras/.code          = {\def\tkz at numdtr{2}},
-      egyptian/.code            = {\def\tkz at numdtr{2}},
-      school/.code              = {\def\tkz at numdtr{3}},
-      golden/.code              = {\def\tkz at numdtr{4}},
-      sublime/.code             = {\def\tkz at numdtr{4}},
-      euclid/.code              = {\def\tkz at numdtr{5}},
-      gold/.code                = {\def\tkz at numdtr{6}},
-      cheops/.code              = {\def\tkz at numdtr{7}},
-      two angles/.code  args    = {#1 and #2}{\def\tkz at numdtr{8}%
-                                              \def\tkz at alpha{#1}%
-                                              \def\tkz at beta{#2}},
-      isosceles right/.code    = {\def\tkz at numdtr{9}},
-      equilateral,
-   /drawtriangle/.search also={/tikz}
-} 
+% \def\tkz at numdtr{0}
+% \pgfkeys{/drawtriangle/.cd,
+%       equilateral/.code         = {\def\tkz at numdtr{0}},
+%       half/.code                = {\def\tkz at numdtr{1}},
+%       pythagore/.code           = {\def\tkz at numdtr{2}},
+%       pythagoras/.code          = {\def\tkz at numdtr{2}},
+%       egyptian/.code            = {\def\tkz at numdtr{2}},
+%       school/.code              = {\def\tkz at numdtr{3}},
+%       golden/.code              = {\def\tkz at numdtr{4}},
+%       sublime/.code             = {\def\tkz at numdtr{4}},
+%       euclid/.code              = {\def\tkz at numdtr{5}},
+%       gold/.code                = {\def\tkz at numdtr{6}},
+%       cheops/.code              = {\def\tkz at numdtr{7}},
+%       two angles/.code  args    = {#1 and #2}{\def\tkz at numdtr{8}%
+%                                               \def\tkz at alpha{#1}%
+%                                               \def\tkz at beta{#2}},
+%       isosceles right/.code    = {\def\tkz at numdtr{9}},
+%       equilateral,
+%    /drawtriangle/.search also={/tikz}
+%  }
 
 \def\tkzDrawTriangle{\pgfutil at ifnextchar[{\tkz at DrawTriangle}{%
                                          \tkz at DrawTriangle[]}}
-\def\tkz at DrawTriangle[#1](#2,#3){% 
+\def\tkz at DrawTriangle[#1](#2,#3,#4){%
 \begingroup
-\pgfkeys{/drawtriangle/.cd,equilateral}   
-\pgfqkeys{/drawtriangle}{#1}  
-\ifcase\tkz at numdtr%
-   \tkzDefEquilateral(#2,#3)
-\or% 1
-   \tkzDefTwoOne(#2,#3)
-\or% 2
-   \tkzDefPythagore(#2,#3)
-\or% 3
-   \tkzDefSchoolTriangle(#2,#3)
-\or% 4
-   \tkzDefGoldenTriangle(#2,#3)
-\or% 5
-   \tkzDefEuclideTriangle(#2,#3)
-\or% 6
-   \tkzDefGoldTriangle(#2,#3) 
-\or% 7
-   \tkzDefCheopsTriangle(#2,#3)  
-\or% 8
-   \tkzDefTwoAnglesTriangle(#2,#3)
-  \or% 9
-   \tkzDefIsoscelesRightTriangle(#2,#3)
-\fi
- \draw[/drawtriangle/.cd,line style,line join=round,#1] (#2)--(#3)--(tkzPointResult)--cycle;  
+\draw[line style,line join=round,#1] (#2)--(#3)--(#4)--cycle;
 \endgroup
 }
 
@@ -72,6 +49,7 @@
 %<--------------------------------------------------------------------------–>
 \def\tkz at multitriangles#1 #2\@nil{% 
 \protected at edef\tkz at temp{
+%\noexpand \tkzDrawTriangle[\tkz at opttrianle](#1)}\tkz at temp% 
 \noexpand \tkzDrawPolygon[\tkz at opttrianle](#1)}\tkz at temp% 
 \def\tkz at nextArg{#2}%
 \ifx\tkzutil at empty\tkz at nextArg

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-grids.tex}   
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-grids.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %              Setup   Grid

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,29 +10,29 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-lines.tex}   
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-lines.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %                          les lignes
 %<--------------------------------------------------------------------------–>
-\def\tkz at numl{0}
-\pgfkeys{/tkzDefLine/.cd,
-  mediator/.code           =  \def\tkz at numl{0},
-  perpendicular/.code args =  {through #1} {\def\tkz at numl{1}%
+\def\tkz at numline{0}
+\pgfkeys{/tkzdefline/.cd,
+  mediator/.code           =  \def\tkz at numline{0},
+  perpendicular/.code args =  {through #1} {\def\tkz at numline{1}%
                                             \def\tkz at through{#1}},
-  orthogonal/.code args    =  {through #1} {\def\tkz at numl{1}%
+  orthogonal/.code args    =  {through #1} {\def\tkz at numline{1}%
                                             \def\tkz at through{#1}}, 
-  parallel/.code args      =  {through #1}{\def\tkz at numl{2}%
+  parallel/.code args      =  {through #1}{\def\tkz at numline{2}%
                                            \def\tkz at through{#1}},   
-  bisector/.code           =  \def\tkz at numl{3},
-  bisector out/.code       =  \def\tkz at numl{4},
-  symmedian/.code          =  \def\tkz at numl{5},
-  tangent at/.code         = {#1}{\def\tkz at numl{6} \def\tkz at ptat{#1}},
-  tangent from/.code       = {#1}{\def\tkz at numl{7} \def\tkz at ptfrom{#1}},
-  median/.code             =  \def\tkz at numl{8},
-  altitude/.code           = \def\tkz at numl{9},
+  bisector/.code           =  \def\tkz at numline{3},
+  bisector out/.code       =  \def\tkz at numline{4},
+  symmedian/.code          =  \def\tkz at numline{5},
+  altitude/.code           =  \def\tkz at numline{6},
+  euler/.code              =  \def\tkz at numline{7},
+  tangent from/.code       =  \def\tkz at numline{8} \def\tkz at ptfrom{#1},
+  tangent at/.code         =  \def\tkz at numline{9} \def\tkz at ptat{#1},
   K/.code                  =  \def\tkz at koeff{#1},
   K                        =  1,
   normed/.is if            =  tkz at line@normed,
@@ -43,9 +43,9 @@
 \def\tkzDefLine{\pgfutil at ifnextchar[{\tkz at DefLine}{\tkz at DefLine[]}}
 \def\tkz at DefLine[#1](#2){% 
 \begingroup
-\pgfkeys{/tkzDefLine/.cd,K=1}  
-\pgfqkeys{/tkzDefLine}{#1}  
-\ifcase\tkz at numl%
+%\pgfkeys{/tkzdefline/.cd,K=1}  
+\pgfqkeys{/tkzdefline}{#1}  
+\ifcase\tkz at numline%
  % first case 0
  \tkzDefMediatorLine(#2)  
   \or% 1
@@ -58,10 +58,14 @@
   \tkzDefBisectorOutLine(#2)
   \or% 5
   \tkzDefSymmedianLine(#2)
-  \or% 6
-  \tkzTgtAt(#1)(#2)  
+    \or% 6
+  \tkzDefAltitudeLine(#2)
   \or% 7
-  \tkzTgtFromP(#1)(#2)
+   \tkzDefEulerLine(#2)
+   \or% 8
+   \tkzTgtFromP(#2)(\tkz at ptfrom)
+ \or% 9
+   \tkzTgtAt(#2)(\tkz at ptat)
   \fi    
 \endgroup
 }
@@ -194,6 +198,32 @@
 \endgroup
 }
 %<--------------------------------------------------------------------------–>
+%              Altitude Line
+%<--------------------------------------------------------------------------–>
+\def\tkzDefAltitudeLine(#1,#2,#3){%
+\begingroup
+   \pgfinterruptboundingbox
+   \tkzUProjection(#1,#3)(#2)
+   \pgfnodealias{ort at pta}{tkzPointResult}
+   \endpgfinterruptboundingbox  
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+%              Euler Line
+%<--------------------------------------------------------------------------–>
+\def\tkzDefEulerLine(#1,#2,#3){%
+\begingroup
+  \pgfinterruptboundingbox
+  \tkzOrthoCenter(#1,#2,#3)  
+  \pgfnodealias{euler at pt1}{tkzPointResult}
+   \tkzEulerCenter(#1,#2,#3)  
+   \pgfnodealias{euler at pt2}{tkzPointResult}
+   \pgfnodealias{tkzSecondPointResult}{euler at pt2}
+   \pgfnodealias{tkzFirstPointResult}{euler at pt1}
+   \endpgfinterruptboundingbox  
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
 %    tangente à cercle passant par un point donné
 %<--------------------------------------------------------------------------–>
    

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-tools-el-points-by.tex}  
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-tools-eu-points-by.tex}  
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %                        Transformations Géométriques
@@ -426,6 +426,10 @@
    \tkzVecKNorm[\tkz at lnc](#1,#3) 
 \endgroup
 } 
+% possible 
+% \tkzDefLine[tangent from =#3](#1,#2) 
+% \tkzTgtFromP(#1,#2)(#3) 
+% \tkzInterLL(tkzFirstPointResult,tkzSecondPointResult)(#1,#2) 
 %<--------------------------------------------------------------------------–>
 %                   Inverse negative of a point 
 %<--------------------------------------------------------------------------–>

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-el-points-rnd.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-points-rnd.tex} 
 %<--------------------------------------------------------------------------–>
 \makeatletter
 %<-------------------------------------------------------------------------–>

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-el-points.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-points.tex} 
 \makeatletter  
 %add ExCenter
 %<--------------------------------------------------------------------------–>
@@ -121,15 +121,15 @@
 \begingroup
 \pgfqkeys{/tkzSimilitudeCenter}{#1}
 \ifcase\tkz at numhomo%
-   \tkzCalcLength(#2,#3)
-   \tkzGetLength{tkz at rt}
-   \tkzCalcLength(#4,#5)
-   \tkzGetLength{tkz at rf}
+    \tkz@@CalcLengthcm(#2,#3){tkz at rt}%
+    \tkz@@CalcLengthcm(#4,#5){tkz at rf}%
   \or% 1
-   \def\tkz at rt{#3}
-   \def\tkz at rf{#5}
+   \def\tkz at rt{#3}%
+   \def\tkz at rf{#5}%
 \fi
+\pgfinterruptboundingbox 
   \path[coordinate](barycentric cs:#2=\tkz at rf,#4=\tkz at rt)coordinate (tkzPointResult);
+  \endpgfinterruptboundingbox 
 \endgroup
 }
 \let\tkzDefIntHomotheticCenter\tkzDefIntSimilitudeCenter
@@ -142,15 +142,15 @@
 \begingroup
 \pgfqkeys{/tkzSimilitudeCenter}{#1}
 \ifcase\tkz at numhomo%
-   \tkzCalcLength(#2,#3)
-   \tkzGetLength{tkz at rt}
-   \tkzCalcLength(#4,#5)
-   \tkzGetLength{tkz at rf}
+ \tkz@@CalcLengthcm(#2,#3){tkz at rt}%
+    \tkz@@CalcLengthcm(#4,#5){tkz at rf}%
   \or% 1
-   \def\tkz at rt{#3}
-   \def\tkz at rf{#5}
+   \def\tkz at rt{#3}%
+   \def\tkz at rf{#5}%
 \fi
+ \pgfinterruptboundingbox 
    \path[coordinate](barycentric cs:#2=-\tkz at rf,#4=\tkz at rt) coordinate(tkzPointResult);
+   \endpgfinterruptboundingbox 
 \endgroup
 }
 
@@ -184,17 +184,25 @@
 
 \def\tkzDefDivHarmonicExt(#1,#2,#3){%
 \begingroup
-   \tkz@@CalcLengthcm(#3,#1){tkz at da}
-   \tkz@@CalcLengthcm(#3,#2){tkz at db}
-      \path[coordinate]  (barycentric cs:#1={-\tkz at db},#2={\tkz at da}) coordinate (tkzPointResult);
+\pgfinterruptboundingbox 
+  \tkz at VecKOrth[](#1,#2)  \tkzGetPoint{tkz at px}
+  \tkzDefMidPoint(tkz at px,#2)          \tkzGetPoint{tkz at py}
+  \tkzInterLL(tkz at px,#3)(#1,tkz at py)   \tkzGetPoint{tkz at pz}
+  \tkzInterLL(#2,tkz at pz)(#1,tkz at px)   \tkzGetPoint{tkz at px}
+  \tkzInterLL(tkz at py,tkz at px)(#1,#2)   \tkzGetPoint{tkzPointResult}
+\endpgfinterruptboundingbox 
 \endgroup
 }
 
 \def\tkzDefDivHarmonicInt(#1,#2,#3){%
 \begingroup
-   \tkz@@CalcLengthcm(#3,#1){tkz at da}
-   \tkz@@CalcLengthcm(#3,#2){tkz at db}
-       \path[coordinate]  (barycentric cs:#1={\tkz at db},#2={\tkz at da}) coordinate (tkzPointResult);
+\pgfinterruptboundingbox 
+  \tkz at VecKOrth[1](#1,#2)  \tkzGetPoint{tkz at px}
+  \tkzDefMidPoint(tkz at px,#2)          \tkzGetPoint{tkz at py}
+  \tkzInterLL(tkz at py,#3)(#1,tkz at px)   \tkzGetPoint{tkz at pz}
+  \tkzInterLL(#2,tkz at pz)(#1,tkz at py)   \tkzGetPoint{tkz at py}
+  \tkzInterLL(tkz at py,tkz at px)(#1,#2)   \tkzGetPoint{tkzPointResult}
+\endpgfinterruptboundingbox 
 \endgroup
 }
 
@@ -273,7 +281,7 @@
 %<--------------------------------------------------------------------------–> 
 %                    OrthoCenter
 %<--------------------------------------------------------------------------–>
-\def\tkzOrthoCenter(#1,#2,#3){%  H orthocentre
+\def\tkzOrthoCenter(#1,#2,#3){%
 \begingroup
   \pgfinterruptboundingbox 
    \tkzUProjection(#1,#2)(#3)
@@ -332,7 +340,7 @@
  \pgf at process{\pgfpointanchor{tkzSecondPointResult}{center}}%
  \tkz at dx\pgf at x%
  \tkz at dy\pgf at y%
- \tkzInterLLxy(\tkz at ax,\tkz at ay,\tkz at bx,\tkz at by)(\tkz at cx,\tkz at cy,\tkz at dx,\tkz at dy)%
+\tkzInterLLxy(\tkz at ax,\tkz at ay,\tkz at bx,\tkz at by)(\tkz at cx,\tkz at cy,\tkz at dx,\tkz at dy)%
 \endpgfinterruptboundingbox
 \endgroup
 } 
@@ -343,23 +351,22 @@
 \def\tkzInCenter(#1,#2,#3){%
 \begingroup
 \pgfinterruptboundingbox 
-   \tkzDefBisectorLine(#3,#1,#2)
-   \pgf at process{\pgfpointanchor{tkzPointResult}{center}}%
-   \tkz at bx\pgf at x%
-   \tkz at by\pgf at y%
-   \tkzDefBisectorLine(#3,#2,#1) 
-   \pgf at process{\pgfpointanchor{tkzPointResult}{center}}%
-   \tkz at dx\pgf at x%
-   \tkz at dy\pgf at y%
-   \pgf at process{\pgfpointanchor{#1}{center}}%
-   \tkz at ax\pgf at x%
-   \tkz at ay\pgf at y%
-   \pgf at process{\pgfpointanchor{#2}{center}}%
-   \tkz at cx\pgf at x%
-   \tkz at cy\pgf at y%
-   \tkzInterLLxy(\tkz at ax,\tkz at ay,\tkz at bx,\tkz at by)%
-               (\tkz at cx,\tkz at cy,\tkz at dx,\tkz at dy)%
-  \endpgfinterruptboundingbox
+\tkzDefBisectorLine(#3,#1,#2)
+\pgf at process{\pgfpointanchor{tkzPointResult}{center}}%
+\tkz at bx\pgf at x%
+\tkz at by\pgf at y%
+\tkzDefBisectorLine(#3,#2,#1) 
+\pgf at process{\pgfpointanchor{tkzPointResult}{center}}%
+\tkz at dx\pgf at x%
+\tkz at dy\pgf at y%
+\pgf at process{\pgfpointanchor{#1}{center}}%
+\tkz at ax\pgf at x%
+\tkz at ay\pgf at y%
+\pgf at process{\pgfpointanchor{#2}{center}}%
+\tkz at cx\pgf at x%
+\tkz at cy\pgf at y%
+\tkzInterLLxy(\tkz at ax,\tkz at ay,\tkz at bx,\tkz at by)(\tkz at cx,\tkz at cy,\tkz at dx,\tkz at dy)%
+\endpgfinterruptboundingbox
 \endgroup
 } 
 \let\tkzDefInCenter\tkzInCenter
@@ -369,23 +376,22 @@
 \def\tkzExCenter(#1,#2,#3){%
 \begingroup
 \pgfinterruptboundingbox 
-   \tkzDefBisectorOutLine(#2,#1,#3)
-   \pgf at process{\pgfpointanchor{tkzPointResult}{center}}%
-   \tkz at bx\pgf at x%
-   \tkz at by\pgf at y%
-    \tkzDefBisectorOutLine(#2,#3,#1) 
-   \pgf at process{\pgfpointanchor{tkzPointResult}{center}}%
-   \tkz at dx\pgf at x%
-   \tkz at dy\pgf at y%
-   \pgf at process{\pgfpointanchor{#1}{center}}%
-   \tkz at ax\pgf at x%
-   \tkz at ay\pgf at y%
-   \pgf at process{\pgfpointanchor{#3}{center}}%
-   \tkz at cx\pgf at x%
-   \tkz at cy\pgf at y%
-   \tkzInterLLxy(\tkz at ax,\tkz at ay,\tkz at bx,\tkz at by)%
-             (\tkz at cx,\tkz at cy,\tkz at dx,\tkz at dy)%
-  \endpgfinterruptboundingbox
+\tkzDefBisectorOutLine(#2,#1,#3)
+\pgf at process{\pgfpointanchor{tkzPointResult}{center}}%
+\tkz at bx\pgf at x%
+\tkz at by\pgf at y%
+\tkzDefBisectorOutLine(#2,#3,#1) 
+\pgf at process{\pgfpointanchor{tkzPointResult}{center}}%
+\tkz at dx\pgf at x%
+\tkz at dy\pgf at y%
+\pgf at process{\pgfpointanchor{#1}{center}}%
+\tkz at ax\pgf at x%
+\tkz at ay\pgf at y%
+\pgf at process{\pgfpointanchor{#3}{center}}%
+\tkz at cx\pgf at x%
+\tkz at cy\pgf at y%
+\tkzInterLLxy(\tkz at ax,\tkz at ay,\tkz at bx,\tkz at by)(\tkz at cx,\tkz at cy,\tkz at dx,\tkz at dy)%
+\endpgfinterruptboundingbox
 \endgroup
 } 
 \let\tkzDefExCenter\tkzExCenter
@@ -397,13 +403,13 @@
 % passe par les midpoints par les pieds des hauteurs
 \begingroup
 \pgfinterruptboundingbox 
-   \tkzDefMidPoint(#1,#2)
-   \pgfnodealias{eu at mic}{tkzPointResult}
-   \tkzDefMidPoint(#1,#3)
-   \pgfnodealias{eu at mib}{tkzPointResult}
-   \tkzDefMidPoint(#2,#3)
-   \pgfnodealias{eu at mia}{tkzPointResult}
-   \tkzCircumCenter(eu at mia,eu at mib,eu at mic)
+\tkzDefMidPoint(#1,#2)
+\pgfnodealias{eu at mic}{tkzPointResult}
+\tkzDefMidPoint(#1,#3)
+\pgfnodealias{eu at mib}{tkzPointResult}
+\tkzDefMidPoint(#2,#3)
+\pgfnodealias{eu at mia}{tkzPointResult}
+\tkzCircumCenter(eu at mia,eu at mib,eu at mic)
 \endpgfinterruptboundingbox
 \endgroup
 }
@@ -415,19 +421,19 @@
 \def\tkzSymmedianCenter(#1,#2,#3){%
 \begingroup
 \pgfinterruptboundingbox    
-  \tkzDefMidPoint(#2,#3)
-  \pgfnodealias{eu at mic}{tkzPointResult}
-  \tkzDefMidPoint(#1,#3)
-  \pgfnodealias{eu at mib}{tkzPointResult}
-  \tkzUProjection(#2,#3)(#1)
-  \pgfnodealias{ort at pta}{tkzPointResult}
-  \tkzDefMidPoint(#1,ort at pta)
-  \pgfnodealias{eu at mid}{tkzPointResult}
-  \tkzUProjection(#1,#3)(#2)
-  \pgfnodealias{ort at ptb}{tkzPointResult}
-  \tkzDefMidPoint(#2,ort at ptb)
-  \pgfnodealias{eu at mie}{tkzPointResult}
-  \tkzInterLL(eu at mic,eu at mid)(eu at mib,eu at mie)
+\tkzDefMidPoint(#2,#3)
+\pgfnodealias{eu at mic}{tkzPointResult}
+\tkzDefMidPoint(#1,#3)
+\pgfnodealias{eu at mib}{tkzPointResult}
+\tkzUProjection(#2,#3)(#1)
+\pgfnodealias{ort at pta}{tkzPointResult}
+\tkzDefMidPoint(#1,ort at pta)
+\pgfnodealias{eu at mid}{tkzPointResult}
+\tkzUProjection(#1,#3)(#2)
+\pgfnodealias{ort at ptb}{tkzPointResult}
+\tkzDefMidPoint(#2,ort at ptb)
+\pgfnodealias{eu at mie}{tkzPointResult}
+\tkzInterLL(eu at mic,eu at mid)(eu at mib,eu at mie)
 \endpgfinterruptboundingbox
 \endgroup
 }
@@ -441,13 +447,13 @@
 \begingroup
 % we need to get the midpoints
 \pgfcoordinate{tkz at m3}{%
-    \pgfpointscale{0.5}{%
-   \pgfpointadd{\pgfpointanchor{#1}{center}}%
-               {\pgfpointanchor{#2}{center}}}}%
+  \pgfpointscale{0.5}{%
+  \pgfpointadd{\pgfpointanchor{#1}{center}}%
+              {\pgfpointanchor{#2}{center}}}}%
 \pgfcoordinate{tkz at m2}{%
-    \pgfpointscale{0.5}{%
-   \pgfpointadd{\pgfpointanchor{#1}{center}}%
-               {\pgfpointanchor{#3}{center}}}}%
+  \pgfpointscale{0.5}{%
+  \pgfpointadd{\pgfpointanchor{#1}{center}}%
+              {\pgfpointanchor{#3}{center}}}}%
 \pgfcoordinate{tkz at m1}{%
    \pgfpointscale{0.5}{%
    \pgfpointadd{\pgfpointanchor{#2}{center}}%
@@ -462,13 +468,13 @@
 \def\tkzGergonneCenter(#1,#2,#3){%  
 \begingroup
 \pgfinterruptboundingbox 
-   \tkzInCenter(#1,#2,#3)
-   \pgfnodealias{tkz at ptin}{tkzPointResult}
-   \tkzUProjection(#2,#3)(tkz at ptin)
-   \pgfnodealias{tkz at oca}{tkzPointResult}
-   \tkzUProjection(#1,#3)(tkz at ptin)
-   \pgfnodealias{tkz at ocb}{tkzPointResult}
-   \tkzInterLL(#1,tkz at oca)(#2,tkz at ocb)
+\tkzInCenter(#1,#2,#3)
+\pgfnodealias{tkz at ptin}{tkzPointResult}
+\tkzUProjection(#2,#3)(tkz at ptin)
+\pgfnodealias{tkz at oca}{tkzPointResult}
+\tkzUProjection(#1,#3)(tkz at ptin)
+\pgfnodealias{tkz at ocb}{tkzPointResult}
+\tkzInterLL(#1,tkz at oca)(#2,tkz at ocb)
 \endpgfinterruptboundingbox
 \endgroup
 }
@@ -480,12 +486,12 @@
 \def\tkzNagelCenter(#1,#2,#3){%  
 \begingroup
 \pgfinterruptboundingbox 
-  \tkzDefExcentralTriangle(#1,#2,#3){tkz at a,tkz at b,tkz at c}
-  \tkzUProjection(#2,#3)(tkz at a)
-  \pgfnodealias{tkz at tgta}{tkzPointResult}
-  \tkzUProjection(#1,#2)(tkz at c)
-  \pgfnodealias{tkz at tgtc}{tkzPointResult}
-  \tkzInterLL(#1,tkz at tgta)(#3,tkz at tgtc)
+\tkzDefExcentralTriangle(#1,#2,#3){tkz at a,tkz at b,tkz at c}
+\tkzUProjection(#2,#3)(tkz at a)
+\pgfnodealias{tkz at tgta}{tkzPointResult}
+\tkzUProjection(#1,#2)(tkz at c)
+\pgfnodealias{tkz at tgtc}{tkzPointResult}
+\tkzInterLL(#1,tkz at tgta)(#3,tkz at tgtc)
 \endpgfinterruptboundingbox
 \endgroup
 }
@@ -496,18 +502,18 @@
 \def\tkzMittenpunktCenter(#1,#2,#3){%  
 \begingroup
 \pgfinterruptboundingbox 
- \tkzExCenter(#2,#3,#1)
- \pgfnodealias{tkz at a}{tkzPointResult}
- \tkzExCenter(#3,#1,#2)
- \pgfnodealias{tkz at b}{tkzPointResult}
- \pgfcoordinate{tkz at ma}{%
- \pgfpointscale{0.5}{%
- \pgfpointadd{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}}}%
- \pgfcoordinate{tkz at mb}{%
- \pgfpointscale{0.5}{%
- \pgfpointadd{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#3}{center}}}}%
- \tkzInterLL(tkz at a,tkz at ma)(tkz at b,tkz at mb)
- \endpgfinterruptboundingbox
+\tkzExCenter(#2,#3,#1)
+\pgfnodealias{tkz at a}{tkzPointResult}
+\tkzExCenter(#3,#1,#2)
+\pgfnodealias{tkz at b}{tkzPointResult}
+\pgfcoordinate{tkz at ma}{%
+\pgfpointscale{0.5}{%
+\pgfpointadd{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}}}%
+\pgfcoordinate{tkz at mb}{%
+\pgfpointscale{0.5}{%
+\pgfpointadd{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#3}{center}}}}%
+\tkzInterLL(tkz at a,tkz at ma)(tkz at b,tkz at mb)
+\endpgfinterruptboundingbox
 \endgroup
 }
 \let\tkzDefMittenpunktCenter\tkzMittenpunktCenter 
@@ -518,14 +524,14 @@
 \def\tkzFeuerbachCenter(#1,#2,#3){%  
 \begingroup
 \pgfinterruptboundingbox 
- \tkzEulerCenter(#1,#2,#3)
- \pgfnodealias{tkz at euler}{tkzPointResult}
- \tkzInCenter(#1,#2,#3) 
- \pgfnodealias{tkz at in}{tkzPointResult}
- \tkzUProjection(#2,#3)(tkzPointResult)
- \tkzInterLC(tkz at in,tkz at euler)(tkz at in,tkzPointResult)\tkzGetFirstPoint{tkz at fe}
- \tkzRenamePoint(tkz at fe){tkzPointResult}
- \endpgfinterruptboundingbox  
+\tkzEulerCenter(#1,#2,#3)
+\pgfnodealias{tkz at euler}{tkzPointResult}
+\tkzInCenter(#1,#2,#3) 
+\pgfnodealias{tkz at in}{tkzPointResult}
+\tkzUProjection(#2,#3)(tkzPointResult)
+\tkzInterLC(tkz at in,tkz at euler)(tkz at in,tkzPointResult)\tkzGetFirstPoint{tkz at fe}
+\tkzRenamePoint(tkz at fe){tkzPointResult}
+\endpgfinterruptboundingbox  
 \endgroup
 }
 \let\tkzDefFeuerbachCenter\tkzFeuerbachCenter 
@@ -535,11 +541,11 @@
 \def\tkzOrthogonalCenter(#1,#2){%
 \begingroup
 \pgfinterruptboundingbox 
- \tkz at VecK[\tkz at koeff/(1+\tkz at koeff)](#1,#2)
- \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
- \tkz at VecK[\tkz at koeff/(\tkz at koeff-1)](#1,#2)
- \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
-   \tkzDefMidPoint(tkzFirstPointResult,tkzSecondPointResult) 
+\tkz at VecK[\tkz at koeff/(1+\tkz at koeff)](#1,#2)
+\pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+\tkz at VecK[\tkz at koeff/(\tkz at koeff-1)](#1,#2)
+\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+\tkzDefMidPoint(tkzFirstPointResult,tkzSecondPointResult) 
 \endpgfinterruptboundingbox 
 \endgroup
 }
@@ -587,21 +593,40 @@
 %<--------------------------------------------------------------------------–>
 \def\tkz at numptcirc{0}
 \pgfkeys{/tkzptcircle/.cd,
-   through/.code  args = {angle #1 center #2 point #3} {\def\tkz at angle{#1}%
-                                                         \def\tkz at center{#2}%
-                                                         \def\tkz at through{#3}%
-                                                         \def\tkz at numptcirc{0}},
-   R/.code args = {angle #1 center #2 radius #3}        {\def\tkz at angle{#1}%
-                                                          \def\tkz at center{#2}%
-                                                          \def\tkz at radius{#3}%
-                                                          \def\tkz at numptcirc{1}},
+through/.code  args = {center #1 angle #2 point #3}        { \def\tkz at center{#1}%
+                                                             \def\tkz at angle{#2}%
+                                                             \def\tkz at through{#3}%
+                                                             \def\tkz at numptcirc{0}},
+R/.code args = {center #1 angle #2 radius #3}              { \def\tkz at center{#1}%
+                                                             \def\tkz at angle{#2}%
+                                                             \def\tkz at radius{#3}%
+                                                             \def\tkz at numptcirc{1}},
+through in rad/.code  args = {center #1 angle #2 point #3} { \def\tkz at center{#1}%
+                                                             \def\tkz at angle{#2}%
+                                                             \def\tkz at through{#3}%
+                                                             \def\tkz at numptcirc{2}},
+R in rad/.code args = {center #1 angle #2 radius #3}       { \def\tkz at center{#1}%
+                                                             \def\tkz at angle{#2}%
+                                                             \def\tkz at radius{#3}%
+                                                             \def\tkz at numptcirc{3}}                                                 
 }
-\def\tkzDefPointOnCircle{\pgfutil at ifnextchar[{\tkz at DefPointOnCircle}{\tkz at DefPointOnCircle[]}}     
+                                                  
+\def\tkzDefPointOnCircle{\pgfutil at ifnextchar[{\tkz at DefPointOnCircle}{%
+                                              \tkz at DefPointOnCircle[]}}     
 \def\tkz at DefPointOnCircle[#1]{%
 \begingroup 
 \pgfqkeys{/tkzptcircle}{#1}
  \ifcase\tkz at numptcirc%
     \tkz@@CalcLengthcm(\tkz at center,\tkz at through){tkz at radius}
+     \or% 1
+    \relax%
+    \or% 2
+    \pgfmathparse{\tkz at angle\space r}
+    \let\tkz at angle\pgfmathresult
+    \tkz@@CalcLengthcm(\tkz at center,\tkz at through){tkz at radius}
+    \or% 3
+    \pgfmathparse{\tkz at angle\space r}
+    \let\tkz at angle\pgfmathresult
 \fi
 \path (\tkz at center) --++(\tkz at angle:\tkz at radius) coordinate(tkzPointResult);
 \endgroup

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-el-points-with.tex}   
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-points-with.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %                          Vectors
@@ -22,7 +22,7 @@
 % 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) 
+%   v(CN)  =   v(AB)   et v(CN) colineaire à v(CD) 
 % A-->#1 B-->#2 C-->#3 D-->#4 N-->#5   ?????
 %<--------------------------------------------------------------------------–>
 %<--------------------------------------------------------------------------–>
@@ -130,7 +130,7 @@
 %<--------------------------------------------------------------------------–>
 %     tkzVector K Orth   coeff dans #1
 %     v(AN) perp v(AB)  (v(AB) , v(AN) ) sens direct cercle trigo 
-%     ||v(AN)||=||v(AB)||
+%       v(AN)  =  v(AB)  
 %<--------------------------------------------------------------------------–>
 % tkz at numv 1
 \def\tkzVecKOrth{\pgfutil at ifnextchar[{\tkz at VecKOrth}{\tkz at VecKOrth[1]}}  
@@ -175,7 +175,7 @@
 %<--------------------------------------------------------------------------–>
 %              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
+%   v(AN  =1 si #1 est vide ou =1 sinon   v(AN  =K
 %<--------------------------------------------------------------------------–>
 % tkz at numv 3
 \def\tkzVecKOrthNorm{\pgfutil at ifnextchar[{\tkz at VecKOrthNorm}%
@@ -195,8 +195,8 @@
 }%      
 %<--------------------------------------------------------------------------–>
 %              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 
+% A-->#2 B-->#3 N-->#4      v(AB)  devient v(AN) tq   v(AN)  =1 si #1=1  
+%  sinon   v(AN)  =#1 
 %<--------------------------------------------------------------------------–>
 % tkz at numv 4
 \def\tkzVecKNorm{\pgfutil at ifnextchar[{\tkz at VecKNorm}{\tkz at VecKNorm[1]}} 

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”. 
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b  tkz-obj-eu-points.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c  tkz-obj-eu-points.tex} 
 \makeatletter
 %<--------------------------------------------------------------------------->
 %                             init def point 
@@ -115,57 +115,6 @@
 % \def\tkz at drawnode#1{\path[coordinate](\tkzpt at xa,\tkzpt at ya) coordinate(#1);
 %              \tkz at DrawPt{#1}
 %              }
-%<--------------------------------------------------------------------------->
-%                    tkzSetUpPoint  définit la forme d'un point
-%<--------------------------------------------------------------------------->
-\pgfkeys{/tkzsetuppt/.cd,
-      size/.store in       =  \tkz at pt@size,
-      color/.store in      =  \tkz at pt@color,
-      fill/.store in       =  \tkz at pt@fill, 
-      shape/.store in      =  \tkz at pt@shape,
-      size                 =  \tkz at euc@pointsize,
-      color                =  \tkz at euc@pointcolor,
-      fill                 =  \tkz at euc@pointcolor,
-      shape                =  \tkz at euc@pointshape,
-   /tkzsetuppt/.search also  = {/tikz},
- } 
-\def\tkzSetUpPoint{\pgfutil at ifnextchar[{\tkz at SetUpPoint}{%
-                                        \tkz at SetUpPoint[]}}
-\def\tkz at SetUpPoint[#1]{%
-\pgfqkeys{/tkzsetuppt}{#1}
-% redefine point style with new values
-\tikzset{point style/.style={draw         = \tkz at pt@color,
-                             inner sep    = 0pt,
-                             shape        = \tkz at pt@shape,
-                             minimum size = \tkz at pt@size,
-                             fill         = \tkz at pt@fill}}
-}% end setup
-%<--------------------------------------------------------------------------->
-%                       Draw Point   
-%<--------------------------------------------------------------------------->
-\pgfkeys{/tkzdrawpt/.cd, 
-  size/.code   = {\tikzset{point style/.append style={minimum size = #1}}},
-  size         = \tkz at euc@pointsize,
-  /tkzdrawpt/.search also  = {/tikz},
-}
-%<--------------------------------------------------------------------------    
-\def\tkzDrawPoint{\pgfutil at ifnextchar[{\tkz at DrawPoint}{\tkz at DrawPoint[]}} 
-\def\tkz at DrawPoint[#1](#2){%
-\begingroup 
-    \pgfqkeys{/tkzdrawpt}{#1}    
-    \node[point style,/tkzdrawpt/.cd,#1] at (#2) {};%2016
-\endgroup
-}
-%<---------------------------------------------------------------------------> 
-\def\tkzDrawPoints{\pgfutil at ifnextchar[{\tkz at drawpts}{\tkz at drawpts[]}} 
-%<---------------------------------------------------------------------------> 
-\def\tkz at drawpts[#1](#2){%
-\begingroup
-   \pgfqkeys{/tkzdrawpt}{#1}        
-   \foreach \point in {#2}{\node[point style,/tkzdrawpt/.cd,#1] at (\point) {};} %2016
-\endgroup 
-}
-%<--------------------------------------------------------------------------->
 % 
 %<--------------------------------------------------------------------------->
 \def\tkzRenamePoint(#1)#2{\coordinate (#2) at (#1);}
@@ -191,111 +140,7 @@
    \coordinate  (#3) at (#2);
 \end{scope}
 }
-%<-------------------------------------------------------------------------->
-%                   tkzLabelPoint          Affichage des LABELS pour un point
-%<-------------------------------------------------------------------------->  
-\def\tkzLabelPoint{\pgfutil at ifnextchar[{\tkz at LabelPoint}{\tkz at LabelPoint[]}} 
-\def\tkz at LabelPoint[#1](#2)#3{%
-      \node[label style,#1] at (#2) {#3};}%
 %<--------------------------------------------------------------------------->
-
-\def\tkzLabelPoints{\pgfutil at ifnextchar[{\tkz at LabelPoints}{\tkz at LabelPoints[]}}% 
-\def\tkz at LabelPoints[#1](#2){%
- \foreach \point in {#2}{
-      \node[label style,#1] at (\point) {$\point$};}
-}%
-%<--------------------------------------------------------------------------->
-\pgfkeys{/tkzsetuppt/.cd,
-      size/.store in       =  \tkz at pt@size,
-      color/.store in      =  \tkz at pt@color,
-      fill/.store in       =  \tkz at pt@fill, 
-      shape/.store in      =  \tkz at pt@shape,
-      size                 =  \tkz at euc@pointsize,
-      color                =  \tkz at euc@pointcolor,
-      fill                 =  \tkz at euc@pointcolor,
-      shape                =  \tkz at euc@pointshape,
-   /tkzsetuppt/.search also  = {/tikz},
- } 
-\def\tkzSetUpPoint{\pgfutil at ifnextchar[{\tkz at SetUpPoint}{%
-                                        \tkz at SetUpPoint[]}}
-\def\tkz at SetUpPoint[#1]{%
-\pgfqkeys{/tkzsetuppt}{#1}
-% redefine point style with new values
-\tikzset{point style/.style={draw         = \tkz at pt@color,
-                             inner sep    = 0pt,
-                             shape        = \tkz at pt@shape,
-                             minimum size = \tkz at pt@size,
-                             fill         = \tkz at pt@fill}}
-}% end setup
-%<--------------------------------------------------------------------------->
-%
-%<--------------------------------------------------------------------------->
-\def\tkzSetUpLabel{\pgfutil at ifnextchar[{\tkz at SetUpLabel}{%
-                                        \tkz at SetUpLabel[]}}
-\def\tkz at SetUpLabel[#1]{%
-\tikzset{label style/.style={#1}}
-}% end setup
-%<--------------------------------------------------------------------------->
-
-\pgfkeys{/tkzautolab/.cd,
-    center/.store in           = \tkz at center,
-    dist/.store in             = \tkz at dist,
-    dist                       = 0.15,
-   /tkzautolab/.search also   = {/tikz},
-}
-\def\tkzAutoLabelPoints{\pgfutil at ifnextchar[{\tkz at AutoLabelPoints}{\tkz at AutoLabelPoints[]}}% 
-\def\tkz at AutoLabelPoints[#1](#2){%
-\begingroup 
-\pgfqkeys{/tkzautolab}{#1} 
- \foreach \point in {#2}{
- \path (\tkz at center) -- ($ (\point) + \tkz at dist*($(\point)-(\tkz at center)$) $) node[/tkzautolab/.cd,#1]{$\point$};}
-\endgroup
-}%
-%<--------------------------------------------------------------------------->
-%                                 PointShowCoord  
-%<--------------------------------------------------------------------------->
-\pgfkeys{/tkzprcoord/.cd,
-          xlabel/.store in    = \tkz at xlabel,
-          ylabel/.store in    = \tkz at ylabel, 
-          xstyle/.code        = {\tikzset{xcoord style/.append style={#1}}},
-          ystyle/.code        = {\tikzset{ycoord style/.append style={#1}}},
-          noxdraw/.is if      = tkz at coord@noxdraw,
-          noxdraw/.default    = true,
-          noydraw/.is if      = tkz at coord@noydraw,
-          noydraw/.default    = true,
-          xlabel              = {},
-          ylabel              = {},
-          xstyle              = {},
-          ystyle              = {},
-          noxdraw             = false,
-          noydraw             = false,    
-  /tkzprcoord/.search also   = {/tikz},
-}
-\def\tkzPointShowCoord{\pgfutil at ifnextchar[{\tkz at PointShowCoord}{\tkz at PointShowCoord[]}}     
-\def\tkz at PointShowCoord[#1](#2){%
-\begingroup 
-\pgfqkeys{/tkzprcoord}{#1} 
-% 2019 for showcoord
- \iftkznodedefined{tkz at xline}{}{%
- \path (0,0) --(1,0) node(tkz at xline){};
- \path (0,0) --(0,1) node(tkz at yline){};
- }
-\iftkz at coord@noxdraw\else\draw[arrow coord style,/tkzprcoord/.cd,#1] (#2)--(#2 |- tkz at xline);\fi 
-\iftkz at coord@noydraw\else\draw[arrow coord style,/tkzprcoord/.cd,#1] (#2)--(#2 -| tkz at yline);\fi   
-\ifx\tkzutil at empty\tkz at xlabel
-\else
-\path (#2)--(#2 |- tkz at xline)
-  node[xcoord style] {\tkz at xlabel};
-\fi
-\ifx\tkzutil at empty\tkz at ylabel
-\else
- \path (#2)--(#2 -| tkz at yline)
-   node[ycoord style] {\tkz at ylabel};
-\fi    
-\endgroup
-}
-\let\tkzShowPointCoord\tkzPointShowCoord
-%<--------------------------------------------------------------------------->
 %                    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

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-polygons.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-polygons.tex} 
 % bug in regular polygon side 2020/03/09
 \makeatletter  
 %<--------------------------------------------------------------------------–>
@@ -40,15 +40,13 @@
 %<---------------------   rectangle        ---------------------------------–>
 %
 %<--------------------------------------------------------------------------–>
-
 \def\tkzDefRectangle{\pgfutil at ifnextchar[{\tkz at DefRectangle}%
                       {\tkz at DefRectangle[]}} 
 \def\tkz at DefRectangle[#1](#2,#3){%
 \begingroup
-   \path[#1](#2) -| coordinate (tkzFirstPointResult) (#3) -| coordinate (tkzSecondPointResult) (#2);
+   \path[#1](#2) -  coordinate (tkzFirstPointResult) (#3) -  coordinate (tkzSecondPointResult) (#2);
 \endgroup
 }
-
 %<-------------------------- gold rectangle -------------------------------–>
 %
 %<--------------------------------------------------------------------------–>

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-protractor.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-protractor.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-protractor.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-protractor.tex}  
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-protractor.tex}  
 \makeatletter
 %<--------------------------------------------------------------------------–>  
 %                   !!! idea from Y. Combe  !!! 
@@ -43,14 +43,14 @@
 \draw[fill=black] (0,0) circle (.08mm);
 \node[draw, circle, inner sep=.2mm] (a) at (0,0) {};
 \foreach \x in {0, 90, ..., 360}{%
-    \draw[very thin, gray!40] (a) -- (\x:4cm);} 
+    \draw[very thin, gray!40] (a) -- (\x:4cm);}
 \foreach \x in {0,...,359} {\draw (\x:3.8cm) -- (\x:4cm);}
-\foreach \x in {0,5,...,355}  {\draw (\x:3.725cm) -- (\x:4cm);}   
+\foreach \x in {0,5,...,355}  {\draw (\x:3.725cm) -- (\x:4cm);}
 \foreach \x in {0,10,...,350}{%
      \node[rotate=(\x-90)] at (\x:3.6cm) {\tiny\x};
-} 
+}
     \draw [>=stealth',->, thick,black] (0:2.5) arc(0:32:2.5);
-    \draw [>=stealth',->, thick,black] (0:2) arc(0:32:2); 
+    \draw [>=stealth',->, thick,black] (0:2) arc(0:32:2);
     \draw [>=stealth',->, thick,black] (0:1.5) arc(0:32:1.5);
 }
 
@@ -91,7 +91,7 @@
 
 \def\tkzProtractor{\pgfutil at ifnextchar[{\tkz at Protractor}{\tkz at Protractor[]}}
 \def\tkz at Protractor[#1](#2,#3){%
-\tkz at RappReturntrue
+\tkz at RappReturnfalse
 \pgfqkeys{/protractor}{#1}
   \tkz@@extractxy{#2}
   \global\tkz at ax\pgf at x

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-sectors.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-sectors.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-sectors.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-sectors.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-sectors.tex} 
 \makeatletter  
 %<-----------------------    Sectors         ------------------------------–>
 \gdef\tkz at nums{0}

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-show.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-show.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-show.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-obj-eu-show.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-obj-eu-show.tex} 
 \makeatletter  
 %<--------------------------------------------------------------------------–>
 % finding specific points in a triangle

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b  tkz-obj-eu-triangles.tex} 
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c  tkz-obj-eu-triangles.tex} 
 \makeatletter  
 %<--------------------------------------------------------------------------–>
 %                       Triangle Equilateral
@@ -19,7 +19,7 @@
 %<--------------------------------------------------------------------------–>
 \def\tkzDefEquilateral(#1,#2){
 \begingroup
-\tkzDefMidPoint(#1,#2)
+ %\tkzDefMidPoint(#1,#2)
  \tkzURotateAngle(#1,60)(#2)
 \endgroup
 }
@@ -34,22 +34,16 @@
 \endgroup
 }
 %<--------------------------------------------------------------------------–>
-\def\tkzDefIsoscelesRightTriangle{\pgfutil at ifnextchar[{\tkz at DefIsoscelesRightTriangle}{%
-                                         \tkz at DefIsoscelesRightTriangle[]}} 
-
-\def\tkz at DefIsoscelesRightTriangle[#1](#2,#3){%
+\def\tkzDefIsoscelesRightTriangle(#1,#2){%
 \begingroup
- \tkzURotateAngle(#2,45)(#3)
+ \tkzURotateAngle(#1,45)(#2)
  \pgfnodealias{tkz at a}{tkzPointResult}
- \tkzUHomo(#2,\tkzSqrTwobyTwo)(tkz at a)
- \tkzDrawPolygon[#1](#2,#3,tkzPointResult)
+ \tkzUHomo(#1,\tkzSqrTwobyTwo)(tkz at a)
 \endgroup
 }
 %<--------------------------------------------------------------------------–>
 %                       Triangle OneTwo
 %<--------------------------------------------------------------------------–>
-
-
 \def\tkzDefTwoOne(#1,#2){
 \begingroup
  \iftkz at swap@tr
@@ -59,6 +53,9 @@
    \fi
  \endgroup
 }
+%<--------------------------------------------------------------------------– 
+%         Pythagore
+%<--------------------------------------------------------------------------– 
 \def\tkzDefPythagore(#1,#2){
 \begingroup
 \iftkz at swap@tr
@@ -68,6 +65,9 @@
   \fi
 \endgroup
 }
+%<--------------------------------------------------------------------------– 
+%     School
+%<--------------------------------------------------------------------------– 
 \def\tkzDefSchoolTriangle(#1,#2){
 \begingroup
 \iftkz at swap@tr
@@ -83,31 +83,42 @@
   \fi
 \endgroup
 }
+%<--------------------------------------------------------------------------– 
+%   Gold 
+%<--------------------------------------------------------------------------– 
 \def\tkzDefGoldTriangle(#1,#2){
 \begingroup
-
  \iftkz at swap@tr
- \tkzURotateAngle(#1,36)(#2)
+ \tkzDefPointWith[K=-\tkzInvPhi](#2,#1)
   \else
- \tkzURotateAngle(#1,-36)(#2)
+ \tkzDefPointWith[K=\tkzInvPhi](#2,#1)
    \fi
 \endgroup
 }
+%<--------------------------------------------------------------------------– 
+%
+%<--------------------------------------------------------------------------– 
 \def\tkzDefEuclideTriangle(#1,#2){
 \begingroup
- \tkzURotateAngle(#1,72)(#2)
- \tkzUHomo(#1,\tkzPhi)(tkzPointResult)
+ \iftkz at swap@tr
+ \tkzURotateAngle(#1,36)(#2)
+  \else
+ \tkzURotateAngle(#1,-36)(#2)
+   \fi
 \endgroup
 }
+%<--------------------------------------------------------------------------– 
+%
+%<--------------------------------------------------------------------------– 
 \def\tkzDefGoldenTriangle(#1,#2){
 \begingroup
- \iftkz at swap@tr
- \tkzDefPointWith[K=-\tkzInvPhi](#2,#1)
-  \else
- \tkzDefPointWith[K=\tkzInvPhi](#2,#1)
-   \fi
+ \tkzURotateAngle(#1,72)(#2)
+ \tkzUHomo(#1,\tkzPhi)(tkzPointResult)
 \endgroup
 }
+%<--------------------------------------------------------------------------– 
+%
+%<--------------------------------------------------------------------------– 
 \def\tkzDefCheopsTriangle(#1,#2){
 \begingroup
   \tkzDefMidPoint(#1,#2)
@@ -114,13 +125,16 @@
   \tkzDefPointWith[K=-\tkzSqrtPhi](tkzPointResult,#1)
 \endgroup
 }
+%<--------------------------------------------------------------------------– 
+%
+%<--------------------------------------------------------------------------– 
 \def\tkzDefTwoAnglesTriangle(#1,#2){
 \begingroup
  \tkzURotateAngle(#1,\tkz at alpha)(#2)
- \pgfnodealias{tkz at pta}{tkzPointResult}
+ \pgfnodealias{tkz at a}{tkzPointResult}
  \tkzURotateAngle(#2,-\tkz at beta)(#1)
- \pgfnodealias{tkz at ptb}{tkzPointResult}
- \tkzInterLL(#1,tkz at pta)(#2,tkz at ptb)
+ \pgfnodealias{tkz at b}{tkzPointResult}
+ \tkzInterLL(#1,tkz at a)(#2,tkz at b)
 \endgroup
 }
 %<--------------------------------------------------------------------------–>
@@ -128,13 +142,13 @@
 %<--------------------------------------------------------------------------–>
 
 \def\tkz at numtr{0}
-\pgfkeys{%
-      /deftriangle/.cd,
+\pgfkeys{/deftriangle/.cd,
       equilateral/.code       = \def\tkz at numtr{0},
       half/.code              = \def\tkz at numtr{1},
       two one/.code           = \def\tkz at numtr{1},
       pythagore/.code         = \def\tkz at numtr{2},
       pythagoras/.code        = \def\tkz at numtr{2},
+      right/.code             = \def\tkz at numtr{2},
       egyptian/.code          = \def\tkz at numtr{2},
       school/.code            = \def\tkz at numtr{3},
       golden/.code            = \def\tkz at numtr{4},
@@ -145,18 +159,17 @@
       cheops/.code            = \def\tkz at numtr{7},
       two angles/.code  args  = {#1 and #2} { \def\tkz at numtr{8}%
                                               \def\tkz at alpha{#1}%
-                                             \def\tkz at beta{#2}},
+                                              \def\tkz at beta{#2}},
       isosceles right/.code    = \def\tkz at numtr{9},
       swap/.is if              =  tkz at swap@tr,
       swap/.default            =  true,
       swap                     =  false,
-     equilateral
+      equilateral
 } 
 
 \def\tkzDefTriangle{\pgfutil at ifnextchar[{\tkz at DefTriangle}{\tkz at DefTriangle[]}}
 \def\tkz at DefTriangle[#1](#2,#3){% 
-\begingroup
-\pgfkeys{/deftriangle/.cd,equilateral}   
+\begingroup  
 \pgfqkeys{/deftriangle}{#1}  
 \ifcase\tkz at numtr%
   \tkzDefEquilateral(#2,#3)
@@ -353,17 +366,14 @@
    \foreach \name  [count=\i] in {#5} {%
          \global\expandafter\edef\csname tkz at point\i\endcsname{\name}
         }
-   \tkzDefExCircle(#2,#3,#4)
-   \pgfnodealias{tkz at b}{tkzPointResult} \tkzGetLength{tkz at rb}
-   \tkzDefExCircle(#3,#4,#2)
-   \pgfnodealias{tkz at c}{tkzPointResult} \tkzGetLength{tkz at rc}
-   \tkzDefExCircle(#4,#2,#3)
-   \pgfnodealias{tkz at a}{tkzPointResult} \tkzGetLength{tkz at ra}
-   \tkzInterLC[R](#3,tkz at b)(tkz at b,\tkz at rb)
-   \tkzGetSecondPoint{\tkz at pttr@name\csname tkz at point2\endcsname}
-   \tkzInterLC[R](#4,tkz at c)(tkz at c,\tkz at rc)
-   \tkzGetSecondPoint{\tkz at pttr@name\csname tkz at point3\endcsname}
-   \tkzInterLC[R](#2,tkz at a)(tkz at a,\tkz at ra)
+   \tkzDefExCircle(#2,#3,#4) \tkzGetPoints{tkz at b}{tkz at hb}
+   \tkzDefExCircle(#3,#4,#2) \tkzGetPoints{tkz at c}{tkz at hc}
+   \tkzDefExCircle(#4,#2,#3) \tkzGetPoints{tkz at a}{tkz at ha}
+   \tkzInterLC[near](#3,tkz at b)(tkz at b,tkz at hb)
+   \tkzGetFirstPoint{\tkz at pttr@name\csname tkz at point2\endcsname}
+   \tkzInterLC[near](#4,tkz at c)(tkz at c,tkz at hc)
+   \tkzGetFirstPoint{\tkz at pttr@name\csname tkz at point3\endcsname}
+   \tkzInterLC[near](#2,tkz at a)(tkz at a,tkz at ha)
    \tkzGetFirstPoint{\tkz at pttr@name\csname tkz at point1\endcsname}
 \endgroup
 }

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b  tkz-obj-eu-BB.tex}  
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c  tkz-obj-eu-BB.tex}  
 \makeatletter
 %<--------------------------------------------------------------------------–>
 \def\tkzShowBB{\pgfutil at ifnextchar[{\tkz at ShowBB}{\tkz at ShowBB[]}} 

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”. 
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-tools-angles.tex}   
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-tools-eu-angles.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %<--------------------------------------------------------------------------–>

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”. 
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-tools-eu-base.tex}   
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-tools-eu-base.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 \global\let\tkz at tmp@xa\tkz at init@xmin% modif  2016

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b  tkz-tools-eu-colors}  
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c  tkz-tools-eu-colors}  
 \makeatletter
 
 %<------  Initialisation of the colors with tkzSetUpColors  -----------------> 

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -13,9 +13,9 @@
 % The Current Maintainer of this work is Alain Matthes.
 %  utf8 encoding
 
-\def\fileversion{4.04}
-\def\filedate{2022/01/22} 
-\typeout{2022/01/22 4.04 tkz-tools-intersections.tex}   
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-tools-eu-intersections.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %                 intersection  de deux lignes
@@ -25,37 +25,37 @@
 }
 
 \def\tkz at InterLL(#1,#2)(#3,#4)#5{%
-%\path (intersection of #1--#2 and #3--#4) coordinate(#5);
+\path (intersection of #1--#2 and #3--#4) coordinate(#5);
 % méthode with tikz
-\pgfextractx{\pgf at x}{\pgfpointanchor{#1}{center}}%
-\pgfextracty{\pgf at y}{\pgfpointanchor{#1}{center}}% 
-\tkz at ax\pgf at x%
-\tkz at ay\pgf at y%
-\pgfextractx{\pgf at x}{\pgfpointanchor{#2}{center}}%
-\pgfextracty{\pgf at y}{\pgfpointanchor{#2}{center}} 
-\tkz at bx\pgf at x%
-\tkz at by\pgf at y%
-\pgfextractx{\pgf at x}{\pgfpointanchor{#3}{center}}%
-\pgfextracty{\pgf at y}{\pgfpointanchor{#3}{center}}% 
-\tkz at cx\pgf at x%
-\tkz at cy\pgf at y%
-\pgfextractx{\pgf at x}{\pgfpointanchor{#4}{center}}%
-\pgfextracty{\pgf at y}{\pgfpointanchor{#4}{center}}% 
-\tkz at dx\pgf at x%
-\tkz at dy\pgf at y%
-
-\edef\tkz at deltax{\fpeval{(\tkz at ax-\tkz at bx)/(28.45274)}}
-\edef\tkz at deltaxx{\fpeval{(\tkz at cx-\tkz at dx)/(28.45274)}}
-\edef\tkz at deltay{\fpeval{(\tkz at ay-\tkz at by)/(28.45274)}}
-\edef\tkz at deltayy{\fpeval{(\tkz at cy-\tkz at dy)/(28.45274)}}
-\edef\tkz at deltaxy{\fpeval{((\tkz at ax*\tkz at by)-(\tkz at ay*\tkz at bx))/(28.45274*28.45274)}}
-\edef\tkz at deltaxxyy{\fpeval{((\tkz at cx*\tkz at dy)-(\tkz at cy*\tkz at dx))/(28.45274*28.45274)}}
-\edef\tkz at div{\fpeval{(\tkz at deltax*\tkz at deltayy)-(\tkz at deltay*\tkz at deltaxx)}}
-\edef\tkz at numx{\fpeval{(\tkz at deltaxy*\tkz at deltaxx)-(\tkz at deltax*\tkz at deltaxxyy)}}
-\edef\tkz at numy{\fpeval{(\tkz at deltaxy*\tkz at deltayy)-(\tkz at deltay*\tkz at deltaxxyy)}}
-\edef\tkz at xs{\fpeval{round(\tkz at numx/\tkz at div,5)}}
-\edef\tkz at ys{\fpeval{round(\tkz at numy/\tkz at div,5)}}
-\path[coordinate](\tkz at xs,\tkz at ys) coordinate (#5);
+% \pgfextractx{\pgf at x}{\pgfpointanchor{#1}{center}}%
+% \pgfextracty{\pgf at y}{\pgfpointanchor{#1}{center}}%
+% \tkz at ax\pgf at x%
+% \tkz at ay\pgf at y%
+% \pgfextractx{\pgf at x}{\pgfpointanchor{#2}{center}}%
+% \pgfextracty{\pgf at y}{\pgfpointanchor{#2}{center}}
+% \tkz at bx\pgf at x%
+% \tkz at by\pgf at y%
+% \pgfextractx{\pgf at x}{\pgfpointanchor{#3}{center}}%
+% \pgfextracty{\pgf at y}{\pgfpointanchor{#3}{center}}%
+% \tkz at cx\pgf at x%
+% \tkz at cy\pgf at y%
+% \pgfextractx{\pgf at x}{\pgfpointanchor{#4}{center}}%
+% \pgfextracty{\pgf at y}{\pgfpointanchor{#4}{center}}%
+% \tkz at dx\pgf at x%
+% \tkz at dy\pgf at y%
+%
+% \edef\tkz at deltax{\fpeval{(\tkz at ax-\tkz at bx)/(28.45274)}}
+% \edef\tkz at deltaxx{\fpeval{(\tkz at cx-\tkz at dx)/(28.45274)}}
+% \edef\tkz at deltay{\fpeval{(\tkz at ay-\tkz at by)/(28.45274)}}
+% \edef\tkz at deltayy{\fpeval{(\tkz at cy-\tkz at dy)/(28.45274)}}
+% \edef\tkz at deltaxy{\fpeval{((\tkz at ax*\tkz at by)-(\tkz at ay*\tkz at bx))/(809.55841)}}
+% \edef\tkz at deltaxxyy{\fpeval{((\tkz at cx*\tkz at dy)-(\tkz at cy*\tkz at dx))/(809.55841)}}
+% \edef\tkz at div{\fpeval{(\tkz at deltax*\tkz at deltayy)-(\tkz at deltay*\tkz at deltaxx)}}
+% \edef\tkz at numx{\fpeval{(\tkz at deltaxy*\tkz at deltaxx)-(\tkz at deltax*\tkz at deltaxxyy)}}
+% \edef\tkz at numy{\fpeval{(\tkz at deltaxy*\tkz at deltayy)-(\tkz at deltay*\tkz at deltaxxyy)}}
+% \edef\tkz at xs{\fpeval{round(\tkz at numx/\tkz at div,5)}}
+% \edef\tkz at ys{\fpeval{round(\tkz at numy/\tkz at div,5)}}
+% \path[coordinate](\tkz at xs,\tkz at ys) coordinate (#5);
 }
 
 
@@ -74,8 +74,8 @@
 \edef\tkz at deltaxx{\fpeval{(\tkz at cx-\tkz at dx)/(28.45274)}}
 \edef\tkz at deltay{\fpeval{(\tkz at ay-\tkz at by)/(28.45274)}}
 \edef\tkz at deltayy{\fpeval{(\tkz at cy-\tkz at dy)/(28.45274)}}
-\edef\tkz at deltaxy{\fpeval{((\tkz at ax*\tkz at by)-(\tkz at ay*\tkz at bx))/(28.45274*28.45274)}}
-\edef\tkz at deltaxxyy{\fpeval{((\tkz at cx*\tkz at dy)-(\tkz at cy*\tkz at dx))/(28.45274*28.45274)}}
+\edef\tkz at deltaxy{\fpeval{((\tkz at ax*\tkz at by)-(\tkz at ay*\tkz at bx))/(809.55841)}}
+\edef\tkz at deltaxxyy{\fpeval{((\tkz at cx*\tkz at dy)-(\tkz at cy*\tkz at dx))/(809.55841)}}
 \edef\tkz at div{\fpeval{(\tkz at deltax*\tkz at deltayy)-(\tkz at deltay*\tkz at deltaxx)}}
 \edef\tkz at numx{\fpeval{(\tkz at deltaxy*\tkz at deltaxx)-(\tkz at deltax*\tkz at deltaxxyy)}}
 \edef\tkz at numy{\fpeval{(\tkz at deltaxy*\tkz at deltayy)-(\tkz at deltay*\tkz at deltaxxyy)}}
@@ -112,7 +112,7 @@
 %    c -= 2 * (sc.x * p1.x + sc.y * p1.y + sc.z * p1.z);
 %    c -= r * r;
 %    bb4ac = b * b - 4 * a * c;
-%    if (ABS(a) < EPS || bb4ac < 0) {
+%    if (ABS(a) < EPS    bb4ac < 0) {
 %       *mu1 = 0;
 %       *mu2 = 0;
 %       return(FALSE);
@@ -125,14 +125,16 @@
 % }
 %<---------- test ------------------------------------------------------–>
 \def\tkzTestInterLC(#1,#2)(#3,#4){%
+\begingroup
 \tkz at Projection(#1,#2)(#3){tkz at pth}% distance centre à la ligne
 \tkz@@CalcLength(#3,tkz at pth){tkz at mathLen}%  
 \tkz@@CalcLength(#3,#4){tkzLengthResult}%calcul du rayon
 \ifdim\tkz at mathLen pt>\tkzLengthResult pt\relax%
-\tkzFlagLCfalse
+\global\tkzFlagLCfalse
 \else
-\tkzFlagLCtrue
+\global\tkzFlagLCtrue
 \fi
+\endgroup
 }
 %<--------------------------------------------------------------------------–>
 \def\tkz at numlc{0}
@@ -141,9 +143,15 @@
   R/.code                  = \def\tkz at numlc{1}, 
   with nodes/.code         = \def\tkz at numlc{2},
   common/.store in         = \tkz at common,
-  near/.store in           = \tkz at near,
   common                   = {},
-  near                     = {},
+  near/.is if              =  tkz at near,
+  near/.default            =  true,
+  near                     =  false,
+  next to/.store in        = \tkz at nextto,
+  next to/.initial         = {},
+  next/.default            = {},
+  next to                  = {},
+  next to/.value required,
   node  
  }
 %<--------------------------------------------------------------------------–>
@@ -164,34 +172,46 @@
     \tkzInterLCWithNodes(#2,#3)(#4,#5){tkzFirstPointResult}%
                         {tkzSecondPointResult}% 
 \fi
- \ifx\tkz at common\tkzutil at empty 
-  \ifx\tkz at near\tkzutil at empty 
-  \tkzFindAngle(tkzSecondPointResult,tkzFirstPointResult,#4)   \tkzGetAngle{tkz at an}
- \ifdim\tkz at an pt<180 pt\relax%
- \else
- \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
-  \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
- \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
- \fi
- \else
+\iftkz at near
   \tkz@@CalcLength(#2,tkzFirstPointResult){tkzLengthFirst}
   \tkz@@CalcLength(#2,tkzSecondPointResult){tkzLengthSecond}
-  \ifdim \tkzLengthFirst pt < \tkzLengthSecond pt\relax%
-  \else
-  \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
-   \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
-  \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
-  \fi
-  \fi
- \else
-\tkz@@CalcLength(\tkz at common,tkzSecondPointResult){tkz at mathLen}
- \ifdim\tkz at mathLen pt<0.1pt\relax%
- \else
-  \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
-   \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
-  \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
-  \fi
-  \fi
+      \ifdim \tkzLengthFirst pt < \tkzLengthSecond pt\relax%
+      \else
+       \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+       \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+       \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+      \fi
+\else
+    \ifx\tkz at common\tkzutil at empty 
+      \ifx\tkz at nextto\tkzutil at empty 
+         \tkzFindAngle(tkzSecondPointResult,tkzFirstPointResult,#4)   
+         \tkzGetAngle{tkz at an}
+          \ifdim\tkz at an pt<180 pt\relax%
+          \else
+           \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+           \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+           \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+          \fi
+      \else
+         \tkz@@CalcLength(\tkz at nextto,tkzFirstPointResult){tkzLengthFirst}
+         \tkz@@CalcLength(\tkz at nextto,tkzSecondPointResult){tkzLengthSecond}
+             \ifdim \tkzLengthFirst pt < \tkzLengthSecond pt\relax%
+             \else
+              \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+              \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+              \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+             \fi
+       \fi
+    \else 
+         \tkz@@CalcLength(\tkz at common,tkzSecondPointResult){tkz at mathLen}
+         \ifdim\tkz at mathLen pt<1pt\relax%
+         \else
+          \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+          \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+          \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+         \fi
+     \fi
+\fi%near
 \endpgfinterruptboundingbox    
 \endgroup
 }
@@ -351,17 +371,30 @@
 %    Intersection de deux cercles  
 %<--------------------------------------------------------------------------–>
 %<---------- test ------------------------------------------------------–>
-% test avec des nodes 
+% test avec des nodes  R-r <= d <= R+r
 \def\tkzTestInterCC(#1,#2)(#3,#4){%
+\begingroup
 \tkz@@CalcLength(#1,#3){tkz at mathLen}% distance entre les centres  
 \tkz@@CalcLength(#2,#1){tkz at rA}%calcul du rayon
 \tkz@@CalcLength(#4,#3){tkz at rB}%calcul du rayon
+% test if d <= rA + rB ?
 \edef\tkz at rS{\fpeval{\tkz at rA+\tkz at rB}}
 \ifdim\tkz at mathLen pt > \tkz at rS pt\relax%
-\tkzFlagCCfalse
+\global\tkzFlagCCfalse
 \else
-\tkzFlagCCtrue
+% now test if d>= rA - rB or rB-rA
+  \ifdim \tkz at rA pt >  \tkz at rB pt\relax%
+       \edef\tkz at rD{\fpeval{\tkz at rA-\tkz at rB}}
+   \else
+       \edef\tkz at rD{\fpeval{\tkz at rB-\tkz at rA}}
+   \fi
+\ifdim  \tkz at rD pt > \tkz at mathLen pt\relax%
+ \global\tkzFlagCCfalse
+\else
+\global\tkzFlagCCtrue
 \fi
+\fi
+\endgroup
 }
 
 \def\tkz at numcc{0}
@@ -433,7 +466,7 @@
 \edef\tkz at xx{\fpeval{\tkz at ax+\tkz at aa/\tkz at dd*(\tkz at bx - \tkz at ax)}}
 \edef\tkz at yy{\fpeval{\tkz at ay+\tkz at aa/\tkz at dd*(\tkz at by - \tkz at ay)}} 
 \path[coordinate](\tkz at xx pt,\tkz at yy pt) coordinate (tkzRadialCenter);
-\edef\tkz at hh{\fpeval{sqrt((\tkz at cx+\tkz at aa)*(\tkz at cx-\tkz at aa))}}
+\edef\tkz at hh{\fpeval{sqrt(abs((\tkz at cx+\tkz at aa)*(\tkz at cx-\tkz at aa)))}}% abs !2022
 \edef\tkz at rx{\fpeval{\tkz at hh / \tkz at dd * (\tkz at ay - \tkz at by)}}
 \edef\tkz at ry{\fpeval{\tkz at hh / \tkz at dd * (\tkz at bx - \tkz at ax)}}
 \edef\tkz at xs{\fpeval{\tkz at xx + \tkz at rx}}

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-tools-eu-math.tex}     
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-tools-eu-math.tex}     
 \makeatletter
 %<-------------------------------------------------------------------------->
 % \tkzpointnormalised#
@@ -23,7 +23,7 @@
 % \tkzFindSlope
 % option xfp
 
-%  \tkzpointnormalised    normalise un point A-->A' tq ||v(OA')=1||
+%  \tkzpointnormalised    normalise un point A-->A' tq   v(OA')=1  
 % équivalent de \pgfpointnormalised avec fp
 % example
 % \tkzpointnormalised{%
@@ -52,7 +52,7 @@
 %<-------------------------------------------------------------------------->
 %    \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
+%  option cm le résultat est en cm sinon en pt with cm=false
 %<-------------------------------------------------------------------------->
 \pgfkeys{tkzcalclen/.cd,
        cm/.is if         = tkzLengthIncm,
@@ -67,7 +67,7 @@
 \tkz@@CalcLength(#2,#3){tkzLengthResult}
 \iftkzLengthIncm 
    \pgfmathparse{\tkzLengthResult pt/1cm}
-   \edef\tkz at xfpMathLen{\fpeval{round(\pgfmathresult,5)}}
+   \edef\tkz at xfpMathLen{\fpeval{round(\pgfmathresult,6)}}
    \global\let\tkzLengthResult\tkz at xfpMathLen  
 \fi 
 \endgroup
@@ -76,7 +76,7 @@
 \pgfpointdiff{\pgfpointanchor{#1}{center}}%
              {\pgfpointanchor{#2}{center}}%
 \edef\tkz at xfpMathLen{\fpeval{sqrt((\pgf at x)^2+(\pgf at y)^2)}}
-\edef\tkz at xfpMathLen{\fpeval{round(\tkz at xfpMathLen,5)}}
+\edef\tkz at xfpMathLen{\fpeval{round(\tkz at xfpMathLen,6)}}
 \global\expandafter\edef\csname #3\endcsname{\tkz at xfpMathLen}
 }
 \def\tkz@@CalcLengthcm(#1,#2)#3{%
@@ -83,9 +83,7 @@
 \pgfpointdiff{\pgfpointanchor{#1}{center}}%
              {\pgfpointanchor{#2}{center}}%
 \edef\tkz at xfpMathLen{\fpeval{sqrt((\pgf at x)^2+(\pgf at y)^2)}}
-\edef\tkz at xfpMathLen{\fpeval{round(\tkz at xfpMathLen,5)}}
-\pgfmathparse{\tkz at xfpMathLen pt/1cm}
-\edef\tkz at xfpMathLen{\fpeval{round(\pgfmathresult,5)}}
+\edef\tkz at xfpMathLen{\fpeval{round(\tkz at xfpMathLen/28.45274,6)}}
 \global\expandafter\edef\csname #3\endcsname{\tkz at xfpMathLen}
 }
 %<-------------------------------------------------------------------------->
@@ -120,9 +118,98 @@
 \begingroup%
     \pgfmath at x##1pt\relax%
     \pgfmath at y##2pt\relax%
-    \edef\tkz at xfpMathLen{\fpeval{sqrt((\pgf at x)^2+(\pgf at y)^2)}}
+    \edef\tkz at xfpMathLen{\fpeval{sqrt((\pgf at x)^2+(\pgf at y)^2)}}   
     \pgfmath at returnone\tkz at xfpMathLen pt%
 \endgroup%
-}}}
+}}}%
+%<---------------------------------------------------------–>
+\def\tkzSwapPoints(#1,#2){
+  \pgfnodealias{tkzPointTmp}{#2}
+   \pgfnodealias{#2}{#1}
+  \pgfnodealias{#1}{tkzPointTmp}}
+%<---------------------------------------------------------–>
+\def\tkzPermute(#1,#2,#3){
+\tkzURotateWithNodes(#1,#3,#2)(#3)  \tkzGetPoint{tkzpt}
+\tkzURotateWithNodes(#1,#2,#3)(#2) \tkzGetPoint{#2}
+\tkzSwapPoints(tkzpt,#3)}
+%<---------------------------------------------------------–>
+\def\tkzDotProduct(#1,#2,#3){%
+\begingroup
+\pgfextractx{\pgf at x}{\pgfpointanchor{#1}{center}}%
+\pgfextracty{\pgf at y}{\pgfpointanchor{#1}{center}}% 
+\tkz at ax\pgf at x%
+\tkz at ay\pgf at y%
+\pgfextractx{\pgf at x}{\pgfpointanchor{#2}{center}}%
+\pgfextracty{\pgf at y}{\pgfpointanchor{#2}{center}} 
+\tkz at bx\pgf at x%
+\tkz at by\pgf at y%
+\pgfextractx{\pgf at x}{\pgfpointanchor{#3}{center}}%
+\pgfextracty{\pgf at y}{\pgfpointanchor{#3}{center}}% 
+\tkz at cx\pgf at x%
+\tkz at cy\pgf at y%
+\edef\tkz@@dotprod{\fpeval{round(abs((\tkz at bx-\tkz at ax)*(\tkz at cx-\tkz at ax)+(\tkz at by-\tkz at ay)*(\tkz at cy-\tkz at ay))/(28.45274*28.45274),5)}}
+\global\let\tkzMathResult\tkz@@dotprod
+\endgroup}
+%<---------------------------------------------------------–>
+ \def\tkzGetResult#1{%
+   \global\expandafter\edef\csname #1\endcsname{\tkzMathResult}}
+%<---------------------------------------------------------–>
+% #1,#2 and #3 aligned
+\def\tkzIsLinear(#1,#2,#3){%
+\begingroup
+\tkz@@CalcLengthcm(#1,#2){tkz at la}
+\tkz@@CalcLengthcm(#1,#3){tkz at lb}
+\tkzDotProduct(#1,#2,#3)
+\edef\tkzResult{\fpeval{abs((\tkzMathResult)-(\tkz at la)*(\tkz at lb))}}
+\ifdim \tkzResult pt < 0.01 pt\relax%
+\global\tkzLineartrue
+\else
+\global\tkzLinearfalse
+\fi
+\endgroup
+}
+%<---------------------------------------------------------–>
+% syntax : vec(#2,#1) ortho vec(#3,#1)
+\def\tkzIsOrtho(#1,#2,#3){%
+\begingroup
+\tkzDotProduct(#1,#2,#3)
+\edef\tkzResult{\fpeval{abs(\tkzMathResult)}}
+\ifdim \tkzResult pt < 1 pt\relax%
+\global\tkzOrthotrue
+\else
+\global\tkzOrthofalse
+\fi
+\endgroup
+}
+%<---------------------------------------------------------–>
+%<---------------------------------------------------------–>
+% \tkzPowerCircle(M)(O,A) --> OM^2-OA^2
+\def\tkzPowerCircle(#1)(#2,#3){%     
+\begingroup 
+\tkz@@CalcLengthcm(#2,#3){tkz at ra}
+\tkz@@CalcLengthcm(#1,#2){tkz at om}
+\gdef\tkzMathResult{\fpeval{round(\tkz at om*\tkz at om -\tkz at ra*\tkz at ra,5)}}
+\endgroup
+}
+%<---------------------------------------------------------–>
+\def\tkzDefRadicalAxis(#1,#2)(#3,#4){%
+\begingroup
+\tkz@@CalcLengthcm(#1,#3){tkz at da}
+\tkz@@CalcLengthcm(#1,#2){tkz at ra}
+\tkz@@CalcLengthcm(#3,#4){tkz at rb}
+\edef\tkzMathResult{\fpeval{(\tkz at ra+\tkz at rb)}}
+\ifdim \tkzMathResult pt < \tkz at da pt\relax%
+  \tkzURotateAngle(#1,60)(#3)    \tkzGetPoint{tkz at aux}
+  \tkzInterCC(#1,#2)(tkz at aux,#1) \tkzGetPoints{tkz at pta}{tkz at ptb}
+  \tkzInterCC(#3,#4)(tkz at aux,#1) \tkzGetPoints{tkz at ptc}{tkz at ptd}
+  \tkzInterLL(tkz at pta,tkz at ptb)(tkz at ptc,tkz at ptd) \tkzGetPoint{tkz at pta}
+  \tkzUProjection(#1,#3)(tkz at pta)  \tkzGetPoint{tkz at ptb}
+  \pgfnodealias{tkzSecondPointResult}{tkz at ptb}
+  \pgfnodealias{tkzFirstPointResult}{tkz at pta}
+\else
+\tkzInterCCR(#1,\tkz at ra)(#3,\tkz at rb){tkzFirstPointResult}{tkzSecondPointResult}
+\fi
+\endgroup
+} 
 \makeatother 
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-tools-utilities.tex}  
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-tools-eu-utilities.tex}  
 \makeatletter
 %<------------- % chargement des modules ---------------------------------->
 \def\tkz at obj@all{angles,arcs,compass,defcircles,deflines,defpoints,defpointsby,defpointsrnd,defpointswith,polygons,protractor,sectors,show,triangles}%
@@ -29,12 +29,12 @@
     \expandafter\ifx\csname tkz at library@\tkz at temp @loaded\endcsname\relax%
       \expandafter\global\expandafter\let\csname tkz at library@\tkz at temp @loaded\endcsname=\pgfutil at empty%
       \expandafter\edef\csname tkz at obj@#1 at atcode\endcsname{\the\catcode`\@}
-      \expandafter\edef\csname tkz at obj@#1 at barcode\endcsname{\the\catcode`\|}
+      \expandafter\edef\csname tkz at obj@#1 at barcode\endcsname{\the\catcode`\ }
       \catcode`\@=11
-      \catcode`\|=12   
+      \catcode`\ =12   
       \input tkz-obj-\tkz at temp.tex 
       \catcode`\@=\csname tkz at obj@#1 at atcode\endcsname
-      \catcode`\|=\csname tkz at obj@#1 at barcode\endcsname  
+      \catcode`\ =\csname tkz at obj@#1 at barcode\endcsname  
     \fi%
   }%
 }%
@@ -54,12 +54,12 @@
     \expandafter\ifx\csname tkz at library@\tkz at temp @loaded\endcsname\relax%
       \expandafter\global\expandafter\let\csname tkz at library@\tkz at temp @loaded\endcsname=\pgfutil at empty%
       \expandafter\edef\csname tkz at tool@#1 at atcode\endcsname{\the\catcode`\@}
-      \expandafter\edef\csname tkz at tool@#1 at barcode\endcsname{\the\catcode`\|}
+      \expandafter\edef\csname tkz at tool@#1 at barcode\endcsname{\the\catcode`\ }
       \catcode`\@=11
-      \catcode`\|=12
+      \catcode`\ =12
       \input tkz-tools-\tkz at temp.tex
       \catcode`\@=\csname tkz at tool@#1 at atcode\endcsname
-      \catcode`\|=\csname tkz at tool@#1 at barcode\endcsname
+      \catcode`\ =\csname tkz at tool@#1 at barcode\endcsname
     \fi%
   }%
 }%

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b tkz-tools-eu-text.tex}   
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c tkz-tools-eu-text.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %                                         tkzText
@@ -50,7 +50,7 @@
 \pgfkeys{/tkzlegend/.cd,  
    line/.is if                 =    tkz at legend@line,
    line/.default               =    true,
-   line                 =  false,
+   line                        =    false,
    /tkzlegend/.search also     =    {/tikz}, 
 }
 \def\tkzLegend{\pgfutil at ifnextchar[{\tkz at Legend}{\tkz at Legend[]}} 

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex	2022-07-15 21:45:41 UTC (rev 63906)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex	2022-07-15 21:46:25 UTC (rev 63907)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25} 
-\typeout{2022/02/25 4.051b  tkz-tools-eu-utilities.tex}  
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14} 
+\typeout{2022/07/14 4.2c  tkz-tools-eu-utilities.tex}  
 \makeatletter
 \pgfkeys{/tkzClip/.cd, 
 space/.store in    = {\tkz at CLI@space},
@@ -177,5 +177,60 @@
 \tkzURotateWithNodes(#1,#3,#2)(#3)  \tkzGetPoint{tkzpt}
 \tkzURotateWithNodes(#1,#2,#3)(#2) \tkzGetPoint{#2}
 \tkzSwapPoints(tkzpt,#3)}
+%<---------------------------------------------------------–>
+\def\tkzDotProduct(#1,#2,#3){%
+\begingroup
+\pgfextractx{\pgf at x}{\pgfpointanchor{#1}{center}}%
+\pgfextracty{\pgf at y}{\pgfpointanchor{#1}{center}}% 
+\tkz at ax\pgf at x%
+\tkz at ay\pgf at y%
+\pgfextractx{\pgf at x}{\pgfpointanchor{#2}{center}}%
+\pgfextracty{\pgf at y}{\pgfpointanchor{#2}{center}} 
+\tkz at bx\pgf at x%
+\tkz at by\pgf at y%
+\pgfextractx{\pgf at x}{\pgfpointanchor{#3}{center}}%
+\pgfextracty{\pgf at y}{\pgfpointanchor{#3}{center}}% 
+\tkz at cx\pgf at x%
+\tkz at cy\pgf at y%
+\edef\tkz at dotprod{\fpeval{round(((\tkz at bx-\tkz at ax)*(\tkz at cx-\tkz at ax)+(\tkz at by-\tkz at ay)*(\tkz at cy-\tkz at ay))/(809.55841),5)}}
+\global\let\tkzMathResult\tkz at dotprod
+\endgroup}
+%<---------------------------------------------------------–>
+ \def\tkzGetResult#1{%
+   \global\expandafter\edef\csname #1\endcsname{\tkzMathResult}}
+%<---------------------------------------------------------–>
+% #1,#2 and #3 aligned
+\def\tkzIsLinear(#1,#2,#3){%
+\begingroup
+\tkz@@CalcLengthcm(#1,#2){tkz at la}
+\tkz@@CalcLengthcm(#1,#3){tkz at lb}
+\tkzDotProduct(#1,#2,#3)
+\edef\tkzMathResult{\fpeval{abs(abs(\tkzMathResult)-(\tkz at la)*(\tkz at lb))}}
+\ifdim \tkzMathResult pt < 0.0001 pt\relax%
+\global\tkzLineartrue
+\else
+\global\tkzLinearfalse
+\fi
+\endgroup
+}
+%<---------------------------------------------------------–>
+% syntax : vec(#2,#1) ortho vec(#3,#1)
+\def\tkzIsOrtho(#1,#2,#3){%
+\begingroup
+\tkzDotProduct(#1,#2,#3)
+\edef\tkzMathResult{\fpeval{abs(\tkzMathResult)}}
+\ifdim \tkzMathResult pt < 0.0001 pt\relax%
+\global\tkzOrthotrue
+\else
+\global\tkzOrthofalse
+\fi
+\endgroup
+}
+%<---------------------------------------------------------–>
+  \def\tkzHelpGrid{%
+   \draw[help lines] (current bounding box.south west) grid
+          (current bounding box.north east);
+  }
+   
 \makeatother
 \endinput
\ No newline at end of file



More information about the tex-live-commits mailing list.