texlive[61948] Master/texmf-dist: tkz-euclide (8feb22)

commits+karl at tug.org commits+karl at tug.org
Tue Feb 8 22:50:43 CET 2022


Revision: 61948
          http://tug.org/svn/texlive?view=revision&revision=61948
Author:   karl
Date:     2022-02-08 22:50:43 +0100 (Tue, 08 Feb 2022)
Log Message:
-----------
tkz-euclide (8feb22)

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-intersec.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-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-rnd.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

Modified: trunk/Master/texmf-dist/doc/latex/tkz-euclide/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tkz-euclide/README.md	2022-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/README.md	2022-02-08 21:50:43 UTC (rev 61948)
@@ -1,6 +1,6 @@
 # tkz-euclide — for euclidean geometry
 
-Release 4.03 b 2022/01/19
+Release 4.05 b 2022/02/07
 
 ## Description
 
@@ -74,6 +74,27 @@
 
 ## History
 
+- 4.05b 
+      \tkzInterLC new option  near  new method to choice the points
+      \tkzInterCC  new method to choice the points
+      \tkzDefTangent add method to choice the points
+      \tkzTestInterLC  and \iftkzFlagLC
+      \tkzTestInterLC and  \iftkzFlagCC
+      
+      \tkzDefHarmonic option ext int both then node or R
+      \tkzDefGoldenRatio new macro
+      \tkzSwapPoints  Exchange two points
+      \tkzPermute  Permutation of two points of a triangle
+      \tkzDefPointsBy option rotation with nodes no need to know the angle
+      \tkzMarkArc and \tkzLabelArc
+      
+      \tkzDefPointOnCircle[angle=30,center=K1,radius=\rAp] becomes  
+      \tkzDefPointOnCircle[R= angle 30 center K1 radius \rAp]
+      Added  \tkzDefPointOnCircle[through= angle 30 center K1 point \rAp]
+      
+      Added some styles to place arrow "tkz arrow" and "tkz arrows" 
+      Added " line cap =round" and "line join =round" to all the constructions
+      Added information about angles in the documentation
 - 4.03 Adaptation of the code and documentation to the changes of the macros for the intersections.
 - 4.02
   Major changes for the macros concerning the intersection of a line and a circle or two circles. If one point of the intersection is known then you can use the "common" option and indicate what the common point is. The second point is given in tkzFirstPointResult.

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-FAQ.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -1,58 +1,33 @@
 \section{FAQ} 
 
 \subsection{Most common errors}
- For the moment, I'm basing myself on my own, because having changed syntax several times, I've made a number of mistakes. This section is going to be expanded.
+ For the moment, I'm basing myself on my own, because having changed syntax several times, I've made a number of mistakes. This section is going to be expanded. With version 4.05 new problems may appear.
  
 \begin{itemize}\setlength{\itemsep}{10pt}
- \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}
- 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.
-
-\begin{tkzexample}[]
-\begin{tikzpicture}[scale=1.25]
-  \tkzDefPoint(0,0){O}
-  \tkzDefPoint(2.5,0){N}
-  \tkzDefPoint(-4.2,0.5){M}
-  \tkzDefPointBy[rotation=center O angle 30](N)
-  \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'}
-  \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)
-  \tkzDrawCircle(O,N)
-  \tkzLabelCircle[above left](O,N)(120){$\mathcal{C}$}
-  \begin{scope}[xfp]
-    \tkzMarkAngle[mkpos=.2, size=1.2](C,A,M)
-  \end{scope}
-  \tkzDrawPoints(O, A, B, M, B, C)
-  \tkzLabelPoints[right](O,A,B)
-  \tkzLabelPoints[above left](M,C)
-  \tkzLabelPoint[below left](A'){$A'$}
-\end{tikzpicture}
-\end{tkzexample}
+  \item The mistake I make most often is to forget to put an "s" in the macro used to draw more than one object: like \tkzcname{tkzDrawSegment(s)} or \tkzcname{tkzDrawCircle(s)} ok like in this example \tkzcname{tkzDrawPoint(A,B)} when you need  \tkzcname{tkzDrawPoints(A,B)};
   
-\item \tkzcname{tkzDrawPoint(A,B)} when you need  \tkzcname{tkzDrawPoints}.
-
-\item  \tkzcname{tkzGetPoint(A)} When defining an object, use braces and not brackets, so write: \tkzcname{tkzGetPoint\{A\}}.
+  \item Don't forget that since version 4 the unit is obligatorily the "cm" it is thus necessary to withdraw the unit like here \tkzcname{tkzDrawCircle[R](O,3cm)} which becomes \tkzcname{tkzDrawCircle[R](O,3)}. The traditional options of \tkzname{TikZ} keep their units example\tkzname{ below right = 12pt} on the other hand one will write \tkzname{size=1.2} to position an arc in \tkzcname{tkzMarkAngle};
   
-\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 \tkzcname{tkzDrawSegment(A,B A,C)} when you need \tkzcname{tkzDrawSegments}. It is possible to use only the versions with an "s" but it is less efficient!
+  \item The following error still happens to me from time to time. A point that is created has its name in brackets while a point that is used either as an option or as a parameter has its name in braces. Example \tkzcname{tkzGetPoint(A)} When defining an object, use braces and not brackets, so write: \tkzcname{tkzGetPoint\{A\}};
+  
+  \item The changes in obtaining the points of intersection between lines and circles sometimes exchange the solutions, this leads either to a bad figure or to an error.
+  
+  \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}.
+\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}.  
 
-\item  \tkzcname{tkzDrawSegments[color = gray,style=dashed]\{B,B' C,C'\}} is a mistake. Only macros that define an object use braces.   
 
 \item The angles are given in degrees, more rarely in radians.  
+
 \item If an error occurs in a calculation when passing parameters, then it is better to make these calculations before calling the macro.
  
 \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}
+ 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.
 
-\item Use of \tkzcname{tkzClip}: In order to get accurate results, I avoided using normalized vectors. The advantage of normalization is to control the dimension of the manipulated objects, the disadvantage is that with TeX, this implies inaccuracies. These inaccuracies are often small, in the order of a thousandth, but they lead to disasters if the drawing is enlarged. Not normalizing implies that some points are far away from the working area and \tkzcname{tkzClip} allows you to reduce the size of the drawing. 
-
 \end{itemize}    
 \endinput
\ No newline at end of file

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-angles.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -1,47 +1,101 @@
-\section{The angles} 
+\section{Angles} 
+\subsection{Definition and usage with \tkzname{tkz-euclide}}
+In Euclidean geometry, an angle is the figure formed by two rays, called the sides of the angle, sharing a common endpoint, called the vertex of the angle.[Wikipedia]. A ray with \tkzname{tkz-euclide} is defined by two points also each angle is defined with three points like $\widehat{AOB}$. The vertex $O$ is the second point. Their order is important because it is assumed that the angle is specified in the direct order (counterclockwise). 
+In trigonometry and mathematics in general, plane angles are conventionally measured counterclockwise, starting with $0^\circ$  pointing directly to the right (or east), and $90^\circ$ pointing straight up (or north)[Wikipedia]. 
+Let us agree that an angle measured counterclockwise is positive.
 
+  \begin{center}
 
-%\section{Angles tools}
+    \begin{tikzpicture}[scale=.75]
+      \node {clockwise};
+      \tkzDefPoint(0,0){O} \tkzDefPoint(90:2){A}\tkzDefPoint(180:2){B}   
+      \tkzDrawArc[black,line width=2pt,arrows = {Stealth-}](O,B)(A)
+    \end{tikzpicture}
+    \begin{tikzpicture}[scale=.75]
+          \node {counterclockwise};
+      \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}
+ and the next one  \tkzcname{tkzGetAngle}. With the exception of the last one, all these macros accept negative angles.
+ 
+ \begin{figure}[!h]
+ \centering
+ \begin{tabular}{|c|c|}
+ \hline
+ \tkzsubf{\begin{tikzpicture}
+ \tkzDefPoint(0,0){O}    \tkzDefPoint(0:2){A}
+ \tkzDefPointBy[rotation=center O angle 80](A)  \tkzGetPoint{B}
+ \tkzDrawSegments[-{Stealth}](O,A O,B)
+ \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)
+ \end{tikzpicture}}
+      {Rotation $80^\circ$ from $(O,A)$ to $(O,B)$\\ 
+    {\textbackslash}tkzDefPointBy[rotation=center O angle 80]}
+ &
+ \tkzsubf{\begin{tikzpicture}
+ \tkzDefPoint(0,0){O}    \tkzDefPoint(0:2){A}
+ \tkzDefPointBy[rotation=center O angle -80](A)  \tkzGetPoint{B}
+ \tkzDrawSegments[-{Stealth}](O,A O,B)
+ \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)
+ \end{tikzpicture}}
+  {Rotation $-80^\circ$ from $(O,A)$ to $(O,B)$\\ 
+     {\textbackslash}tkzDefPointBy[rotation=center O angle -80]}
+ \\ \hline
+ \tkzsubf{\begin{tikzpicture}
+ \tkzDefPoint(0,0){O}    \tkzDefPoint(0:2){A}
+ \tkzDefPointBy[rotation=center O angle 80](A)  \tkzGetPoint{B}
+ \tkzDrawSegments[-{Stealth}](O,A O,B)
+ \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)
+ \end{tikzpicture}}
+      { {\textbackslash}tkzFindAngle(A,O,B) gives $80$}
+ &
+ \tkzsubf{\begin{tikzpicture}
+ \tkzDefPoint(0,0){O}    \tkzDefPoint(0:2){A}
+ \tkzDefPointBy[rotation=center O angle -80](A)  \tkzGetPoint{B}
+ \tkzDrawSegments[-{Stealth}](O,A O,B)
+ \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)
+ \end{tikzpicture}}
+  {{\textbackslash}tkzFindAngle(A,O,B) gives $\pgfmathprintnumber{\an}^\circ$}
+ \\\hline
+ \end{tabular}
+ \end{figure}
+
+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. This macro retrieves \tkzcname{tkzAngleResult} and stores the result in a new 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.
 
 \medskip
 
 \begin{tabular}{lll}%
 \toprule
-arguments             & example & explication             \\
+arguments             & example & explanation             \\
 \midrule
 \TAline{name of macro} {\tkzcname{tkzGetAngle}\{ang\}}{\tkzcname{ang} contains the value of the angle.}
 \end{tabular}
+
 \end{NewMacroBox}
+This is an auxiliary macro that allows you to retrieve the result of the following macro \tkzcname{tkzFindAngle}.
 
-\subsection{Example of the use of \tkzcname{tkzGetAngle}}
-
- The point here is that $(AB)$ is the bisector of $\widehat{CAD}$, such that the $AD$ slope is zero. We recover the slope of $(AB)$ and then rotate twice.
-
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
-  \tkzDefPoint(1,5){A} \tkzDefPoint(5,2){B}  
-  \tkzDrawSegment(A,B)
-  \tkzFindSlopeAngle(A,B)\tkzGetAngle{tkzang}
-  \tkzDefPointBy[rotation= center A angle \tkzang ](B)
-   \tkzGetPoint{C}
-  \tkzDefPointBy[rotation= center A angle -\tkzang ](B) 
-  \tkzGetPoint{D}
-  \tkzCompass[length=1](A,C)
-  \tkzCompass[delta=10,brown](B,C)  
-   \tkzDrawPoints(A,B,C,D)
-  \tkzLabelPoints(B,C,D)  
-  \tkzLabelPoints[above left](A)
-  \tkzDrawSegments[style=dashed,color=orange!30](A,C A,D)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-
 \subsection{Angle formed by three points}
 
 \begin{NewMacroBox}{tkzFindAngle}{\parg{pt1,pt2,pt3}}%
@@ -51,7 +105,7 @@
 
 \begin{tabular}{lll}%
 \toprule
-arguments     & example & explication     \\
+arguments     & example & explanation     \\
 \midrule
 \TAline{(pt1,pt2,pt3)} {\tkzcname{tkzFindAngle}(A,B,C)}{\tkzcname{tkzAngleResult} gives the angle ($\overrightarrow{BA},\overrightarrow{BC}$)}
 \bottomrule
@@ -58,7 +112,7 @@
 \end{tabular}
 
 \medskip
-The result is between -180 degrees and +180 degrees. $pt2$ is the vertex and \tkzcname{tkzGetAngle} can retrieve the angle.
+The measure is always positive and between $0^\circ$  and $360^\circ$. With the usual conventions, a counterclockwise angle smaller than a straight angle has always a measure between $0^\circ$ and $180^\circ$, while a clockwise angle smaller than a straight angle will have a measurement greater than $180^\circ$. \tkzcname{tkzGetAngle} can retrieve the angle.
 \end{NewMacroBox}
  
 \subsubsection{Verification of angle measurement}
@@ -70,8 +124,7 @@
   \tkzDefEquilateral(A,B)
   \tkzGetPoint{C}
   \tkzDrawPolygon(A,B,C)
-  \tkzFindAngle(B,A,C) 
-  \tkzGetAngle{angleBAC}
+  \tkzFindAngle(B,A,C) \tkzGetAngle{angleBAC}
   \edef\angleBAC{\fpeval{round(\angleBAC)}}
   \tkzDrawPoints(A,B,C) 
   \tkzLabelPoints(A,B)
@@ -83,39 +136,37 @@
 
 \subsubsection{Determination of the three angles of a triangle}
 
-\begin{tkzexample}[latex=7cm,small]
+\begin{tkzexample}[latex=6cm,small]
 \begin{tikzpicture}
+\tikzset{label angle style/.append style={pos=1.4}}
 \tkzDefPoints{0/0/a,5/3/b,3/6/c}
 \tkzDrawPolygon(a,b,c)
-\tkzFindAngle(c,b,a)
-\tkzGetAngle{angleCBA}
+\tkzFindAngle(c,b,a)\tkzGetAngle{angleCBA}
 \pgfmathparse{round(1+\angleCBA)}
 \let\angleCBA\pgfmathresult
-\tkzFindAngle(a,c,b)
-\tkzGetAngle{angleACB}
+\tkzFindAngle(a,c,b)\tkzGetAngle{angleACB}
 \pgfmathparse{round(\angleACB)}
 \let\angleACB\pgfmathresult
-\tkzFindAngle(b,a,c)
-\tkzGetAngle{angleBAC}
+\tkzFindAngle(b,a,c)\tkzGetAngle{angleBAC}
 \pgfmathparse{round(\angleBAC)}
 \let\angleBAC\pgfmathresult
 \tkzMarkAngle(c,b,a)
-\tkzLabelAngle[pos=1.4](c,b,a)%
-              {\tiny $\angleCBA^\circ$}
+\tkzLabelAngle(c,b,a){\tiny $\angleCBA^\circ$}
 \tkzMarkAngle(a,c,b)
-\tkzLabelAngle[pos=1.4](a,c,b)%
-              {\tiny $\angleACB^\circ$}
+\tkzLabelAngle(a,c,b){\tiny $\angleACB^\circ$}
 \tkzMarkAngle(b,a,c)
-\tkzLabelAngle[pos=1.4](b,a,c)%
-              {\tiny $\angleBAC^\circ$}
+\tkzLabelAngle(b,a,c){\tiny $\angleBAC^\circ$}
 \end{tikzpicture}
 \end{tkzexample}
 
+
 \subsubsection{Angle between two circles}
+We are looking for the angle formed by the tangents at a point of intersection
 
-\begin{tkzexample}[vbox,small]
+\begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=.4]
-\pgfkeys{/pgf/number format/.cd,fixed,precision=1}
+\pgfkeys{/pgf/number format/.cd,%
+          fixed,precision=1}
 \tkzDefPoints{0/0/A,6/0/B,4/2/C}
 \tkzDrawCircles(A,C B,C)
 \tkzDefTangent[at=C](A) \tkzGetPoint{a}
@@ -122,10 +173,9 @@
 \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)
+\tkzFillAngle[fill=teal,opacity=.2%
+                        ,size=2](b,C,d)
 \tkzFindAngle(b,C,d)\tkzGetAngle{bcd}
-\tkzMarkAngle[size=3,arc=ll,mark=s](b,C,d)
-\tkzFillAngle[fill=teal,opacity=.2,size=2](b,C,d)
 \tkzLabelAngle[pos=1.25](b,C,d){%
   \tiny $\pgfmathprintnumber{\bcd}^\circ$}
 \end{tikzpicture}
@@ -141,7 +191,7 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments  & example & explication     \\
+arguments  & example & explanation     \\
 \midrule
 \TAline{(pt1,pt2)} {\tkzcname{tkzFindSlopeAngle}(A,B)}{}
 \bottomrule
@@ -151,7 +201,28 @@
 \tkzcname{tkzGetAngle} can retrieve the result. If retrieval is not necessary, you can use \tkzcname{tkzAngleResult}.
 \end{NewMacroBox}
 
+\subsubsection{How to use  \tkzcname{tkzFindSlopeAngle}}
 
+ The point here is that $(AB)$ is the bisector of $\widehat{CAD}$, such that the $AD$ slope is zero. We recover the slope of $(AB)$ and then rotate twice.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(1,5){A} \tkzDefPoint(5,2){B}  
+ \tkzFindSlopeAngle(A,B)\tkzGetAngle{tkzang}
+ \tkzDefPointBy[rotation= center A angle \tkzang ](B)
+ \tkzGetPoint{C}
+ \tkzDefPointBy[rotation= center A angle -\tkzang ](B) 
+ \tkzGetPoint{D}
+ \tkzDrawSegment(A,B)
+ \tkzDrawSegments[new](A,C A,D)
+ \tkzDrawPoints(A,B,C,D)
+ \tkzCompass[length=1](A,C)
+ \tkzCompass[delta=10,brown](B,C)  
+ \tkzLabelPoints(B,C,D)  
+ \tkzLabelPoints[above left](A)
+\end{tikzpicture}
+\end{tkzexample}
+
 \subsubsection{Use of \tkzcname{tkzFindSlopeAngle} and \tkzcname{tkzGetAngle}}
 Here is another version of the construction of a mediator
 
@@ -187,11 +258,11 @@
   \tkzFindSlopeAngle(A,D)\tkzGetAngle{SAD}
   \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
   \tkzText(1,5){The slope of (AB) is : 
-     $\pgfmathprintnumber{\SAB}$}     
+     $\pgfmathprintnumber{\SAB}^\circ$}     
   \tkzText(1,4.5){The slope of (AC) is : 
-     $\pgfmathprintnumber{\SAC}$}    
+     $\pgfmathprintnumber{\SAC}^\circ$}    
   \tkzText(1,4){The slope of (AD) is : 
-     $\pgfmathprintnumber{\SAD}$}
+     $\pgfmathprintnumber{\SAD}^\circ$}
 \end{tikzpicture}
 \end{tkzexample}
  

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-circleby.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -1,4 +1,4 @@
-\section{Definition of circle by transformation; \tkzcname{tkzDefCircleBy} }
+\subsection{Definition of circle by transformation; \tkzcname{tkzDefCircleBy} }
 These transformations are:
 
 \begin{itemize}
@@ -50,7 +50,7 @@
 The image is only defined and not drawn.
 \end{NewMacroBox} 
 
-\subsection{Examples of transformations} 
+\subsubsection{Examples of transformations} 
 
 \subsubsection{\tkzname{Translation}}
 \begin{tkzexample}[latex=7cm,small]
@@ -60,9 +60,10 @@
  \tkzDefCircleBy[translation= from B to A](C,D) 
  \tkzGetPoints{C'}{D'} 
  \tkzDrawPoints[teal](A,B,C,D,C',D')
- \tkzLabelPoints[color=teal](A,B,C,D,C',D') 
  \tkzDrawSegments[orange,->](A,B)
  \tkzDrawCircles(C,D C',D')
+ \tkzLabelPoints[color=teal](A,B,C,C') 
+ \tkzLabelPoints[color=teal,above](D,D') 
 \end{tikzpicture} 
 \end{tkzexample}
 
@@ -75,9 +76,10 @@
  \tkzDefCircleBy[reflection = over A--B](C,D)
  \tkzGetPoints{C'}{D'} 
  \tkzDrawPoints[teal](A,B,C,D,C',D')
- \tkzLabelPoints[color=teal](A,B,C,D,C',D') 
  \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') 
 \end{tikzpicture} 
 \end{tkzexample}
 
@@ -91,8 +93,9 @@
  \tkzDefCircleBy[homothety=center A ratio .5](C,D)
  \tkzGetPoints{C'}{D'}
  \tkzDrawPoints[teal](A,C,D,C',D')
- \tkzLabelPoints[color=teal](A,C,D,C',D')
  \tkzDrawCircles(C,D C',D')
+ \tkzLabelPoints[color=teal](A,C,C')
+ \tkzLabelPoints[color=teal,above](D,D') 
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -105,9 +108,11 @@
  \tkzDefCircleBy[symmetry=center B](C,D)
  \tkzGetPoints{C'}{D'}
  \tkzDrawPoints[teal](B,C,D,C',D')
- \tkzLabelPoints[color=teal](B,C,D,C',D')
  \tkzDrawLines[orange](C,C' D,D')
  \tkzDrawCircles(C,D C',D')
+ \tkzLabelPoints[color=teal](A,C,C')
+ \tkzLabelPoints[color=teal,above](D)
+ \tkzLabelPoints[color=teal,below](D')
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -114,9 +119,9 @@
 \subsubsection{\tkzname{Rotation}}
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=0.5]
- \tkzDefPoint(0,0){A}   \tkzDefPoint(3,-1){B}
+ \tkzDefPoint(3,-1){B}
  \tkzDefPoint(3,2){C}   \tkzDefPoint(4,3){D}
- \tkzDefCircleBy[rotation=center B angle 60](C,D)
+ \tkzDefCircleBy[rotation=center B angle 90](C,D)
  \tkzGetPoints{C'}{D'}
  \tkzDrawPoints[teal](B,C,D,C',D')
  \tkzLabelPoints[color=teal](B,C,D,C',D')
@@ -126,7 +131,7 @@
 
 
 \subsubsection{\tkzname{Orthogonal from}}
-Orthogonal circle of given center. \tkzcname{tkzGetPoints{z1}{z2}} gives two points of the circle.
+Orthogonal circle of given center. \tkzcname{tkzGetPoints\{z1\}\{z2\}} gives two points of the circle.
 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=.75]
@@ -147,11 +152,11 @@
 \subsubsection{\tkzname{Orthogonal from} : Right angle between circles}
 We are looking for a circle orthogonal to the given circle.
 
-\begin{tkzexample}[latex=6cm,small]
-\begin{tikzpicture}[scale=.5]
+\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)
-\tkzGetFirstPoint{C}
+\tkzGetSecondPoint{C}
 \tkzDrawCircles(A,C B,C)
 \tkzDefTangent[at=C](A) \tkzGetPoint{a}
 \tkzDefPointsBy[symmetry = center C](a){d}
@@ -158,8 +163,7 @@
 \tkzDefTangent[at=C](B) \tkzGetPoint{b}
 \tkzDrawLines[add=1 and 4](a,C  C,b)
 \tkzDrawSegments(A,C B,C)
-\tkzMarkAngle[size=2.5](b,C,d)
-\tkzFillAngle[fill=teal,opacity=.2,size=3](b,C,d)
+\tkzMarkRightAngle[fill=teal,opacity=.2,size=1](b,C,d)
 \end{tikzpicture}
 \end{tkzexample}
 

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-circles.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -1,6 +1,6 @@
-\section{The Circles}
+\section{Circles}
 
-Among the following macros, one will allow you to draw a circle, which is not a real feat. To do this, you will need to know the center of the circle and either the radius of the circle or a point on the circumference. It seemed to me that the most frequent use was to draw a circle with a given centre passing through a given point. This will be the default method, otherwise you will have to use the \tkzname{R} option. There are a large number of special circles, for example the circle circumscribed by a triangle.
+Among the following macros, one will allow you to draw a circle, which is not a real feat. To do this, you will need to know the center of the circle and either the radius of the circle or a point on the circumference. It seemed to me that the most frequent use was to draw a circle with a given center passing through a given point. This will be the default method, otherwise you will have to use the \tkzname{R} option. There are a large number of special circles, for example the circle circumscribed by a triangle.
 
 \begin{itemize}
   \item  I have created a first macro \tkzcname{tkzDefCircle} which allows, according to a particular circle, to retrieve its center and the measurement of the radius in cm. This recovery is done with the macros \tkzcname{tkzGetPoint} and \tkzcname{tkzGetLength};
@@ -25,7 +25,7 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments           & example & explication                         \\
+arguments           & example & explanation                         \\
 \midrule
 \TAline{\parg{pt1,pt2} or \parg{pt1,pt2,pt3}}{\parg{A,B}} {$[AB]$ is radius $A$ is the center}
 \bottomrule
@@ -85,7 +85,7 @@
     \tkzDrawCircle(O,B) 
     \tkzDrawSegment(A,B)
     \tkzDrawPoints(A,B,O)   
-    \tkzLabelPoints(A,B,O)
+    \tkzLabelPoints[below](A,B,O)
  \end{tikzpicture} 
  \end{tkzexample}    
 
@@ -139,6 +139,8 @@
   \tkzLabelPoints[left](F)
 \end{tikzpicture}    
 \end{tkzexample}
+
+
   
  \subsubsection{Euler's circle for a given triangle with option \tkzname{euler}}
  
@@ -328,4 +330,91 @@
     \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}}%
+Each excenter has three projections on the sides of the triangle ABC. We can do this with one macro\\ \tkzcname{tkzDefProjExcenter[name=J](A,B,C)(a,b,c)\{Y,Z,X\}}.
+
+\medskip
+\begin{tabular}{lll}%
+\toprule
+options             & default & definition                        \\
+\midrule
+\TOline{name} {no defaut}{used to name the vertices}
+\bottomrule
+\end{tabular}
+
+\begin{tabular}{lll}%
+arguments & default & definition \\
+\midrule
+\TAline{(pt1=$\alpha_1$,pt2=$\alpha_2$,\dots)}{no default}{Each point has a assigned weight}
+\end{tabular}
+
+\medskip
+\end{NewMacroBox}
+
+\subsubsection{Excircles}
+
+\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}
+
+\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} 
+
+\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}
+
+\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} 
+\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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-clipping.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -157,7 +157,7 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments       & example & explication     \\ 
+arguments       & example & explanation     \\ 
 \midrule
 \TAline{\parg{pt1,pt2,pt3,\dots}}{\parg{A,B,C}}{}
 \midrule
@@ -233,7 +233,7 @@
 \begin{NewMacroBox}{tkzClipCircle}{\oarg{local options}\parg{A,B} or \parg{A,r}}%
 \begin{tabular}{lll}%
 \toprule
-arguments           & example & explication                         \\
+arguments           & example & explanation                         \\
 \midrule
 \TAline{\parg{A,B} or \parg{A,r}}{\parg{A,B} or \parg{A,2cm}} {AB radius or diameter }
 \bottomrule
@@ -309,7 +309,7 @@
 \begin{tabular}{lll}%
 options             & default & definition                         \\ 
 \midrule
-\TOline{towards}{towards}{$O$ is the centre and the sector starts from $A$ to $(OB)$}
+\TOline{towards}{towards}{$O$ is the center and the sector starts from $A$ to $(OB)$}
 \TOline{rotate} {towards}{The sector starts from $A$ and the angle determines its amplitude. } 
 \TOline{R}{towards}{We give the radius and two angles} 
 \bottomrule

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-compass.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -11,8 +11,8 @@
 \toprule
 options             & default & definition                        \\ 
 \midrule
-\TOline{delta} {0 (deg)}{Modifies the angle of the arc by increasing it symmetrically (in degrees)} 
-\TOline{length}{1 (cm)}{Changes the length (in cm)} 
+\TOline{delta} {0 (deg)}{Increases the angle of the arc symmetrically} 
+\TOline{length}{1 (cm)}{Changes the length (in cm)}
 \end{tabular}
 \end{NewMacroBox} 
 

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-drawing.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -183,20 +183,6 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{Example with  the option \tkzname{add}}   
-\begin{tkzexample}[latex=8cm,small]
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(3,1){I}
- \tkzDefPoint(1,4){J}
- \tkzDefLine[bisector](I,O,J)     
-   \tkzGetPoint{i}   
- \tkzDefLine[bisector out](I,O,J) 
-   \tkzGetPoint{j}
- \tkzDrawLines[add = 1 and .5](O,I O,J) 
- \tkzDrawLines[add = 1 and .5,new](O,i O,j) 
-\end{tikzpicture} 
-\end{tkzexample}
 %<---------------------------------------------------------------------------->
 %    SEGMENT(S)
 %<---------------------------------------------------------------------------->
@@ -402,7 +388,7 @@
 
 \begin{tabular}{lll}%
 \toprule
-arguments             & example & explication                         \\
+arguments             & example & explanation                         \\
 \midrule
 \TAline{\parg{pt1,pt2,pt3,...}}{|\BS tkzDrawPolygon[gray,dashed](A,B,C)|}{Drawing a triangle}
  \end{tabular}
@@ -432,6 +418,7 @@
 \tkzDefPoint(0,0){A} 
 \tkzDefPoint(6,0){B} 
 \tkzDefTriangle[two angles = 50 and 70](A,B) \tkzGetPoint{C}
+\tkzDrawPolygon(A,B,C)
 \tkzLabelAngle[pos=1.4](B,A,C){$50^\circ$}
 \tkzLabelAngle[pos=0.8](C,B,A){$70^\circ$}
 \end{tikzpicture}
@@ -461,7 +448,7 @@
 
 \begin{tabular}{lll}%
 \toprule
-arguments             & example & explication                         \\
+arguments             & example & explanation                         \\
 \midrule
 \TAline{\parg{pt1,pt2,pt3,...}}{|\BS tkzDrawPolySeg[gray,dashed](A,B,C)|}{Drawing a triangle}
  \end{tabular}
@@ -528,10 +515,9 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments           & example & explication                         \\
+arguments           & example & explanation                         \\
 \midrule
 \TAline{\parg{pt1,pt2}}{\parg{A,B}} {two points to define a radius or a diameter}
-\bottomrule
 \end{tabular}   
 
 \medskip
@@ -556,13 +542,13 @@
 \begin{tikzpicture}
   \tkzDefPoint(0,0){O} 
   \tkzDefPoint(3,0){A}
- % circle with centre O and passing through A
+ % 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)
- % circle with centre O and radius = exp(1) cm
+ % circle with center O and radius = exp(1) cm
   \edef\rayon{\fpeval{0.25*exp(1)}}
   \tkzDrawCircle[R,color=orange](O,\rayon) 
 \end{tikzpicture} 
@@ -575,7 +561,7 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments           & example & explication                         \\
+arguments           & example & explanation                         \\
 \midrule
 \TAline{\parg{pt1,pt2 pt3,pt4 ...}}{\parg{A,B C,D}} {List of two points}
 \bottomrule
@@ -660,9 +646,9 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments           & example & explication                         \\
+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} or \parg{A,B}} {radius or diameter}
 \bottomrule
 \end{tabular} 
     
@@ -706,7 +692,7 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments           & example & explication                         \\
+arguments           & example & explanation                         \\
 \midrule
 \TAline{\parg{pt1,pt2 pt3,pt4 ...}}{\parg{A,B C,D}} {List of two points}
 \bottomrule
@@ -942,14 +928,14 @@
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}
   \tkzDefPoint(0,0){O}
-  \tkzDefPoint(-30:3){A} 
+  \tkzDefPoint(-30:1){A} 
   \tkzDefPointBy[rotation = center O angle -60](A) 
-  \tkzDrawSector(O,A)(tkzPointResult)
+  \tkzDrawSector[teal](O,A)(tkzPointResult)
  \begin{scope}[shift={(-60:1)}]
   \tkzDefPoint(0,0){O}
-  \tkzDefPoint(-30:3){A} 
+  \tkzDefPoint(-30:1){A} 
   \tkzDefPointBy[rotation = center O angle -60](A) 
-  \tkzDrawSector(O,tkzPointResult)(A)
+  \tkzDrawSector[red](O,tkzPointResult)(A)
   \end{scope}
 \end{tikzpicture}   
 \end{tkzexample}
@@ -957,10 +943,9 @@
 \subsubsection{\tkzcname{tkzDrawSector} and \tkzname{rotate}}  
 \begin{tkzexample}[latex=7cm,small]  
 \begin{tikzpicture}[scale=2]
- \tkzDefPoint(0,0){O}
- \tkzDefPoint(2,2){A}
- \tkzDrawSector[rotate,draw=orange!50!black](O,A)(30)
- \tkzDrawSector[rotate,draw=teal!50!black](O,A)(-30)
+ \tkzDefPoints{0/0/O,2/2/A,2/1/B}
+ \tkzDrawSector[rotate,orange](O,A)(20)
+ \tkzDrawSector[rotate,teal](O,B)(-20)
 \end{tikzpicture} 
 \end{tkzexample}  
 
@@ -969,14 +954,15 @@
 \begin{tikzpicture}[scale=1.25]
  \tkzDefPoint(0,0){O}
  \tkzDefPoint(2,-1){A}
- \tkzDrawSector[R](O,2)(30,90)
- \tkzDrawSector[R](O,2)(90,180)
- \tkzDrawSector[R](O,2)(180,270)
- \tkzDrawSector[R](O,2)(270,360) 
+ \tkzDrawSector[R](O,1)(30,90)
+ \tkzDrawSector[R](O,1)(90,180)
+ \tkzDrawSector[R](O,1)(180,270)
+ \tkzDrawSector[R](O,1)(270,360) 
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{\tkzcname{tkzDrawSector} and \tkzname{R}}  
+\subsubsection{\tkzcname{tkzDrawSector} and \tkzname{R with nodes}}  
+In this example I use the option \tkzname{fill} but \tkzcname{tkzFillSector} is possible.
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=1.25]
  \tkzDefPoint(0,0){O}

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-elements.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -13,7 +13,7 @@
 |\tkzDef...| |\tkzDraw...| |\tkzMark...| and |\tkzLabel...|. 
 The used points are passed as parameters between parentheses while the created points are between braces.
 
-Le code des figures est placés dans un environnement \tkzimp{tikzpicture}
+The code of the figures is placed in an environment \tkzimp{tikzpicture}
 
 \begin{tkzltxexample}[]
  \begin{tikzpicture}

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-examples.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -381,7 +381,7 @@
    \tkzInterLC(A,C)(I,B)
    \tkzGetFirstPoint{B'}
    \tkzInterLC(A,B)(I,B)
-   \tkzGetFirstPoint{C'}
+   \tkzGetSecondPoint{C'}
    \tkzInterLL(B,B')(C,C') \tkzGetPoint{H}
    \tkzInterLL(A,H)(C,B) \tkzGetPoint{A'}
    \tkzDefCircle[circum](A,B',C') \tkzGetPoint{O}
@@ -406,7 +406,7 @@
 \tkzInterLC[common=A](C,A)(O,A)
 \tkzGetFirstPoint{M}
 \tkzInterLC(C,B)(O,A)
-\tkzGetFirstPoint{N}
+\tkzGetSecondPoint{N}
 \tkzInterLL(B,M)(A,N)\tkzGetPoint{I}
 \tkzDrawCircles[diameter](A,B I,C)
 \tkzDrawSegments(C,A C,B A,B B,M A,N)
@@ -909,10 +909,10 @@
 
 \begin{tikzpicture}
 \tkzDefPoints{0/0/A,4/2/B,2/3/K}
-\tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,3)
+\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}
+\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}
@@ -921,7 +921,7 @@
 \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'}
+\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)
@@ -933,10 +933,10 @@
 \begin{tkzexample}[code only,small]
 \begin{tikzpicture}
 \tkzDefPoints{0/0/A,4/2/B,2/3/K}
-\tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,3)
+\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}
+\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}
@@ -945,7 +945,7 @@
 \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'}
+\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)
@@ -955,7 +955,57 @@
 \end{tikzpicture}
 \end{tkzexample}
 
+\newpage
+\subsection{Middle of a  segment with a compass}
+
+\begin{tikzpicture}
+\node [mybox,title={Tangent lines to two circles with radical axis}] (box){%
+\begin{minipage}{0.90\textwidth}
+  {\emph{This example involves determining the middle of a segment, using only a compass.}}
+\end{minipage}
+};
+\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}[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\_}
@@ -992,12 +1042,12 @@
     % 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[angle=30,center=K1,radius=\rAp]
+\tkzDefPointOnCircle[R= angle 30 center K1 radius \rAp]
 \tkzGetPoint{I}
-\tkzDefPointOnCircle[angle=280,center=K1,radius=\rAp]
+\tkzDefPointOnCircle[R= angle 280 center K1 radius \rAp]
 \tkzGetPoint{J}
 \tkzDrawSegments[new](A,I I,B A,J J,B)  
-\tkzDrawCircle[R,color = teal,fill=MidnightBlue!20,opacity=.4](K1,\rAp pt)
+\tkzDrawCircle[R,color = teal,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)
@@ -1012,9 +1062,9 @@
 \tkzDefPoint(4,0){B}
 \tkzDefCircle[apollonius,K=2](A,B) \tkzGetPoint{K1}
 \tkzGetLength{rAp}
-\tkzDefPointOnCircle[angle=30,center=K1,radius=\rAp]
+\tkzDefPointOnCircle[R = angle 30 center K1 radius \rAp]
 \tkzGetPoint{I}
-\tkzDefPointOnCircle[angle=280,center=K1,radius=\rAp]
+\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)
@@ -1232,12 +1282,12 @@
 \tkzInterLC(A,B)(Q,Cb)                     \tkzGetFirstPoint{Ba}
 \tkzInterLC(A,C)(Q,Cb)                     \tkzGetPoints{Ac}{Ca}
 \tkzInterLC(B,C')(Q,Cb)                    \tkzGetFirstPoint{Bc}
-\tkzInterLC(Q,Ja)(Q,Cb)                    \tkzGetSecondPoint{F'a}
-\tkzInterLC(Q,Jc)(Q,Cb)                    \tkzGetSecondPoint{F'c}
-\tkzInterLC(Q,Jb)(Q,Cb)                    \tkzGetSecondPoint{F'b}
-\tkzInterLC(Sp,F'a)(Ja,Za)                 \tkzGetFirstPoint{Fa}
-\tkzInterLC(Sp,F'b)(Jb,Yb)                 \tkzGetFirstPoint{Fb}
-\tkzInterLC(Sp,F'c)(Jc,Yc)                 \tkzGetFirstPoint{Fc}
+\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}
 % Calculations are done, now you can draw, mark and label
@@ -1272,7 +1322,7 @@
 \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} 
@@ -1295,12 +1345,12 @@
 \tkzInterLC(A,B)(Q,Cb)                     \tkzGetFirstPoint{Ba}
 \tkzInterLC(A,C)(Q,Cb)                     \tkzGetPoints{Ac}{Ca}
 \tkzInterLC(B,C')(Q,Cb)                    \tkzGetFirstPoint{Bc}
-\tkzInterLC(Q,Ja)(Q,Cb)                    \tkzGetSecondPoint{F'a}
-\tkzInterLC(Q,Jc)(Q,Cb)                    \tkzGetSecondPoint{F'c}
-\tkzInterLC(Q,Jb)(Q,Cb)                    \tkzGetSecondPoint{F'b}
-\tkzInterLC(Sp,F'a)(Ja,Za)                 \tkzGetFirstPoint{Fa}
-\tkzInterLC(Sp,F'b)(Jb,Yb)                 \tkzGetFirstPoint{Fb}
-\tkzInterLC(Sp,F'c)(Jc,Yc)                 \tkzGetFirstPoint{Fc}
+\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)
@@ -1325,6 +1375,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')

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-filling.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -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{G}{H} 
+   \tkzDefTangent[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)   
@@ -129,7 +129,7 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments                & example & explication                         \\ 
+arguments                & example & explanation                         \\ 
 \midrule
 \TAline{\parg{pt1,pt2,\dots}}{\parg{A,B,\dots}}{}
 %\bottomrule

Modified: 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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-intersec.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -1,10 +1,10 @@
-\section{Intersections}
+\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}
+\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}
@@ -25,13 +25,13 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Intersection of a straight line and a circle}
+\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 centre and the second is any point on the circle.
-\item $(O,r)$  The $r$ measure is the radius measure. The unit can be the \emph{cm} or \emph{pt}.
+\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$}}%
@@ -42,115 +42,169 @@
 \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}    {}    { common = pt if pt is common point}
+\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} vous évite de calculer le rayon qui est la longueur de $[CD]$.
+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:
+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(0,4){A} 
- \tkzDefPoint(5,0){B} 
+ \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=blue](O,A,B,C)
+ \tkzDrawPoints[color=teal](O,La,Lb,C)
  \tkzDrawPoints[color=red](D,E)
- \tkzDrawLine(A,B)
- \tkzLabelPoints[above right](O,A,B,C,D,E)
+ \tkzDrawLine(La,Lb)
+ \tkzLabelPoints[above right](O,La,Lb,C,D,E)
 \end{tikzpicture} 
 \end{tkzexample}
 
-\subsubsection{Line-circle intersection with common point}
+\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}[scale=.5]
-    \tkzDefPoints{0/0/O,5/1/A,2/2/B}
-    \tkzInterLC[common=A](B,A)(O,A)\tkzGetFirstPoint{C}
-    \tkzDrawPoints(O,A,B)
-    \tkzDrawCircle(O,A)
-    \tkzDrawLine(A,C)
-    \tkzDrawPoint(C)
-    \tkzLabelPoints(A,B,C)
-  \end{tikzpicture}
+\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} $
+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=.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(O,A,B,C,D,E)
-  \end{tikzpicture}
+\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$.
 
-\subsubsection{Line-circle intersection in Sangaku}
 \begin{tkzexample}[vbox,small]
-  \begin{tikzpicture}[scale=1]
-   \def\ORadius{6}
-   \def\OORadius{4}
-   \pgfmathparse{(2*(\ORadius-\OORadius))/(\ORadius/\OORadius+1)}%
-   \let\OOORadius\pgfmathresult%
-   \pgfmathparse{\ORadius-\OOORadius}%
-   \let\OOOORadius\pgfmathresult%
-   \pgfmathparse{2*\OORadius-\ORadius}%
-   \let\XA\pgfmathresult%
-   \tkzDefPoint["$O$" below left](0,0){O}
-   \ifdim\XA pt  =  0pt\relax%
-       \tkzDefPoint["$A$"  below right](\XA,0){A}
-   \else
-       \tkzDefPoint["$A$"  below left](\XA,0){A}
-   \fi
-   \tkzDefPoint["$D$"  below right](\OORadius,0){D}
-   \tkzDefPoint["$X$"  below left](-\ORadius,0){X}
-   \tkzDefPoint["$B$"  below right](\ORadius,0){B}
-   \tkzDefPoint["$O_2$" below left](\OORadius-\ORadius,0){O2}
-   \tkzDefLine[mediator](A,B)             \tkzGetPoints{mr}{ml}
-   \tkzInterLC[R](D,mr)(O,\ORadius)    \tkzGetPoints{E}{C}
-   \tkzDefLine[orthogonal=through A](X,A) \tkzGetPoint{pr}
-   \ifdim\XA pt < 0 pt\relax
-     \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O3}{O4}
-   \else
-   \ifdim\XA pt = 0pt\relax
-     \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O3}{O4}
-   \else
-     \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O4}{O3}
-   \fi
-   \fi
-   \tkzDefPointBy[projection=onto A--C](O3) \tkzGetPoint{H}
-   \tkzDrawCircles[R](O,{\ORadius} O2,{\OORadius} O3,{\OOORadius})
-   \tkzDrawSegments[dashed](O,O3 C,D O3,A O3,H)
-   \tkzDrawSegments(X,B A,C B,C)
-   \tkzMarkSegments[mark=s|](D,B D,A)
-   \tkzLabelPoints[right](O3,H)
-   \tkzLabelPoint[above right](C){$C$}
-   \tkzMarkRightAngles[fill=gray!30](X,D,C X,A,O3 A,H,O3)
-   \tkzDrawPoints(A,B,C,D,X,O,O2,O3,H)
+  \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}
 
@@ -160,25 +214,21 @@
 
 \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) 
-  \tkzGetSecondPoint{E}
-  \tkzInterLC(A,E)(O,B)     
-  \tkzGetSecondPoint{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) 
+ \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}
 
@@ -187,54 +237,34 @@
 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=.5]
-  \tkzDefPoint(0,8){A}  \tkzDefPoint(8,0){B}
-  \tkzDefPoint(8,8){C}  \tkzDefPoint(4,4){I}
-  \tkzDefPoint(2,7){E}  \tkzDefPoint(6,4){F}
-  \tkzInterLC[R](A,C)(I,4)  \tkzGetPoints{I1}{I2}
-  \tkzInterLC[R](B,C)(I,4)  \tkzGetPoints{J1}{J2}
-  \tkzInterLC[R](A,B)(I,4)  \tkzGetPoints{K1}{K2}
-  \tkzInterLC[R](E,F)(I,4)  \tkzGetPoints{I2}{J2}
-  \tkzDrawCircle[R](I,4)
-  \tkzDrawPoints[color=red](I1,J1,K1,K2)
-  \tkzDrawLines(A,B B,C A,C I2,J2)
-  \tkzDrawPoints[color=blue](E,F)
-  \tkzDrawPoints[color=red](I2,J2)
+ \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{More complex example}
-\tkzHandBomb\ Be careful with the syntax. First of all, calculations for the points can be done during the passage of the arguments, but the syntax of \tkzname{xfp} must be respected. You can see that I use the term \tkzname{pi} because \NamePack{xfp} can work with radians. You can also work with degrees but in this case, you need to use  specific commands like |sind| or |cosd|. Furthermore, when calculations require the use of parentheses, they must be inserted in a group... \TEX \{ \dots \}.
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1.25]
-\tkzDefPoint(0,1){J}
-\tkzDefPoint(0,0){O}
-\tkzDrawArc[R,line width=1pt,color=red](J,2.5)(180,0)
-\foreach \i in {0,-5,-10,...,-85,-90}{
-  \tkzDefPoint({2.5*cosd(\i)},{1+2.5*sind(\i)}){P}
-   \tkzDrawSegment[color=orange](J,P)
-   \tkzInterLC[R](P,J)(O,1)
-   \tkzGetPoints{M}{N}
-   \tkzDrawPoints[red](N)
-   }
-\foreach \i in {-90,-95,...,-175,-180}{
-   \tkzDefPoint({2.5*cosd(\i)},{1+2.5*sind(\i)}){P}
-   \tkzDrawSegment[color=orange](J,P)
-   \tkzInterLC[R](P,J)(O,1)
-   \tkzGetPoints{M}{N}
-   \tkzDrawPoints[red](M)
-   }
-\end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{Calculation of radius example 1}
+\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$.
+ 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$. 
 
-\subsubsection{Calculation of radius example 2}
 With \tkzname{xfp} and \tkzcname{fpeval}:
 
 \begin{tkzexample}[latex=7cm,small]
@@ -269,7 +299,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Intersection of two circles}
+\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.
 
@@ -277,20 +307,45 @@
 \begin{tabular}{lll}%
 options       & default & definition                         \\
 \midrule
-\TOline{N}   {N}    {$OA$ and $O'A'$ are radii, $O$ and $O'$ are the centres}
-\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{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. \\
-It is also possible to use directly \tkzcname{tkzInterCCN} and \tkzcname{tkzInterCCR}.
+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}
 
-\subsubsection{circle-circle intersection with common point.}
+\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)
@@ -297,7 +352,7 @@
     \tkzDrawCircles(O,B A,B)
     \tkzInterCC[common=B](O,B)(A,B)\tkzGetFirstPoint{C}
     \tkzDrawPoint(C)
-    \tkzLabelPoints(O,A,B,C)
+    \tkzLabelPoints[above](O,A,B,C)
   \end{tikzpicture}
 \end{tkzexample}
 
@@ -308,6 +363,7 @@
 
 \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)
@@ -314,10 +370,14 @@
     \tkzInterCC(O,A)(B,C)\tkzGetPoints{D}{E}
     \tkzDrawPoints(C,D,E)
     \tkzLabelPoints(O,A,B,C,D,E)
-    \tkzDrawSegments[dashed](D,O D,B)
-    \tkzMarkAngle[->,size=1.5](O,D,B)
-    \tkzDrawSegments[dashed](E,O E,B)
-    \tkzMarkAngle[->,size=1.5](O,E,B)    
+    \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}
 
@@ -324,6 +384,7 @@
   
   
 \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}
@@ -340,60 +401,26 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{Example a mediator.}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.5]
-  \tkzDefPoint(0,0){A}
-  \tkzDefPoint(2,2){B}
-  \tkzInterCC(B,A)(A,B)\tkzGetPoints{M}{N}
-  \tkzDrawCircles[color=teal](A,B B,A)
-  \tkzDrawCircle[color=teal](A,B)
-  \tkzDrawPoints(M,N)
-  \tkzDrawLine[new](M,N)
-\end{tikzpicture}
-\end{tkzexample}
 
-\subsubsection{An isosceles triangle.}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[rotate=120,scale=.75]
- \tkzDefPoint(1,2){A}
- \tkzDefPoint(4,0){B}
- \tkzInterCC[R](A,4)(B,4)
- \tkzGetPoints{C}{D}
- \tkzDrawCircles[R,dashed](A,4 B,4)
- \tkzCompass[new](A,C)
- \tkzCompass[new](B,C)
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(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=.5]
+\begin{tikzpicture}[scale=.6]
  \tkzDefPoint(0,0){A}
  \tkzDefPoint(3,2){B}
- \tkzInterCC(A,B)(B,A)  \tkzGetPoints{C}{D}
- \tkzInterCC(D,B)(B,A)  \tkzGetPoints{A}{E}
- \tkzInterCC(D,B)(A,B)  \tkzGetPoints{F}{B}
- \tkzInterLC(E,F)(F,A)  \tkzGetPoints{D}{G}
- \tkzInterLL(A,G)(B,E)  \tkzGetPoint{O}
- \tkzInterLL(O,D)(A,B)  \tkzGetPoint{J}
- \tkzInterLL(O,F)(A,B)  \tkzGetPoint{I}
- \tkzDrawCircles(D,A A,B B,A F,A)
- \tkzDrawSegments[new](O,G
-  O,B O,D O,F)
- \tkzDrawPoints(A,B,D,E,F,G,I,J)
- \tkzLabelPoints(A,B,D,E,F,G,I,J)
- \tkzDrawSegments(A,B B,D A,D%
-  A,F F,G E,G B,E)
- \tkzMarkSegments[mark=s|](A,I I,J J,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}
 
@@ -400,7 +427,7 @@
 \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}
+ \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}
@@ -435,39 +462,37 @@
   \tkzDrawSegments(C,L)
   \tkzDrawPoints(A,B,C,D,E,M1,M2,M3,O,L)
   \tkzDrawSegments(O,E)
-  \tkzDrawSegments[dashed](C,A D,B)
+  \tkzDrawSegments[new](C,A D,B)
   \tkzDrawPoint(O)
-  \tkzDrawCircles[dashed](M3,D B,M2 D,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{An oval}
 
-\begin{tkzexample}[latex=7cm,small]
-  \begin{tikzpicture}[scale=0.4]
-    \tkzDefPoint(-4,0){I}
-    \tkzDefPoint(4,0){J}
-    \tkzDefPoint(0,0){O} 
-    \tkzInterCC(J,O)(O,J) \tkzGetPoints{L}{H}
-    \tkzInterCC(I,O)(O,I) \tkzGetPoints{K}{G} 
-    \tkzInterLL(I,K)(J,H) \tkzGetPoint{M}
-    \tkzInterLL(I,G)(J,L) \tkzGetPoint{N}
-    \tkzDefPointsBy[symmetry=center J](L,H){D,E} 
-    \tkzDefPointsBy[symmetry=center I](G,K){C,F}
-    \begin{scope}[line style/.style = {very thin,teal}]
-      \tkzDrawLines[add=1.5 and 1.5](I,K I,G J,H J,L) 
-      \tkzDrawLines[add=.5 and .5](I,J) 
-      \tkzDrawPoints(H,L,K,G,I,J,D,E,C,F,M,N)
-      \tkzDrawCircles[R](O,4 I,4 J,4) 
-      \tkzDrawArc(N,D)(C) 
-      \tkzDrawArc(M,F)(E) 
-      \tkzDrawArc(J,E)(D) 
-      \tkzDrawArc(I,C)(F) 
-    \end{scope}
-    \tkzLabelPoints(H,L,K,G,I,J,D,E,C,F,M,N)      
-  \end{tikzpicture} 
+\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

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-labelling.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -84,46 +84,23 @@
 \end{tabular}
 \end{NewMacroBox}
 
-\subsubsection{Example with \tkzcname{tkzAutoLabelPoints}} 
+\subsubsection{Label for points with \tkzcname{tkzAutoLabelPoints}} 
 Here the points are positioned relative to the center of gravity of $A,B,C \text{ and } O$.
-\begin{tkzexample}[latex=5cm,small]
-\begin{tikzpicture}[scale=1.25]
-  \tkzDefPoint(2,1){O}
-  \tkzDefRandPointOn[circle=center O radius 1.5]
-  \tkzGetPoint{A}
-  \tkzDrawCircle(O,A) 
-  \tkzDefPointBy[rotation=center O angle 100](A)
-  \tkzGetPoint{C}
-  \tkzDefPointBy[rotation=center O angle 78](A)
-  \tkzGetPoint{B}
-  \tkzDrawPoints(O,A,B,C) 
-  \tkzDrawSegments(C,B B,A A,O O,C)
-  \tkzDefCentroid(A,B,C,O)
-  \tkzDrawPoint(tkzPointResult)
-  \tkzAutoLabelPoints[center=tkzPointResult,
-                     dist=.3,red](O,A,B,C)
-\end{tikzpicture}
-\end{tkzexample}
-
-\subsubsection{Example with \tkzcname{tkzAutoLabelPoints}} 
-This time the reference is $O$ and the distance is by default $0.15$.
-\begin{tkzexample}[latex=5cm,small]
-\begin{tikzpicture}[scale=1.25]
+\begin{tkzexample}[latex=4cm,small]
+\begin{tikzpicture}[scale=1]
  \tkzDefPoint(2,1){O}
- \tkzDefRandPointOn[circle=center O radius 1.5]
- \tkzGetPoint{A}
+ \tkzDefRandPointOn[circle=center O radius 1.5]\tkzGetPoint{A}
+ \tkzDefPointBy[rotation=center O angle 100](A)\tkzGetPoint{C}
+ \tkzDefPointBy[rotation=center O angle 78](A)\tkzGetPoint{B}
  \tkzDrawCircle(O,A) 
- \tkzDefPointBy[rotation=center O angle 100](A)
- \tkzGetPoint{C}
- \tkzDefPointBy[rotation=center O angle 78](A)
- \tkzGetPoint{B}
  \tkzDrawPoints(O,A,B,C) 
  \tkzDrawSegments(C,B B,A A,O O,C)
- \tkzAutoLabelPoints[center=O,red](A,B,C)
+ \tkzDefCentroid(A,B,C,O)
+ \tkzDrawPoint(tkzPointResult)
+ \tkzAutoLabelPoints[center=tkzPointResult, dist=.3,red](O,A,B,C)
 \end{tikzpicture}
 \end{tkzexample}
 
-
 \section{Label for a segment} 
 \hypertarget{tls}{}  
 \begin{NewMacroBox}{tkzLabelSegment}{\oarg{local options}\parg{pt1,pt2}\marg{label}}
@@ -381,24 +358,6 @@
 \end{tikzpicture}      
 \end{tkzexample} 
 
-\subsubsection{Second example}
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.5]
- \tkzDefPoints{2/3/A,5/-1/B}
- \tkzDefPoint[label=below:$\mathcal{C}$,
-               shift={(2,3)}](-30:5.5){E}
- \begin{scope}[shift=(A)]
-    \tkzDefPoint(30:5){C}
- \end{scope}
- \tkzDrawCircle(A,B)
- \tkzDrawSegment(A,B)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints[right](B,C)
- \tkzLabelPoints[above](A)
-\end{tikzpicture}
-\end{tkzexample}
-
 \section{Label for an arc} 
 \hypertarget{tls}{}  
 \begin{NewMacroBox}{tkzLabelArc}{\oarg{local options}\parg{pt1,pt2,pt3}\marg{label}}

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-lines.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -1,4 +1,4 @@
-\section{The straight lines}
+\section{Straight lines}
 
 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. 
 
@@ -12,7 +12,7 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments           & example & explication                         \\
+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)}
@@ -40,7 +40,7 @@
  \tkzDefLine[mediator](A,B)          \tkzGetPoints{C}{D}
  \tkzDefPointWith[linear,K=.75](C,D) \tkzGetPoint{D}
  \tkzDefMidPoint(A,B)                \tkzGetPoint{I}
- \tkzFillPolygon[color=teal!30](A,C,B,D)
+ \tkzFillPolygon[color=teal!20](A,C,B,D)
  \tkzDrawSegments(A,B C,D)
  \tkzMarkRightAngle(B,I,C) 
  \tkzDrawSegments(D,B D,A)
@@ -123,7 +123,7 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments           & example & explication                         \\
+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
@@ -139,7 +139,7 @@
 \bottomrule
 \end{tabular}
 
-The tangent is not drawn. A second point of the tangent is given by \tkzname{tkzPointResult}.
+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 } 
@@ -158,36 +158,59 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{Example of tangents passing through an external point } 
+\subsubsection{Choice of contact point with tangents passing through an external point} 
 \begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.8]
-  \tkzDefPoint(3,3){c}
-  \tkzDefPoint(6,3){a0}
-  \pgfmathsetmacro\R{1}
-  \tkzDrawCircle[R](c,\R)
-  \foreach \an in {0,10,...,350}{
-     \tkzDefPointBy[rotation=center c angle \an](a0)
-     \tkzGetPoint{a}
-     \tkzDefTangent[from with R = a](c,\R)
-     \tkzGetPoints{e}{f}
-     \tkzDrawLines[color=teal](a,f a,e)
-     \tkzDrawSegments(c,e c,f)
-  }%
+\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}
+\tkzDrawCircle(Q,M)
+\tkzDrawSegments[new,add = 0 and .2](O,R O,S)
+\tkzDrawSegments[gray](N,O R,Q S,Q)
+\tkzDrawPoints(O,Q,R,S,M,N)
+\tkzMarkAngle[gray,-stealth,size=1](O,R,Q)
+\tkzFindAngle(O,R,Q)   \tkzGetAngle{an}
+\tkzLabelAngle(O,R,Q){$\pgfmathprintnumber{\an}^\circ$}
+\tkzMarkAngle[gray,-stealth,size=1](O,S,Q)
+\tkzFindAngle(O,S,Q)   \tkzGetAngle{an}
+\tkzLabelAngle(O,S,Q){$\pgfmathprintnumber{\an}^\circ$}
+\tkzLabelPoints(Q,O,M,N,R)
+\tkzLabelPoints[above,text=red](S)
 \end{tikzpicture}
 \end{tkzexample}
 
+
+
+
+\subsubsection{Example of tangents passing through an external point } 
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=.8] 
+\tkzDefPoints{0/0/c,1/0/d,3/0/a0}
+\def\tkzRadius{1}
+\tkzDrawCircle(c,d) 
+ \foreach \an in {0,10,...,350}{
+  \tkzDefPointBy[rotation=center c angle \an](a0)  
+  \tkzGetPoint{a}
+  \tkzDefTangent[from = a](c,d) 
+  \tkzGetPoints{e}{f}
+  \tkzDrawLines(a,f a,e)
+  \tkzDrawSegments(c,e c,f)}
+\end{tikzpicture} 
+\end{tkzexample}
+
 \subsubsection{Example of Andrew Mertz}
 \begin{tkzexample}[latex=6cm,small]
  \begin{tikzpicture}[scale=.5] 
  \tkzDefPoint(100:8){A}\tkzDefPoint(50:8){B}  
- \tkzDefPoint(0,0){C} \tkzDefPoint(0,4){R} 
+ \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}
- \tkzDrawSector[fill=teal!20,opacity=0.5](A,D)(E)
- \tkzFillSector[color=teal,opacity=0.5](B,F)(G)
- \tkzInterCC(A,D)(B,F) \tkzGetSecondPoint{I}
- \tkzDrawPoint[color=black](I)
+ \tkzDrawSector[fill=teal!20,opacity=0.5](A,E)(D)
+ \tkzFillSector[color=teal,opacity=0.5](B,G)(F)
  \end{tikzpicture}
 \end{tkzexample}
 \url{http://www.texample.net/tikz/examples/}  
@@ -208,7 +231,7 @@
  \tkzDrawCircle[fill = orange](B,A)
  \tkzDrawCircle[fill = purple](E,B)  
  \tkzDefTangent[from=B](F,A)
- \tkzInterLL(F,tkzFirstPointResult)(C,D)
+ \tkzInterLL(F,tkzSecondPointResult)(C,D)
  \tkzInterLL(A,tkzPointResult)(F,E) 
  \tkzDrawCircle[fill = yellow](tkzPointResult,Q)  
  \tkzDefPointBy[projection= onto B--A](tkzPointResult)

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-main.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -18,15 +18,15 @@
                index       = totoc,
                twoside,
                headings    = small,
-               %cadre
+               cadre
                ]{tkz-doc}
 %\usepackage{etoc}
 \gdef\tkznameofpack{tkz-euclide}
-\gdef\tkzversionofpack{4.03}
-\gdef\tkzdateofpack{2022/01/20}
+\gdef\tkzversionofpack{4.05b}
+\gdef\tkzdateofpack{2022/02/07}
 \gdef\tkznameofdoc{doc-tkz-euclide}
-\gdef\tkzversionofdoc{4.03} 
-\gdef\tkzdateofdoc{2022/01/20}
+\gdef\tkzversionofdoc{4.05b} 
+\gdef\tkzdateofdoc{2022/02/07}
 \gdef\tkzauthorofpack{Alain Matthes}
 \gdef\tkzadressofauthor{}
 \gdef\tkznamecollection{AlterMundus}
@@ -115,14 +115,6 @@
 % }
 %<---------------------------------------------------------------------------> 
 \AtBeginDocument{\MakeShortVerb{\|}} % link to shortvrb
-% settings
-\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}}
 \makeatletter
 % We need to save the node
 % Every append after command might be useful to have this code
@@ -152,10 +144,29 @@
 \hfuzz1pc % Don't bother to report overfull boxes if overage is < 1pc
 
 \newcommand{\pkg}[1]{{\protect\ntt#1}}
+
+% settings
+\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[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}}
+
+\newcommand{\tkzsubf}[2]{%
+  {\small\begin{tabular}[t]{@{}c@{}}
+  #1\\#2
+  \end{tabular}}%
+}
+
+
 \begin{document} 
   
 
-
 \parindent=0pt
 \author{\tkzauthorofpack}  
 \title{\tkznameofpack}
@@ -271,8 +282,9 @@
 \include{TKZdoc-euclide-styles}
 
 \part{Examples}
+\include{TKZdoc-euclide-others}
 \include{TKZdoc-euclide-examples}
-\include{TKZdoc-euclide-others}
+
 \part{FAQ}
 \include{TKZdoc-euclide-FAQ}
 

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-marking.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -242,25 +242,25 @@
 
 %                \tkzMarkAngle(B, A, C)
 %
-% Marque d'angle
-% arc de cercle (simple/double/triple) et marque d'églité.
+% Angle mark
+% arc de cercle (simple/double/triple) et mark of equality.
 %
-% Par défaut: 
+% By default: 
 %                 arc       = simple
-%                 mksize  = 1 (rayon de l'arc)
+%                 mksize  = 1 (radius of the arc)
 %                 style traits pleins
-%                 mkpos ?  position: 0.5 (position de la marque)
-%                 mark rien du tout (ignoré si type est utilisé)
+%                 mkpos ?  position: 0.5 (mark position)
+%                 mark   none
 %
-% Paramètres (optionnels)
+% Parameters (optional)
 %             arc     : l, ll, lll
 %             mksize  : 1
 %             gap     : 3pt
 %             dist    : 1?
-%             style   : type de traits
+%             style   : type of lines
 %             mkpos   : 0.5
 %             mark    : none  , |, ||,|||, z, s, x, o, oo mais tous les 
-%  % symboles de tikz sont permis
+%  % tikz symbols are allowed
 
 \begin{NewMacroBox}{tkzMarkAngle}{\oarg{local options}\parg{A,O,B}}%
 $O$ is the vertex. Attention the arguments vary according to the options. Several markings are possible. You can simply draw an arc or  add a mark on this arc. The style of the arc is chosen with the option \tkzname{arc}, the radius of the arc is given by \tkzname{mksize}, the arc can, of course, be colored.
@@ -280,29 +280,21 @@
 \end{tabular} 
 \end{NewMacroBox}  
 
-\subsubsection{Example with \tkzname{mark = x}}
+\DeleteShortVerb{\|}
+\subsubsection{Example with \tkzname{mark = x} and with \tkzname{mark =||}}
+
 \begin{tkzexample}[latex=6cm,small]
-    \begin{tikzpicture}[scale=.75]
-        \tkzDefPoints{0/0/O,5/0/A,3/4/B}
-        \tkzMarkAngle[size = 4,mark = x,
-                      arc=ll,mkcolor = red](A,O,B)
-        \tkzDrawLines(O,A O,B)
-        \tkzDrawPoints(O,A,B)
-    \end{tikzpicture}
+\begin{tikzpicture}[scale=.75]
+    \tkzDefPoints{0/0/O,5/0/A,3/4/B}
+    \tkzMarkAngle[size = 4,mark = x,
+                  arc=ll,mkcolor = red,mkpos=.33](A,O,B)
+    \tkzMarkAngle[size = 2,mark = ||,
+                arc=ll,mkcolor = blue,mkpos=.66](A,O,B)
+    \tkzDrawLines(O,A O,B)
+    \tkzDrawPoints(O,A,B)
+\end{tikzpicture}
 \end{tkzexample}
-\DeleteShortVerb{\|}
-\subsubsection{Example with \tkzname{mark =||}}
 \MakeShortVerb{\|}
-\begin{tkzexample}[latex=6cm,small]
-    \begin{tikzpicture}[scale=.75]
-        \tkzDefPoints{0/0/O,5/0/A,3/4/B}
-        \tkzMarkAngle[size = 4,mark = ||,
-                    arc=ll,mkcolor = red](A,O,B)
-        \tkzDrawLines(O,A O,B)
-        \tkzDrawPoints(O,A,B)
-    \end{tikzpicture}
-\end{tkzexample}
-
 \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.
   \end{NewMacroBox}  

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-news.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -28,7 +28,7 @@
 
 \item  |\tkzMarkArc| and |\tkzLabelArc| are new macros;
 
-\item Now |\tkzClipCircle| and |\tkzClipPolygon| have an option \tkzimp{out}. To use this option you must have a Bounding Box that contains the object on which the Clip action will be performed. Cela peut se faire en utilisant un objet qui englobe la figure ou bien en utilisant la macro \tkzcname{tkzInit};
+\item Now |\tkzClipCircle| and |\tkzClipPolygon| have an option \tkzimp{out}. To use this option you must have a Bounding Box that contains the object on which the Clip action will be performed. This can be done by using an object that encompasses the figure or by using the macro \tkzcname{tkzInit};
 
 
 \item The options \tkzname{end} and \tkzname{start} which allowed to give a label to a straight  line are removed. You now have to use the macro \tkzcname{tkzLabelLine};

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-others.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -223,7 +223,7 @@
   \tkzCalcLength(A',B) \tkzGetLength{lB}
   \pgfmathparse{\lA-\lB}
   \tkzInterLC[R](A,A')(A',\pgfmathresult)
-  \tkzGetSecondPoint{D'}
+  \tkzGetFirstPoint{D'}
   \tkzDefSquare(D',A')\tkzGetPoints{B'}{C'}
   \tkzDefLine[orthogonal=through D](D,D') 
    \tkzGetPoint{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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointby.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -38,6 +38,7 @@
 \TOline{projection }{= onto \#1--\#2}{[projection=onto A--B](E)}
 \TOline{rotation }  {= center \#1 angle \#2}{[rotation=center O angle 30](E)}
 \TOline{rotation in rad}{= center \#1 angle \#2}{[rotation in rad=center O angle pi/3](E)} 
+\TOline{rotation with nodes}{= center \#1 from \#2 to \#3}{[center O from A to B](E)} 
 \TOline{inversion}{= center \#1 through \#2}{[inversion =center O through A](E)} 
 \TOline{inversion negative}{= center \#1 through \#2}{...} 
 \bottomrule
@@ -116,7 +117,8 @@
  \tkzMarkRightAngle[fill=orange!10,opacity=.4](D,G,B)
  \tkzDrawPoints(A,C,F) \tkzLabelPoints(A,C,F)
  \tkzDrawPoints(B,D,E,G)   
- \tkzLabelPoints[above right](B,D,E,G)
+ \tkzLabelPoints[above right](B,D,E)
+  \tkzLabelPoints[above](G)
  \end{tikzpicture}
  \end{tkzexample} 
 
@@ -148,13 +150,13 @@
  \tkzGetPoint{D} 
  \tkzDrawSegment(A,tkzPointResult) 
  \tkzDrawLine(B,D)
- \tkzDrawArc(A,B)(C) 
- \tkzDrawArc(B,C)(A)
+ \tkzDrawArc(A,B)(C) \tkzDrawArc(B,C)(A)
  \tkzDrawArc(C,D)(D)  
  \tkzMarkRightAngle(D,B,A) 
  \tkzDrawPoints(A,B) 
  \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C,D)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[right](D)
 \end{tikzpicture}  
 \end{tkzexample}  
 
@@ -173,6 +175,24 @@
 \end{tikzpicture}
 \end{tkzexample} 
 
+\subsubsection{\tkzname{rotation with nodes}} 
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){O}    
+ \tkzDefPoint(0:2){A} 
+ \tkzDefPoint(40:2){B}  
+ \tkzDefPoint(20:4){C}
+ \tkzDrawLine(O,A)
+ \tkzDefPointBy[rotation with nodes%
+             =center O from A to B](C)  
+ \tkzGetPoint{D}
+\tkzDrawPoints(A,B,C,D)
+\tkzDrawCircle(O,A)
+\tkzLabelPoints(A,C,D)
+\tkzLabelPoints[above](B)
+\end{tikzpicture}
+\end{tkzexample} 
+
 \subsubsection{\tkzname{inversion }}
 
 Inversion is the process of transforming points to a corresponding set of points known as their inverse points. Two points $P$ and $P'$ are said to be inverses with respect to an inversion circle having inversion center $O$ and inversion radius $k$ if $P'$ is the perpendicular foot of the altitude of $OQP$, where  $Q$ is a point on the circle such that $OQ$ is perpendicular to $PQ$.\\
@@ -189,14 +209,31 @@
 \item Angles are preserved in inversion.
 \end{itemize}
 
-Explanation 
+Explanation:
+
+Directly 
+(Center O power=$k^2={OA}^2=OP \times OP'$)
+
 \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)
+  \tkzDrawCircle(O,A)
+  \tkzLabelPoints[above right,font=\scriptsize](O,A,P,P')
+  \tkzDrawPoints(O,A,P,P')
+\end{tikzpicture}
+\end{tkzexample} 
+
+\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{Q}{R}
+  \tkzDefTangent[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')
@@ -214,23 +251,7 @@
 \end{tikzpicture}
 \end{tkzexample} 
 
-Directly 
-(Center O power=$k^2={OA}^2=OP \times OP'$)
 
-\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)
-  \tkzDrawCircle(O,A)
-  \tkzLabelPoints[above right,font=\scriptsize](O,A,P,P')
-  \tkzDrawPoints(O,A,P,P')
-\end{tikzpicture}
-\end{tkzexample} 
-
-
 \subsubsection{Inversion of lines}
 \begin{tkzexample}[latex=6cm,small]  
 \begin{tikzpicture}[scale=.5]
@@ -293,7 +314,7 @@
 \tkzInterCC(A,P)(A',P') \tkzGetPoints{C}{D} 
 \tkzCalcLength(A,P)
 \tkzGetLength{rAP}
-\tkzDefPointOnCircle[angle=190,center=A,radius=\rAP]
+\tkzDefPointOnCircle[R= angle 190 center A radius \rAP]
 \tkzGetPoint{M}
 \tkzDefPointBy[inversion = center O through C](M)
 \tkzGetPoint{M'}
@@ -368,7 +389,7 @@
 \tkzInterCC(A,P)(A',P') \tkzGetPoints{C}{D}
 \tkzCalcLength(A,P)
 \tkzGetLength{rAP}
-\tkzDefPointOnCircle[angle=190,center=A,radius=\rAP]
+\tkzDefPointOnCircle[R= angle 190 center A radius \rAP]
 \tkzGetPoint{M}
 \tkzDefPointBy[inversion = center O through C](M)
 \tkzGetPoint{M'}
@@ -404,7 +425,7 @@
 \end{tkzexample} 
 
 
-
+\newpage
 \subsection{Transformation of multiple points; \tkzcname{tkzDefPointsBy} }
 Variant of the previous macro for defining multiple images.
 You must give the names of the images as arguments, or indicate that the names of the images are formed from the names of the antecedents, leaving the argument empty. 
@@ -446,6 +467,9 @@
 \TOline{projection = onto \#1--\#2}{}{[projection=onto A--B](E)\{F\}}
 \TOline{rotation = center \#1 angle \#2}{}{[rotation=center  angle 30](E)\{F\}}
 \TOline{rotation in rad = center \#1 angle \#2}{}{for instance angle pi/3}
+\TOline{rotation with nodes = center \#1 from \#2 to \#3}{}{[center O from A to B](E)\{F\}} 
+\TOline{inversion = center \#1 through \#2}{}{[inversion = center O through A](E)\{F\}} 
+\TOline{inversion negative = center \#1 through \#2}{}{...} 
 \bottomrule
 \end{tabular}
 
@@ -469,32 +493,29 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{Example of symmetry}
+\subsubsection{Example of symmetry: an oval}
 
 \begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=.4]
+\begin{tikzpicture}[scale=0.4]
   \tkzDefPoint(-4,0){I}
   \tkzDefPoint(4,0){J}
   \tkzDefPoint(0,0){O} 
   \tkzInterCC(J,O)(O,J) \tkzGetPoints{L}{H}
   \tkzInterCC(I,O)(O,I) \tkzGetPoints{K}{G} 
-  \tkzDrawLines[add=1.5 and 1.5](I,K I,G J,H J,L) 
-  \tkzDrawLines[add=.5 and .5](I,J) 
   \tkzInterLL(I,K)(J,H) \tkzGetPoint{M}
   \tkzInterLL(I,G)(J,L) \tkzGetPoint{N}
   \tkzDefPointsBy[symmetry=center J](L,H){D,E} 
   \tkzDefPointsBy[symmetry=center I](G,K){C,F}
-  \tkzDrawPoints(H,L,K,G,I,J,D,E,C,F,M,N)
-  \tkzDrawCircle[R](O,4)
-  \tkzDrawCircle[R](I,4)
-  \tkzDrawCircle[R](J,4)  
-  \tkzDrawArc(N,D)(C) 
-  \tkzDrawArc(M,F)(E) 
-  \tkzDrawArc(J,E)(D) 
-  \tkzDrawArc(I,C)(F) 
-  \tkzLabelPoints[font=\scriptsize](H,L,K,G,I,J,%
-                                    D,E,C,F,M,N)      
-\end{tikzpicture}  
-\end{tkzexample}  
+  \begin{scope}[line style/.style = {very thin,teal}]
+    \tkzDrawLines[add=1.5 and 1.5](I,K I,G J,H J,L) 
+    \tkzDrawLines[add=.5 and .5](I,J) 
+    \tkzDrawCircles(O,I I,O J,O) 
+    \tkzDrawArc[delta=0,orange](N,D)(C) 
+    \tkzDrawArc[delta=0,orange](M,F)(E) 
+    \tkzDrawArc[delta=0,orange](J,E)(D) 
+    \tkzDrawArc[delta=0,orange](I,C)(F) 
+  \end{scope}   
+\end{tikzpicture} 
+\end{tkzexample}
 
 \endinput
\ No newline at end of file

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointsSpc.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -1,5 +1,6 @@
 Now that the fixed points are defined, we can with their references using macros from the package or macros that you will create get new points. The calculations may not be apparent but they are usually done by the package.
-Vous aurez peut-être besoin d'utiliser certains constantes mathématiques, voici la liste des constantes définies par le package.
+You may need to use some mathematical constants, here is the list of constants defined by the package.
+You may need to use some mathematical constants, here is the list of constants defined by the package.
 
 \section{Auxiliary tools}
 \subsection{Constants}
@@ -71,7 +72,7 @@
 \end{tabular}
 \end{NewMacroBox}
 
-Parfois les résultats consistent en un point et une dimension. Vous obtenez le point avec \tkzcname{tkzGetPoint} et la dimension avec \tkzcname{tkzGetLength}.
+Sometimes the results consist of a point and a dimension. You get the point with \tkzcname{tkzGetPoint} and the dimension with \tkzcname{tkzGetLength}.
 
 \begin{NewMacroBox}{tkzGetLength}{\marg{name of a macro}}%
   
@@ -119,6 +120,41 @@
 \end{tikzpicture}
 \end{tkzexample}
 
+\subsection{Golden ratio}
+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}$
+
+
+One of the two solutions to the equation $x^2 - x - 1 = 0$
+is the golden ratio $\phi$, $\phi = \frac{1 + \sqrt{5}}{2}$.
+
+\begin{NewMacroBox}{tkzDefGoldenRatio}{\parg{pt1,pt2}}%
+\begin{tabular}{lll}%
+arguments & default & example \\
+\midrule
+\TAline{(pt1,pt2)}{no default}{\tkzcname{tkzDefGoldenRatio(A,C)} \tkzcname{tkzGetPoint}\{B\}}
+\bottomrule
+\end{tabular}
+
+\medskip
+$AB=a$, $BC=b$ and $\frac{AC}{AB} = \frac{AB}{BC} =\phi$
+\end{NewMacroBox}
+
+\subsubsection{Use the golden ratio to divide a line segment}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,6/0/C}
+ \tkzDefMidPoint(A,C) \tkzGetPoint{I}
+ %\tkzDefPointWith[linear,K=\tkzInvPhi](A,C) 
+ \tkzDefGoldenRatio(A,C) \tkzGetPoint{B}
+ \tkzDrawSegments(A,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+It is also possible to use the following macro.
 \subsection{Barycentric coordinates }
 
 $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$,
@@ -143,7 +179,7 @@
 
 
 \subsubsection{Using \tkzcname{tkzDefBarycentricPoint} with two points}
-In the following example, we obtain the barycentre of points $A$ and $B$ with coefficients $1$ and $2$, in other words:
+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}
 \]
@@ -182,68 +218,111 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Golden ration}
-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$ $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}$
+\subsection{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'}}%
 
-One of the two solutions to the equation $x^2 - x - 1 = 0$
-is the golden ratio $\phi$, $\phi = \frac{1 + \sqrt{5}}{2}$.
+\begin{tabular}{lll}%
+arguments           & example & explanation                         \\
+\midrule
+\TAline{\parg{pt1,pt2}\parg{pt3,pt4}}{$(O,A)(O',B)$} {$r=OA,r'=O'B$}
+\TAline{\parg{pt1,r1}\parg{pt2,r2}}{$(A,1)(B,2)$} {}
 
-\begin{NewMacroBox}{tkzDefGoldenRatio}{\parg{pt1,pt2}}%
+\end{tabular} 
+    
+\medskip
 \begin{tabular}{lll}%
-arguments & default & example \\
+\toprule
+options             & default & definition                         \\ 
 \midrule
-\TAline{(pt1,pt2)}{no default}{\tkzcname{tkzDefGoldenRatio(A,C)} \tkzcname{tkzGetPoint}\{B\}}
-\bottomrule
+\TOline{ext}{ext}{external center}
+\TOline{int}{ext}{internal center}
+
+\TOline{node}{node}{Circles are defined by two points: center and point on the circle}
+\TOline{R}{node}{Circles are defined by the center and the radius}
 \end{tabular}
+\end{NewMacroBox}  
 
-\medskip
-$AB=a$, $BC=b$ and $\frac{AC}{AB} = \frac{AB}{BC} =\phi$
-\end{NewMacroBox}
+\subsubsection{Internal and external with \tkzname{node}}
+\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)    
+ \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}
 
-\subsection{Use the golden ratio to divide a line segment}
+You can  use \tkzcname{tkzDefBarycentricPoint} to find a homothetic center
+
+|\tkzDefBarycentricPoint(O=\r,A=\R)     \tkzGetPoint{I}| \\
+|\tkzDefBarycentricPoint(O={-\r},A=\R)  \tkzGetPoint{J}|
+
+\subsubsection{Example with \tkzname{node}}
 \begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
- \tkzDefPoints{0/0/A,6/0/C}
- \tkzDefMidPoint(A,C) \tkzGetPoint{I}
- %\tkzDefPointWith[linear,K=\tkzInvPhi](A,C) 
+\begin{tikzpicture}[rotate=60,scale=.5]
+ \tkzDefPoints{0/0/A,5/0/C}
  \tkzDefGoldenRatio(A,C) \tkzGetPoint{B}
- \tkzDrawSegments(A,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B,C)
+ \tkzDefSimilitudeCenter(A,B)(C,B) \tkzGetPoint{J}
+ \tkzDefTangent[from = J](A,B)   \tkzGetPoints{F}{G}
+ \tkzDefTangent[from = J](C,B)    \tkzGetPoints{F'}{G'}
+ \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}
+%<---------------------------------------------------------------------->
 
+\begin{NewMacroBox}{tkzDefHarmonic}{\oarg{options}\parg{pt1,pt2,pt3} or \parg{pt1,pt2}}%
+   
+\begin{tabular}{lll}%
+options             & default & definition                         \\ 
+\midrule
+\TOline{both}{both}{\parg{A,B} we look for C and D such that $(A,B;C,D) = -1$ }
+\TOline{ext}{both}{\parg{A,B,C} we look for D such that $(A,B;C,D) = -1$}
+\TOline{int}{both}{\parg{A,B,D} we look for C such that $(A,B;C,D) = -1$}
+\end{tabular}
+\end{NewMacroBox}  
 
-\subsection{Internal Similitude Center}
-The centres of the two homotheties in which two circles correspond are called external and internal centres of similitude.
+\subsubsection{options \tkzname{ext} and \tkzname{int}}
+\begin{tkzexample}[vbox,small]
+  \begin{tikzpicture}
+  \tkzDefPoints{0/0/A,6/0/B,4/0/C}
+  \tkzDefHarmonic[ext](A,B,C) \tkzGetPoint{J}
+  \tkzDefHarmonic[int](A,B,J) \tkzGetPoint{I}
+  \tkzDrawPoints(A,B,I,J)
+  \tkzDrawLine[add=.5 and 1](A,B)
+  \tkzLabelPoints(A,B,I,J)
+  \end{tikzpicture}
+\end{tkzexample}
 
+\subsubsection{option \tkzname{both} }
+\tkzname{both} is the default option
 \begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[rotate=30]
- \tkzDefPoints{0/0/O,4/-5/A}
- \tkzDefPoints{3/0/x,5/-5/y}
- \pgfmathsetmacro\R{3}\pgfmathsetmacro\r{1}
- \tkzDefIntSimilitudeCenter[R](O,\R)(A,\r) \tkzGetPoint{I}
- \tkzDefExtSimilitudeCenter[R](O,\R)(A,\r) \tkzGetPoint{J}
- \tkzDefTangent[from  with R= I](O,3)   \tkzGetPoints{D}{E}
- \tkzDefTangent[from with R= I](A,1)    \tkzGetPoints{D'}{E'}
- \tkzDefTangent[from  with R= J](O,3)   \tkzGetPoints{F}{G}
- \tkzDefTangent[from with R= J](A,1)    \tkzGetPoints{F'}{G'}
- \tkzDrawCircles(O,x A,y)               \tkzDrawCircles[R](O,3 A,1)
- \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')
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,6/0/B}
+ \tkzDefHarmonic(A,B,{1/2})\tkzGetPoints{I}{J}
+ \tkzDrawPoints(A,B,I,J)
+ \tkzDrawLine[add=1 and .5](A,B)
+ \tkzLabelPoints(A,B,I,J)
 \end{tikzpicture}
 \end{tkzexample}
 
-You can \tkzcname{tkzDefBarycentricPoint} to find a homothetic center
-
-|\tkzDefBarycentricPoint(O=\r,A=\R)     \tkzGetPoint{I}| \\
-|\tkzDefBarycentricPoint(O={-\r},A=\R)  \tkzGetPoint{J}|
- 
 %<---------------------------------------------------------------------->
 \subsection{ Equidistant points}
 %<---------------------------------------------------------------------->
@@ -283,6 +362,95 @@
 \end{tkzexample}
 
 
+\section{Point on line or circle}
+\subsection{Point on a line}
+
+\begin{NewMacroBox}{tkzDefPointOnLine}{\oarg{local options}\parg{A,B}}%
+\begin{tabular}{lll}%
+arguments &  default & definition                 \\
+\midrule
+\TAline{pt1,pt2} {no default}  {Two points to define a line}
+\bottomrule
+\end{tabular}
+
+\medskip
+\begin{tabular}{lll}%
+options       & default & definition \\
+\midrule
+\TOline{pos=nb}  {}{nb is a decimal  }
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Use of option \tkzname{pos}}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+\tkzDefPoints{0/0/A,3/0/B}
+\tkzDefPointOnLine[pos=1.2](A,B)\tkzGetPoint{P}
+\tkzDefPointOnLine[pos=-0.2](A,B)\tkzGetPoint{R}
+\tkzDefPointOnLine[pos=0.5](A,B) \tkzGetPoint{S}
+\tkzDrawLine[new](A,B)
+\tkzDrawPoints(A,B,P)
+\tkzLabelPoints(A,B)
+\tkzLabelPoint[above](P){pos=$1.2$}
+\tkzLabelPoint[above](R){pos=$-.2$}
+\tkzLabelPoint[above](S){pos=$.5$}
+\tkzDrawPoints(A,B,P,R,S)
+\tkzLabelPoints(A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Point on a circle}
+
+\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}}
+\end{tabular}
+\end{NewMacroBox}
+
+\subsubsection{Altshiller'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}[latex=6cm,small]
+\begin{tikzpicture}[scale=.4]
+\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 .75](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,C,D)
+\tkzLabelPoints[above](E,A)
+\end{tikzpicture}
+\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]
+\tkzGetPoint{I}
+\tkzDefCircle[circum](A,B,C)
+\tkzGetPoint{G} \tkzGetLength{rG} 
+\tkzDefPointOnCircle[R = angle 30 center G radius \rG]
+\tkzGetPoint{J}
+\tkzDrawCircle[R,teal](B,1)
+\tkzDrawCircle(G,J)
+\tkzDrawPoints(A,B,C,G,I,J)
+\tkzAutoLabelPoints[center=G](A,B,C,J)
+\tkzLabelPoints[below](G,I)
+\end{tikzpicture}
+\end{tkzexample}
+
 \newpage
 \section{Special points relating to a triangle}
 
@@ -372,10 +540,10 @@
 \subsubsection{Option \tkzname{in}}
 In geometry, the incircle or inscribed circle of a triangle is the largest circle contained in the triangle; it touches (is tangent to) the three sides. The center of the incircle is a triangle center called the triangle's incenter.
 The center of the incircle, called the incenter, can be found as the intersection of the three internal angle bisectors. The center of an excircle is the intersection of the internal bisector of one angle (at vertex $A$, for example) and the external bisectors of the other two. The center of this excircle is called the excenter relative to the vertex $A$, or the excenter of $A$. Because the internal bisector of an angle is perpendicular to its external bisector, it follows that the center of the incircle together with the three excircle centers form an orthocentric system.\\
-(\url{https://en.wikipedia.org/wiki/Incircle_and_excircles_of_a_triangle})
+(Article on \href{https://en.wikipedia.org/wiki/Incircle_and_excircles_of_a_triangle}{Wikipedia})
  
  \medskip
- We get the centre of the inscribed circle of the triangle. The result is of course in \tkzname{tkzPointResult}. We can retrieve it with \tkzcname{tkzGetPoint}.
+ We get the center of the inscribed circle of the triangle. The result is of course in \tkzname{tkzPointResult}. We can retrieve it with \tkzcname{tkzGetPoint}.
 
 \begin{tkzexample}[latex=8cm,small]
 \begin{tikzpicture}
@@ -392,10 +560,10 @@
 
 \subsubsection{Option \tkzname{ex}}
 An excircle or escribed circle of the triangle is a circle lying outside the triangle, tangent to one of its sides and tangent to the extensions of the other two. Every triangle has three distinct excircles, each tangent to one of the triangle's sides.\\
-(\url{https://en.wikipedia.org/wiki/Incircle_and_excircles_of_a_triangle})
+(Article on \href{https://en.wikipedia.org/wiki/Incircle_and_excircles_of_a_triangle}{Wikipedia})
 
 
- We get the centre of an inscribed circle of the triangle. The result is of course in \tkzname{tkzPointResult}. We can retrieve it with \tkzcname{tkzGetPoint}.
+ We get the center of an inscribed circle of the triangle. The result is of course in \tkzname{tkzPointResult}. We can retrieve it with \tkzcname{tkzGetPoint}.
 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}[scale=.5]
@@ -570,7 +738,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsubsection{Example : relation between  \tkzname{gergonne}, \tkzname{centroid} and \tkzname{mittenpunkt}}
+\subsubsection{Relation between  \tkzname{gergonne}, \tkzname{centroid} and \tkzname{mittenpunkt}}
 
 The Gergonne point $Ge$, triangle centroid $G$, and mittenpunkt $M$ are collinear, with  GeG/GM=2.
 
@@ -592,172 +760,5 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\newpage
-\section{Projection of excenters}
 
-\begin{NewMacroBox}{tkzDefProjExcenter}{\oarg{local options}\parg{A,B,C}\parg{a,b,c}\marg{X,Y,Z}}%
-Each excenter has three projections on the sides of the triangle ABC. We can do this with one macro\\ \tkzcname{tkzDefProjExcenter[name=J](A,B,C)(a,b,c)\{Y,Z,X\}}.
-
-\medskip
-\begin{tabular}{lll}%
-\toprule
-options             & default & definition                        \\
-\midrule
-\TOline{name} {no defaut}{used to name the vertices}
-\bottomrule
-\end{tabular}
-
-\begin{tabular}{lll}%
-arguments & default & definition \\
-\midrule
-\TAline{(pt1=$\alpha_1$,pt2=$\alpha_2$,\dots)}{no default}{Each point has a assigned weight}
-\bottomrule
-\end{tabular}
-
-\medskip
-\end{NewMacroBox}
-
-\subsubsection{Excircles}
-
-\begin{tikzpicture}[scale=.5]
-\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}
-
-\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=2 and 2,line width=1pt](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(Xb,Yc,A,B,C,Xa,Xc,Ya,Yb,Ja,Jb,Jc,I)
-\tkzLabelPoints[above right](Za,Zb,Zc)
-\tkzLabelPoints[below](Ia,Ib,Ic)
-\end{tikzpicture} 
-
-\begin{tkzexample}[code only,small]
-  \begin{tikzpicture}[scale=.5]
-  \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}
-
-  \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=2 and 2,line width=1pt](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(Xb,Yc,A,B,C,Xa,Xc,Ya,Yb,Ja,Jb,Jc,I)
-  \tkzLabelPoints[above right](Za,Zb,Zc)
-  \tkzLabelPoints[below](Ia,Ib,Ic)
-  \end{tikzpicture}
-\end{tkzexample}
- 
-
-\section{Point on line or circle}
-\subsection{Point on a line}
-
-\begin{NewMacroBox}{tkzDefPointOnLine}{\oarg{local options}\parg{A,B}}%
-\begin{tabular}{lll}%
-arguments &  default & definition                 \\
-\midrule
-\TAline{pt1,pt2} {no default}  {Two points to define a line}
-\bottomrule
-\end{tabular}
-
-\medskip
-\begin{tabular}{lll}%
-options       & default & definition \\
-\midrule
-\TOline{pos=nb}  {}{nb is a decimal  }
-\end{tabular}
-\end{NewMacroBox}
-
-\subsubsection{Use of option \tkzname{pos}}
-\begin{tkzexample}[latex=9cm,small]
-  \begin{tikzpicture}
-  \tkzDefPoints{0/0/A,4/0/B}
-  \tkzDefPointOnLine[pos=1.2](A,B)
-  \tkzGetPoint{P}
-  \tkzDefPointOnLine[pos=-0.2](A,B)
-  \tkzGetPoint{R}
-  \tkzDefPointOnLine[pos=0.5](A,B) 
-  \tkzGetPoint{S}
-  \tkzDrawLine[new](A,B)
-  \tkzDrawPoints(A,B,P)
-  \tkzLabelPoints(A,B)
-  \tkzLabelPoint[above](P){pos=$1.2$}
-  \tkzLabelPoint[above](R){pos=$-.2$}
-  \tkzLabelPoint[above](S){pos=$.5$}
-  \tkzDrawPoints(A,B,P,R,S)
-  \tkzLabelPoints(A,B)
-  \end{tikzpicture}
-\end{tkzexample}
-
-\subsection{Point on a circle}
-
-\begin{NewMacroBox}{tkzDefPointOnCircle}{\oarg{local options}}%
-\begin{tabular}{lll}%
-options   & default & definition \\
-\midrule
-\TOline{angle}  {0}{angle formed with the abscissa axis}
-\TOline{center}  {|tkzPointResult|}{circle center required}
-\TOline{radius}  {|\BS tkzLengthResult|}{radius circle}
-\end{tabular}
-\end{NewMacroBox}
-
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
-\tkzDefPoints{0/0/A,4/0/B,0.8/3/C} 
-\tkzDefPointOnCircle[angle=90,center=B,radius=1]
-\tkzGetPoint{I}
-\tkzDefCircle[circum](A,B,C)
-\tkzGetPoint{G} \tkzGetLength{rG} 
-\tkzDefPointOnCircle[angle=30,center=G,radius=\rG] 
-\tkzGetPoint{J}
-\tkzDrawCircle[R,teal](B,1)
-\tkzDrawPoint[teal](I)
-\tkzDrawPoints(A,B,C)
-\tkzDrawCircle(G,J)
-\tkzDrawPoints(G,J)
-\tkzDrawPoint[red](J)
-\tkzLabelPoints(G,J)
-\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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-pointwith.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -16,7 +16,7 @@
   
 \begin{tabular}{lll}%
 \toprule
-arguments             & definition & explication                         \\ 
+arguments             & definition & explanation                         \\ 
 \midrule
 \TAline{(pt1,pt2)} {point couple}{the result is a point in \tkzname{tkzPointResult} } \\
 
@@ -28,7 +28,7 @@
 
 \begin{tabular}{lll}%
 \toprule
-options             & example & explication                         \\ 
+options             & example & explanation                         \\ 
 \midrule
 \TOline{orthogonal}{[orthogonal](A,B)}{$AC=AB$ and $\overrightarrow{AC} \perp \overrightarrow{AB}$}
 \TOline{orthogonal normed}{[orthogonal normed](A,B)}{$AC=1$ and $\overrightarrow{AC} \perp \overrightarrow{AB}$} 
@@ -165,7 +165,8 @@
   \tkzDrawLines(A,B B,C A,F)
   \tkzCompass(B,F)
   \tkzDrawPoints(A,B,C,F,M,E)
-  \tkzLabelPoints(A,B,C,F,M,E)
+  \tkzLabelPoints(A,B,C,F,M)
+  \tkzLabelPoints[above](E)
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -258,7 +259,7 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments    & example & explication      \\
+arguments    & example & explanation      \\
 
 \midrule
 

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-polygons.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -9,7 +9,7 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-Arguments             & example & explication                         \\ 
+Arguments             & example & explanation                         \\ 
 \midrule
 \TAline{\parg{pt1,pt2}}{\tkzcname{tkzDefSquare}\parg{A,B}}{The square is defined in the direct direction.}
 \end{tabular}
@@ -77,7 +77,7 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-Arguments             & example & explication                         \\ 
+Arguments             & example & explanation                         \\ 
 \midrule
 \TAline{\parg{pt1,pt2}}{\tkzcname{tkzDefRectangle}\parg{A,B}}{The rectangle is defined in the direct direction.}
 \end{tabular}
@@ -134,7 +134,7 @@
 
 \begin{tabular}{lll}%
 \toprule
-arguments             & example & explication                         \\
+arguments             & example & explanation                         \\
 \midrule
 \TAline{\parg{pt1,pt2}}{\parg{A,B}}{If C and D are created then $AB/BC=\Phi$.}
  \end{tabular}
@@ -188,7 +188,7 @@
 
 \begin{tabular}{lll}%
 \toprule
-arguments             & example & explication                         \\
+arguments             & example & explanation                         \\
 \midrule
 \TAline{\parg{pt1,pt2}}{\parg{O,A}}{with option "center", $O$ is the center of the polygon.}
 \TAline{\parg{pt1,pt2}}{\parg{A,B}}{with option "side", $[AB]$ is a side.}

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-presentation.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -120,13 +120,17 @@
 
 \subsubsection{Complete code with \pkg{tkz-euclide}}
 
-\colorlet{input}{red!80!black} 
-\colorlet{output}{red!70!black}
-\colorlet{triangle}{orange!40}  
+We need to define colors 
 
+|\colorlet{input}{red!80!black} |\\
+|\colorlet{output}{red!70!black}|\\
+|\colorlet{triangle}{orange!40}  |
 
 
 \begin{tkzexample}[vbox,small]
+  \colorlet{input}{red!80!black} 
+  \colorlet{output}{red!70!black}
+  \colorlet{triangle}{orange!40}
   \begin{tikzpicture}[scale=1.25,thick,help lines/.style={thin,draw=black!50}]
   \tkzDefPoint(0,0){A}     
   \tkzDefPoint(1.25+rand(),0.25+rand()){B}      
@@ -226,38 +230,39 @@
 
 \medskip
 There are no more difficulties. Here the final code with some simplications.
-Nous tracons le cercle   $\mathcal{K}$ de centre $D$ et passant par $G$. Il coupe la droite $AD$ au point $L$. $AL = BC$.
+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}|}
 
-\begin{tkzexample}[vbox,small]
-  \begin{tikzpicture}[scale=2]
-  \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}
-  \tkzDrawCircles(B,C D,G)
-  \tkzDrawLines[add=0 and 2](D,A D,B)
-  \tkzDrawSegment(A,B) 
-  \tkzDrawSegments[red](A,L B,C) 
-  \tkzDrawPoints[red](D,L,G)
-  \tkzDrawPoints[fill=gray](A,B,C)
-  \tkzLabelPoints[left,red](A)
-  \tkzLabelPoints[below right,red](L)
-  \tkzLabelCircle[above left=6pt](B,G)(180){$\mathcal{H}$}
-  \tkzLabelPoints[above left](D,G)
-  \tkzLabelPoints[above,red](C)
-  \tkzLabelPoints[right,red](B)
-  \tkzLabelCircle[above left=6pt](D,G)(180){$\mathcal{K}$}
-  \end{tikzpicture}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=1.5]
+\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}
+\tkzDrawCircles(B,C D,G)
+\tkzDrawLines[add=0 and 2](D,A D,B)
+\tkzDrawSegment(A,B) 
+\tkzDrawSegments[red](A,L B,C) 
+\tkzDrawPoints[red](D,L,G)
+\tkzDrawPoints[fill=gray](A,B,C)
+\tkzLabelPoints[left,red](A)
+\tkzLabelPoints[below right,red](L)
+\tkzLabelCircle[above=12pt](B,G)(90){$\mathcal{H}$}
+\tkzLabelPoints[above left](D)
+\tkzLabelPoints[below](G)
+\tkzLabelPoints[above,red](C)
+\tkzLabelPoints[right,red](B)
+\tkzLabelCircle[above=12pt](D,G)(90){$\mathcal{K}$}
+\end{tikzpicture}
 \end{tkzexample}
 
 \subsection{\tkzname{\tkznameofpack 4}   vs \tkzname{\tkznameofpack 3}}
 
-Now I am no longer a Mathematics teacher, and I only spend a few hours studying geometry. I wanted to avoid multiple complications by trying to make \tkzname{tkz-euclide} independent of \tkzname{tkz-base}. Thus was born \tkzname{\tkznameofpack} 4. The latter is a simplified version of its predecessor. The macros of \tkzname{tkz-euclide 3} have been retained. The unit is now  \tkzname{cm}.  Si vous avez besoin de certaines macros de  \tkzname{tkz-base}, il vous faudra sans doute utiliser la macro \tkzcname{tkzInit}.
+Now I am no longer a Mathematics teacher, and I only spend a few hours studying geometry. I wanted to avoid multiple complications by trying to make \tkzname{tkz-euclide} independent of \tkzname{tkz-base}. Thus was born \tkzname{\tkznameofpack} 4. The latter is a simplified version of its predecessor. The macros of \tkzname{tkz-euclide 3} have been retained. The unit is now  \tkzname{cm}.  If you need some macros from \tkzname{tkz-base}, you may need to use the \tkzcname{tkzInit}.
 
 \subsection{How to use the \tkzname{\tkznameofpack} package ?}
 \subsubsection{Let's look at a classic example}
@@ -569,7 +574,7 @@
    \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}
+   \tkzInterLC(I,H)(M,B)             \tkzGetFirstPoint{C}
    \tkzDrawSegment[style=orange](I,C)
    \tkzDrawArc(M,B)(A)
    \tkzDrawSegment[dim={$1$,-16pt,}](A,I)

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-rnd.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -29,151 +29,49 @@
 \end{tabular}
 \end{NewMacroBox} 
 
-\subsection{Random point in a rectangle} 
+\subsubsection{Random point in a rectangle} 
 
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}
-  \tkzInit[xmax=5,ymax=5]\tkzGrid
-  \tkzDefPoints{0/0/A,2/2/B,5/5/C}
-  \tkzDefRandPointOn[rectangle = A and B]
-  \tkzGetPoint{a}
-  \tkzDefRandPointOn[rectangle = B and C]
-  \tkzGetPoint{d}
-  \tkzDrawLine(a,d)
-  \tkzDrawPoints(A,B,C,a,d) 
-  \tkzLabelPoints(A,B,C,a,d)  
+  \tkzDefPoints{0/0/A,5/3/C}
+  \tkzDefRandPointOn[rectangle = A and C]
+  \tkzGetPoint{E}
+  \tkzDefRectangle(A,C)\tkzGetPoints{B}{D}
+  \tkzDrawPolygon[red](A,...,D)
+  \tkzDrawPoints(A,...,E) 
+  \tkzLabelPoints(A,...,E)  
 \end{tikzpicture} 
 \end{tkzexample} 
 
-\subsection{Random point on a segment}  
+\subsubsection{Random point on a segment or a line}  
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}  
-  \tkzInit[xmax=5,ymax=5] \tkzGrid 
-  \tkzDefPoints{0/0/A,2/2/B,3/3/C,5/5/D}  
-  \tkzDefRandPointOn[segment = A--B]\tkzGetPoint{a}
-  \tkzDefRandPointOn[segment = C--D]\tkzGetPoint{d}
-  \tkzDrawPoints(A,B,C,D,a,d) 
-  \tkzLabelPoints(A,B,C,D,a,d)
+  \tkzDefPoints{0/0/A,5/2/C}  
+  \tkzDefRandPointOn[segment = A--C]\tkzGetPoint{B}
+  \tkzDrawLine(A,C)
+  \tkzDrawPoints(A,C) \tkzDrawPoint[red](B)
+  \tkzLabelPoints(A,C) \tkzLabelPoints[red](B) 
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Random point on a straight line}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}
-  \tkzInit[xmax=5,ymax=5] \tkzGrid
-  \tkzDefPoints{0/0/A,2/2/B,3/3/C,5/5/D}  
-  \tkzDefRandPointOn[line = A--B]\tkzGetPoint{E}
-  \tkzDefRandPointOn[line = C--D]\tkzGetPoint{F}
-  \tkzDrawPoints(A,...,F)
-  \tkzLabelPoints(A,...,F)
-\end{tikzpicture}
-\end{tkzexample}
 
-
-
-
-\subsubsection{Random point on a circle}
+\subsubsection{Random point on a circle or a disk}
 \begin{tkzexample}[latex=7cm,small]
 \begin{tikzpicture}
-\tkzInit[ymin=-1,xmax=6,ymax=5] \tkzGrid 
 \tkzDefPoints{3/2/A,1/1/B}
 \tkzCalcLength(A,B) \tkzGetLength{rAB} 
 \tkzDefRandPointOn[circle = center A radius \rAB] 
-\tkzGetPoint{a}
+\tkzGetPoint{C}
 \tkzDefRandPointOn[circle through= center A through B]
-\tkzGetPoint{b}
+\tkzGetPoint{D}
 \tkzDefRandPointOn[disk through=center A through B]
-\tkzGetPoint{c}
+\tkzGetPoint{E}
 \tkzDrawCircle[R](A,\rAB)
-\tkzDrawSegment(A,a)
-\tkzDrawPoints(A,B,a,b,c)
-\tkzLabelPoints(A,B,a,b,c)
+\tkzDrawPoints(A,B)
+\tkzLabelPoints(A,B)
+\tkzDrawPoints[red](C,D,E)
+\tkzLabelPoints[red](C,D,E)
 \end{tikzpicture}
 \end{tkzexample}
-
-\subsubsection{Random example and circle of Apollonius}
-\begin{tkzexample}[latex=7cm,small]
-\begin{tikzpicture}[scale=1]
- \tkzDefPoints{0/0/A,3/0/B}
- \def\coeffK{2}
- \tkzApolloniusCenter[K=\coeffK](A,B) 
- \tkzGetPoint{P}
- \tkzDefApolloniusPoint[K=\coeffK](A,B) 
- \tkzGetPoint{M}
- \tkzDefRandPointOn[circle through=%
-                center P through M]
- \tkzGetPoint{N}
- \tkzDefApolloniusRadius[K=\coeffK](A,B)
- \tkzDrawCircle[R,color = blue!50!black,
-     fill=blue!20,
-     opacity=.4](tkzPointResult,\tkzLengthResult)
- \tkzLabelCircle[R,draw,fill=green!10,%
-     text width=3cm,%
-     text centered](P,\tkzLengthResult+1)(-120)%
-  { $MA/MB=\coeffK$\\$NA/NB=\coeffK$}
- \tkzDrawPoints(A,B,P,M,N)
- \tkzLabelPoints(A,B,P,M,N)
- \tkzDrawSegments[red](N,A N,B)
- \tkzDrawPoints(A,B)
- \tkzDrawSegments[red](A,B)
-\end{tikzpicture}
-\end{tkzexample}
-
-
-
-\subsection{Middle of a compass segment}
- To conclude this section, here is a more complex example. It involves determining the middle of a segment, using only a compass. 
-
-\begin{tikzpicture}
-  \tkzDefPoint(0,0){A}
-  \tkzDefRandPointOn[circle= center A radius 4]
-  \tkzGetPoint{B}
-  \tkzDefPointBy[rotation= center A angle 180](B) 
-  \tkzGetPoint{C}
-  \tkzInterCC[R](A,4)(B,4)
-  \tkzGetPoints{I}{I'}
-  \tkzInterCC[R](A,4)(I,4)
-  \tkzGetPoints{J}{B}
-  \tkzInterCC(B,A)(C,B)
-  \tkzGetPoints{D}{E}
-  \tkzInterCC(D,B)(E,B)
-  \tkzGetPoints{M}{M'}
-  \tkzSetUpArc[color=teal,style=dashed,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[style=solid](B,I I,J J,C)
-  \tkzDrawPoints(A,B,C,D,E,M)
-  \tkzLabelPoints(A,B,M)
- \end{tikzpicture}
- 
-\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[R](A,4)(B,4)
-  \tkzGetPoints{I}{I'}
-  \tkzInterCC[R](A,4)(I,4)
-  \tkzGetPoints{J}{B}
-  \tkzInterCC(B,A)(C,B)
-  \tkzGetPoints{D}{E}
-  \tkzInterCC(D,B)(E,B)
-  \tkzGetPoints{M}{M'}
-  \tkzSetUpArc[ccolor=teal,style=dashed,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}
    
 \endinput
\ No newline at end of file

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-styles.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -50,7 +50,7 @@
 \subsubsection{Global style or local style}
 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. Il sera possible d'utiliser un autre style locallement en utilisant cette commande au sein d'un environnement \tkzNameEnv{tikzpicture}.\\ Let's look at this possibility.
+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}
@@ -330,4 +330,176 @@
 \end{tikzpicture}
 \end{tkzexample}
 
+\section{How to use \tkzname{arrows}}
+
+In some countries, arrows are used to indicate the parallelism of lines,
+to represent half-lines or the sides of an angle (rays).
+
+Here are some examples of how to place these arrows.
+\tkzname{ tkz-euclide} loads a library called \tkzname{arrows.meta}.
+ 
+|\usetikzlibrary{arrows.meta}|
+
+This  library is used to produce different styles of arrow heads. The next examples use some of them. 
+
+\subsection{Arrows at endpoints on segment, ray or line}
+\tkzname{Stealth}, \tkzname{Triangle}, \tkzname{To}, \tkzname{Latex} and \dots  which can be combined with \tkzname{reversed}. That's easy to place an arrow at one or two endpoints.
+
+\begin{enumerate}
+\item \tkzname{Triangle} and \tkzname{Ray}
+ \begin{tkzexample}[latex=6cm,small]
+    \begin{tikzpicture}
+      \tkzDefPoints{0/0/A,4/0/B}
+      \tkzDrawSegment[-Triangle](A,B)
+    \end{tikzpicture}
+  \end{tkzexample}
+\item \tkzname{Stealth} and \tkzname{Segment}
+  \begin{tkzexample}[latex=6cm,small]
+    \begin{tikzpicture}
+      \tkzDefPoints{0/0/A,4/0/B}
+      \tkzDrawSegment[Stealth-Stealth](A,B)
+    \end{tikzpicture}
+  \end{tkzexample}
+\item \tkzname{Latex}   and \tkzname{Line}
+  \begin{tkzexample}[latex=6cm,small]
+    \begin{tikzpicture}
+      \tkzDefPoints{0/0/A,4/0/B}
+      \tkzDrawLine[red,Latex-Latex](A,B)
+      \tkzDrawPoints(A,B)
+    \end{tikzpicture}
+  \end{tkzexample}
+\item \tkzname{To} and \tkzname{Segment}
+  \begin{tkzexample}[latex=6cm,small]
+    \begin{tikzpicture}
+      \tkzDefPoints{0/0/A,4/0/B}
+      \tkzDrawSegment[To-To](A,B)
+    \end{tikzpicture}
+  \end{tkzexample}
+\item \tkzname{Latex}  and \tkzname{Segment}
+  \begin{tkzexample}[latex=6cm,small]
+    \begin{tikzpicture}
+      \tkzDefPoints{0/0/A,4/0/B}
+      \tkzDrawSegment[Latex-Latex](A,B)
+    \end{tikzpicture}
+  \end{tkzexample}
+\item \tkzname{Latex}  and \tkzname{Ray}
+  \begin{tkzexample}[latex=6cm,small]
+    \begin{tikzpicture}
+      \tkzDefPoints{0/0/A,4/0/B}
+      \tkzDrawSegment[Latex-](A,B)
+    \end{tikzpicture}
+  \end{tkzexample}
+\item \tkzname{Latex}  and \tkzname{Several rays}
+  \begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,4/0/B,5/-2/C}
+ \tkzDrawSegments[-Latex](A,B A,C)
+\end{tikzpicture}
+\end{tkzexample}
+\end{enumerate}
+
+\subsubsection{Scaling an arrow head}
+
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,4/0/B}
+ \tkzDrawSegment[{Latex[scale=2]}-{Latex[scale=2]}](A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Using vector style}
+|\tikzset{vector style/.style={>=Latex,->}}|
+
+You can redefine this style.
+\begin{tkzexample}[latex=6cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,4/0/B}
+\tkzDrawSegment[vector style](A,B)
+\end{tikzpicture}
+\end{tkzexample}
+  
+\subsection{Arrows on  middle point of a line segment}
+
+Arrows on lines are used to indicate that those lines are parallel. It depends on the country, in France we prefer to indicate outside the figure that $(A,B) \parallel (D,C)$. The code is an adaptation of an answer by \tkzname{muzimuzhi Z} on the site \href{https://tex.stackexchange.com/questions/632596/how-to-manage-argument-pattern-keys-and-subways}{tex.stackexchange.com}.
+
+\medskip
+ Syntax: \\
+
+ \begin{itemize}
+\item |tkz arrow| (\tkzname{Latex} by default)
+\item |tkz arrow=<arrow end tip>|
+\item |tkz arrow=<arrow end tip> at <pos> (<pos> = .5 by default)|
+\item |tkz arrow={<arrow end tip>[<arrow options>] at <pos>}| option possible \tkzname{scale}
+ \end{itemize}
+
+Example usages: \\
+
+|\tkzDrawSegment[tkz arrow=Stealth] (A,B)|\\
+|\tkzDrawSegment[tkz arrow={To[scale=3] at .4}](A,B)|\\
+|\tkzDrawSegment[tkz arrow={Latex[scale=5,blue] at .6}](A,B)|
+
+\subsubsection{In a parallelogram}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,3/0/B,4/2/C} 
+ \tkzDefParallelogram(A,B,C) 
+ \tkzGetPoint{D}
+ \tkzDrawSegments[tkz arrow](A,B D,C)
+ \tkzDrawSegments(B,C D,A)
+ \tkzLabelPoints(A,B) 
+ \tkzLabelPoints[above right](C,D)
+ \tkzDrawPoints(A,...,D)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{A line parallel to another one}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,3/0/B,1/2/C} 
+ \tkzDefPointWith[colinear= at C](A,B) 
+ \tkzGetPoint{D}
+ \tkzDrawSegments[tkz arrow=Triangle](A,B C,D)
+ \tkzLabelPoints(A,B,C) 
+ \tkzDrawPoints(A,...,C)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Arrow on a circle}
+It is possible to place an arrow on the first quarter of a circle. A rotation allows you to move the arrow.
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+\tkzDefPoints{0/0/A,3/0/B} 
+\begin{scope}[rotate=150]
+ \tkzDrawCircle[tkz arrow={Latex[scale=2,red]}](A,B)
+\end{scope}
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsection{Arrows on  all segments of a polygon}
+Some users of my package have asked me to be able to place an arrow on each side of a polygon. I used a style proposed by Paul Gaborit on the site 
+\href{https://tex.stackexchange.com/questions/3161/tikz-how-to-draw-an-arrow-in-the-middle-of-the-line}{tex.stackexchange.com}.
+
+|\tikzset{tkz arrows/.style=|\\
+|{postaction={on each path={tkz arrow={Latex[scale=2,color=black]}}}}}|   
+
+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}  
+ \tkzDefSquare(A,B) \tkzGetPoints{C}{D}
+ \tkzDrawPolygon[tkz arrows](A,...,D)
+\end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{Using \tkzname{tkz arrows} with a circle}
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,3/0/B} 
+ \tkzDrawCircle[tkz arrows](A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
 \endinput
\ No newline at end of file

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-tools.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -9,7 +9,7 @@
 \medskip  
 \begin{tabular}{lll}%
 \toprule
-arguments             & example & explication                         \\ 
+arguments             & example & explanation                         \\ 
 
 \midrule
 \TAline{(pt1,pt2)(pt3,pt4)\{pt5\}} {\tkzcname{tkzDuplicateSegment}(A,B)(E,F)\{C\}}{AC=EF and $C \in [AB)$} \\  
@@ -90,7 +90,7 @@
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments    & example & explication       \\
+arguments    & example & explanation       \\
 \midrule
 \TAline{(pt1,pt2)\{name of macro\}} {\tkzcname{tkzCalcLength}[pt](A,B)}{\tkzcname{dAB} gives $AB$ in pt}
 \bottomrule
@@ -153,15 +153,15 @@
 \subsection{Transformation from pt to cm or cm to pt}
 Not sure if this is necessary and it is only a division by 28.45274 and a multiplication by the same number. The macros are:
 
-\begin{NewMacroBox}{tkzpttocm}{\parg{nombre}\marg{name of macro}}%
+\begin{NewMacroBox}{tkzpttocm}{\parg{number}\marg{name of macro}}%
 The result is stored in a macro.
 
 \medskip
 \begin{tabular}{lll}%
 \toprule
-arguments             & example & explication                         \\
+arguments             & example & explanation                         \\
 \midrule
-\TAline{(nombre){name of macro}} {\tkzcname{tkzpttocm}(120)\{len\}}{\tkzcname{len} donne un nombre de tkzname{cm}}
+\TAline{(number)\{name of macro\}} {\tkzcname{tkzpttocm}(120)\{len\}}{\tkzcname{len} gives a number of tkzname{cm}}
 \bottomrule
 \end{tabular}
 
@@ -170,15 +170,15 @@
 \end{NewMacroBox}
 
 \subsection{Change of unit} 
-\begin{NewMacroBox}{tkzcmtopt}{\parg{nombre}\marg{name of macro}}%
+\begin{NewMacroBox}{tkzcmtopt}{\parg{number}\marg{name of macro}}%
 The result is stored in a macro.
 
 \medskip
 \begin{tabular}{lll}
 \toprule
-arguments             & example & explication                         \\
+arguments             & example & explanation                         \\
 \midrule
-\TAline{(nombre)\{name of macro\}}{\tkzcname{tkzcmtopt}(5)\{len\}}{\tkzcname{len} longueur en \tkzname{pts}}
+\TAline{(number)\{name of macro\}}{\tkzcname{tkzcmtopt}(5)\{len\}}{\tkzcname{len} length in \tkzname{pts}}
 \bottomrule
 \end{tabular}
 
@@ -197,7 +197,7 @@
 %<--------------------------------------------------------------------------–>
 \begin{NewMacroBox}{tkzGetPointCoord}{\parg{$A$}\marg{name of macro}}%
 \begin{tabular}{lll}%
-arguments             & example & explication                         \\
+arguments             & example & explanation                         \\
 \midrule
 \TAline{(point)\{name of macro\}} {\tkzcname{tkzGetPointCoord}(A)\{A\}}{\tkzcname{Ax} and \tkzcname{Ay} give coordinates for $A$}
 \end{tabular}
@@ -237,4 +237,26 @@
   \tkzDrawSegment[->,purple](b,c)
 \end{tikzpicture}
 \end{tkzexample}
+
+\subsection{Swap labels of points}
+
+\begin{NewMacroBox}{tkzSwapPoints}{\parg{$pt1$,$pt2$}}%
+\begin{tabular}{lll}%
+arguments             & example & explanation                         \\
+\midrule
+\TAline{(pt1,pt2)} {\tkzcname{tkzSwapPoints}(A,B)}{now $A$ has the coordinates of $B$ }
+\end{tabular}
+
+\emph{The points have exchanged their coordinates.}
+\end{NewMacroBox}
+\subsubsection{Example}
+
+\begin{tkzexample}[width=6cm,small]
+\begin{tikzpicture}
+  \tkzDefPoints{0/0/O,5/-1/A,2/2/B}
+   \tkzSwapPoints(A,B)
+   \tkzDrawPoints(O,A,B)
+   \tkzLabelPoints(O,A,B)
+\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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-triangles.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -163,18 +163,17 @@
 \end{tkzexample}
 
 \subsubsection{Option \tkzname{gold} }
-\begin{tkzexample}[latex=7 cm,small]
+\begin{tkzexample}[latex=6 cm,small]
 \begin{tikzpicture}
-  \tkzDefPoints{0/0/A,4/0/B} 
-  \tkzDefTriangle[gold](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){$36^\circ$}
- \tkzLabelAngle[pos=0.8](C,B,A){$72^\circ$}
- \tkzLabelAngle[pos=0.8](A,C,B){$72^\circ$}
+ \tkzDefPoints{0/0/A,4/0/B} 
+ \tkzDefTriangle[gold](A,B)
+ \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$}
 \end{tikzpicture}
 \end{tkzexample}
 
@@ -196,7 +195,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\section{Specific triangles with \tkzcname{tkzDefSpcTriangle}}
+\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.
 
@@ -227,7 +226,7 @@
 
 \end{NewMacroBox}
 
-\subsection{How to name the vertices}
+\subsubsection{How to name the vertices}
 
 With \tkzcname{tkzDefSpcTriangle[medial,name=M](A,B,C)\{\_A,\_B,\_C\}} you get three vertices named $M_A$, $M_B$ and $M_C$.
 
@@ -260,7 +259,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Option \tkzname{in} or \tkzname{incentral} }
+\subsubsection{Option \tkzname{in} or \tkzname{incentral} }
 
 The incentral triangle is the triangle whose vertices are determined by
 the intersections of the reference triangle’s angle bisectors with the
@@ -286,7 +285,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Option \tkzname{ex} or \tkzname{excentral} }
+\subsubsection{Option \tkzname{ex} or \tkzname{excentral} }
 
 The excentral triangle of a triangle $ABC$ is the triangle $J_aJ_bJ_c$ with vertices corresponding to the excenters of $ABC$.
 
@@ -308,7 +307,7 @@
 \end{tkzexample}
 
 
-\subsection{Option \tkzname{intouch} or \tkzname{contact}}
+\subsubsection{Option \tkzname{intouch} or \tkzname{contact}}
 The contact triangle of a triangle $ABC$, also called the intouch triangle, is the triangle  formed by the points of tangency of the incircle of $ABC$ with $ABC$.\\
 \href{http://mathworld.wolfram.com/ContactTriangle.html}{Weisstein, Eric W. "Contact triangle" From MathWorld--A Wolfram Web Resource.}
 
@@ -330,11 +329,11 @@
 \end{tikzpicture} 
 \end{tkzexample}
 
-\subsection{Option \tkzname{extouch}}
+\subsubsection{Option \tkzname{extouch}}
 The extouch triangle  $T_aT_bT_c$ is the triangle formed by the points of tangency of a triangle $ABC$ with its excircles $J_a$, $J_b$, and $J_c$. The points  $T_a$, $T_b$, and $T_c$ can also be constructed as the points which bisect the perimeter of $A_1A_2A_3$ starting at $A$, $B$, and $C$.\\
 \href{http://mathworld.wolfram.com/ExtouchTriangle.html}{Weisstein, Eric W. "Extouch triangle" From MathWorld--A Wolfram Web Resource.}
 
-We obtain the points of contact of the exinscribed circles as well as the triangle formed by the centres of the exinscribed circles.
+We obtain the points of contact of the exinscribed circles as well as the triangle formed by the centers of the exinscribed circles.
 
 \begin{tkzexample}[latex=8cm,small]
 \begin{tikzpicture}[scale=.7]
@@ -365,7 +364,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Option \tkzname{orthic}}
+\subsubsection{Option \tkzname{orthic}}
 
 Given a triangle $ABC$, the triangle $H_AH_BH_C$ whose vertices are endpoints of the altitudes from each of the vertices of ABC is called the orthic triangle, or sometimes the altitude triangle. The three lines $AH_A$, $BH_B$, and $CH_C$ are concurrent at the orthocenter H of ABC.
 
@@ -395,7 +394,7 @@
 \end{tikzpicture}
 \end{tkzexample}
     
-\subsection{Option \tkzname{feuerbach}}
+\subsubsection{Option \tkzname{feuerbach}}
 The Feuerbach triangle is the triangle formed by the three points of tangency of the nine-point circle with the excircles.\\
 \href{http://mathworld.wolfram.com/FeuerbachTriangle.html}{Weisstein, Eric W. "Feuerbach triangle" From MathWorld--A Wolfram Web Resource.}
 
@@ -426,7 +425,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Option   \tkzname{tangential}} 
+\subsubsection{Option   \tkzname{tangential}} 
 The tangential triangle is the triangle $T_aT_bT_c$ formed by the lines tangent to the circumcircle of a given triangle $ABC$ at its vertices. It is therefore antipedal triangle of $ABC$ with respect to the circumcenter $O$.\\ 
 \href{http://mathworld.wolfram.com/TangentialTriangle.html}{Weisstein, Eric W. "Tangential Triangle." From MathWorld--A Wolfram Web Resource. }
 
@@ -448,7 +447,7 @@
 \end{tikzpicture} 
 \end{tkzexample} 
 
-\subsection{Option   \tkzname{euler}} 
+\subsubsection{Option   \tkzname{euler}} 
 The Euler triangle of a triangle $ABC$ is the triangle $E_AE_BE_C$ whose vertices are the midpoints of the segments joining the orthocenter $H$ with the respective vertices. The vertices of the triangle are known as the Euler points, and lie on the nine-point circle.
 \\
 \href{https://mathworld.wolfram.com/EulerTriangle.html}{Weisstein, Eric W. "Euler Triangle." From MathWorld--A Wolfram Web Resource.} 
@@ -482,7 +481,7 @@
 \end{tikzpicture}
 \end{tkzexample}
 
-\subsection{Option  \tkzname{euler} and Option  \tkzname{orthic}} 
+\subsubsection{Option  \tkzname{euler} and Option  \tkzname{orthic}} 
 \begin{tkzexample}[vbox,small]
   \begin{tikzpicture}[scale=1.25]
     \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
@@ -509,7 +508,7 @@
 \end{tkzexample}
 
 
-\subsection{Option \tkzname{symmedial}}
+\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$. 
 
 \begin{tkzexample}[latex=7cm,small]
@@ -525,5 +524,52 @@
 \tkzLabelPoints[font=\scriptsize](A,B,C,K,K_A,K_B,K_C)
 \end{tikzpicture}
 \end{tkzexample}
- 
+
+\subsection{Permutation of two points of a triangle}
+
+\begin{NewMacroBox}{tkzPermute}{\parg{$pt1$,$pt2$,$pt3$}}%
+\begin{tabular}{lll}%
+arguments             & example & explanation                         \\
+\midrule
+\TAline{(pt1,pt2,pt3)} {\tkzcname{tkzPermute}(A,B,C)}{$A$, $\widehat{B,A,C}$ are unchanged, $B$, $C$ exchange their position}
+\midrule
+\end{tabular}
+
+\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}
+
+If we want the segment $[AC]$ to be on $[A,x)$, we just have to swap $B$ and $C$.
+
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}
+  \tkzDefPoints{0/0/A,4/0/B,6/0/x}
+  \tkzDefTriangle[school](A,B)  
+  \tkzGetPoint{C}
+  \tkzPermute(A,B,C)
+  \tkzDrawSegments(A,B C,x)
+  \tkzDrawSegments(A,C B,C)
+  \tkzDrawPoints(A,B,C)
+  \tkzLabelPoints(A,C,x)
+  \tkzLabelPoints[above](B)
+  \tkzMarkRightAngles(C,B,A)
+\end{tikzpicture}
+\end{tkzexample}
+
+Remark: Only the first point is unchanged. The order of the last two parameters is not important.
+
 \endinput
\ No newline at end of file

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg	2022-02-08 21:50:43 UTC (rev 61948)
@@ -16,9 +16,9 @@
 % and save the file in a directory  part of your TEXINPUTS environment 
 % variable. 
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-euclide.cfg}
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-euclide.cfg}
 %<------   colors  ---------------------------------------–> 
 \def\tkz at backgroundcolor{white}
 \def\tkz at textcolor{black}  
@@ -133,7 +133,8 @@
 \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}%
+                              add        = {\tkz at euc@lineleft} and    {\tkz at euc@lineright},
+                              line cap   = round
                              }
         }
 \tikzset{label seg style/.style = {color      = \tkz at mainlinecolor,
@@ -178,9 +179,79 @@
                                         fill        =   \tkz at fillcolor,
                                         left        =   3pt}
                                         }  
+%
+%<---------------------------  arrow --------------------------------------–>
+% Syntax:
+%
+%  - tkz arrow=<arrow end tip>`
+%  - tkz arrow=<arrow end tip> at <pos> (<pos> = .5 by default)
+%  - tkz arrow={<arrow end tip>[<arrow options>] at <pos>}
+%
+%
+% Example usages:
+%
+% \draw[tkz arrow=Stealth] (A) -- (B);
+% \draw[tkz arrow={To[scale=3] at .3}] (A)-- (B);
+% \draw[tkz arrow={Latex[scale=5,blue] at .8}] (A)-- (B);
+
+\tikzset{
+tkz arrow/.default=Latex,
+  tkz arrow/.code=%
+  {%
+    \pgfutil at in@{ at }{#1}%
+    \ifpgfutil at in@
+      \mytikz at parsearrow#1\mytikz at stop
+    \else
+      \mytikz at parsearrow#1 at .5\mytikz at stop
+    \fi
+  }
+}
+\def\mytikz at parsearrow#1 at #2\mytikz at stop{%
+  \pgfutil at in@{[}{#1}%
+  \ifpgfutil at in@
+    \mytikz at parsearrow@opt{#2}#1\mytikz at stop
+  \else
+    \mytikz at parsearrow@opt{#2}#1[]\mytikz at stop
+  \fi
+}
+
+% #1 = pos, #2 = arrow end tip, #3 = arrow options
+\def\mytikz at parsearrow@opt#1#2[#3]\mytikz at stop{%
+  \pgfkeysalso{decoration={
+      markings,
+      mark=at position #1 with {\arrow[#3]{#2}}
+    },
+    postaction={decorate}
+  }%
+}
+%<------------------------------------------------------------------------->
+\tikzset{
+   on each path/.style={
+    decorate,
+    decoration={
+      show path construction,
+      moveto code={},
+      lineto code={
+        \path [#1]
+        (\tikzinputsegmentfirst) -- (\tikzinputsegmentlast);
+      },
+      curveto code={
+        \path [#1] (\tikzinputsegmentfirst)
+        .. controls
+        (\tikzinputsegmentsupporta) and (\tikzinputsegmentsupportb)
+        ..
+        (\tikzinputsegmentlast);
+      },
+      closepath code={
+        \path [#1]
+        (\tikzinputsegmentfirst) -- (\tikzinputsegmentlast);
+      }}}}
+ %<---------------------------  arrows --------------------------------------–>          
+\tikzset{tkz arrows/.style=%
+{postaction={on each path={tkz arrow={Latex[scale=2,color=black]}}}}}   
 %<---------------------------  vector --------------------------------------–>
-\tikzset{vector style/.style={>=latex,->}
-}
+\tikzset{vector style/.style={>=Latex,->}}
+%<---------------------------  tkzdotted --------------------------------------–>
 \tikzset{tkzdotted/.style={%
     dash pattern=on 0.4\pgflinewidth off #1\pgflinewidth,line cap=round, shorten >=#1\pgflinewidth/2,shorten <=#1\pgflinewidth/2,
     tkzdotted/.default=8}}

Modified: trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty	2022-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,11 +10,11 @@
 % The Current Maintainer of this work is Alain Matthes.
 
 %<------------------------------------------------------------>
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03  tkz-euclide.sty} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b  tkz-euclide.sty} 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tkz-euclide}[ 2022/01/19 4.03 for pure  Euclidean Geometry ]
+\ProvidesPackage{tkz-euclide}[ 2022/02/07 4.05b for pure  Euclidean Geometry ]
 
 \@ifpackageloaded{tkz-base}{
 \newdimen\tkzRadius
@@ -23,6 +23,7 @@
 \newif\iftkz at line@normed
 \newif\ifnormtkzcode at execute% german ? right angle
 \newif\iftkz at swap@sc%---------------------- semi circle
+\newif\iftkz at swap@tr
 }{
 \RequirePackage{tikz} 
 \usetikzlibrary{angles,
@@ -64,6 +65,16 @@
 \newif\iftkz at vec@normed
 %--------------------- lines
 \newif\iftkz at line@normed
+%--------------------- circles
+\newif\iftkzClipOutCircle 
+%--------------------- polygons
+\newif\iftkzClipOutPoly
+%--------------------- triangles
+\newif\iftkz at swap@tr
+\newif\iftkz at permute
+%--------------------- intersections
+\newif\iftkzFlagLC\tkzFlagLCfalse
+\newif\iftkzFlagCC\tkzFlagCCfalse
 %--------------------- tkz axis
 \newif\iftkz at X@noticks
 \newif\iftkz at Y@noticks
@@ -76,6 +87,7 @@
 \newif\iftkz at np 
 \newif\iftkz at swap
 \newif\iftkz at init@NO
+\newif\iftkz at integer
 \newif\iftkz at Rep@orig%--------------------- Rep
 \newif\iftkzLengthIncm%--------------------- Math
 \newif\iftkz at sop@show%--------------------- marks

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-lib-eu-marks.tex}   
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-lib-eu-marks.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %  Création des symboles

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-lib-eu-shape.tex}   
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b 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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,22 +10,21 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-axesmin}   
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-eu-axesmin}   
 
 \makeatletter
-\newif\ifinteger
 \def\removedot#1.{#1}
 \newcommand\tkzgetinteger[1]{\expandafter\tkz at getinteger#1.\@nil}
 \def\tkz at getinteger#1.#2\@nil{%
   \ifx\empty#2\empty
-    \integertrue
+    \tkz at integertrue
   \else
   \ifnum\removedot#2=0   
-    \integertrue
+    \tkz at integertrue
    \else 
-     \integerfalse
+     \tkz at integerfalse
    \fi
   \fi
 }

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-circles.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-eu-circles.tex} 
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %            tkzCircle center and one point 

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-circles.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-eu-circles.tex} 
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %            tkzCircle center and one point 

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-compass.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-compass.tex}  
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-eu-compass.tex}  
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %  Author Alain Matthes  

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-angles.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-tool-eu-angles.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-tool-eu-angles.tex} 
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %                    tkzSetUpArc  
@@ -202,7 +202,7 @@
      color               = teal!20,
      size                = 4pt,
      pos                 = .5,
-     mark                = |,
+     mark                = none,
     /@tkzmarkarc/.search also={/tikz},
 }
 \def\tkzMarkArc{\pgfutil at ifnextchar[{\tkz at MarkArc}{\tkz at MarkArc[]}}   
@@ -209,18 +209,18 @@
 \def\tkz at MarkArc[#1](#2,#3,#4){% 
 \begingroup
  \pgfqkeys{/@tkzmarkarc}{#1} \def\tkz at mymarkarc{\pgfsetplotmarksize{\tkz at mkarcsize}\pgfuseplotmark{\tkz at markarcseg}}
-  \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 
+\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%
@@ -232,11 +232,10 @@
  \edef\tkz at FirstAngle{\pgfmathresult}%
  \pgfmathadd{\tkz at SecondAngle}{\tkz at delta}
  \edef\tkz at SecondAngle{\pgfmathresult} 
-      \begin{scope}[decoration={markings,
-        mark=at position \tkz at mkarcpos with {\tkz at mymarkarc}}]     
-        \path[shift = {(#2)},\tkz at mkcolor,/@tkzmarkarc/.cd,#1,postaction={decorate}]%
-         (\tkz at FirstAngle:\tkz at radius pt) arc (\tkz at FirstAngle:\tkz at SecondAngle:\tkz at radius pt);
-      \end{scope}
+\begin{scope}[decoration={markings,mark=at position \tkz at mkarcpos with {\tkz at mymarkarc}}]     
+\path[shift = {(#2)},\tkz at mkcolor,/@tkzmarkarc/.cd,#1,postaction={decorate}]%
+(\tkz at FirstAngle:\tkz at radius pt) arc (\tkz at FirstAngle:\tkz at SecondAngle:\tkz at radius pt);
+\end{scope}
 \endgroup 
 }
 
@@ -243,35 +242,33 @@
 \def\tkzLabelArc{\pgfutil at ifnextchar[{\tkz at LabelArc}{\tkz at LabelArc[]}}
 \def\tkz at LabelArc[#1](#2,#3,#4)#5{%
 \begingroup
- \pgfqkeys{/@tkzmarkarc}{#1}
-  \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}%
+\pgfqkeys{/@tkzmarkarc}{#1}
+\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
- \pgfmathsubtract{\tkz at FirstAngle}{\tkz at delta}
- \edef\tkz at FirstAngle{\pgfmathresult}%
- \pgfmathadd{\tkz at SecondAngle}{\tkz at delta}
- \edef\tkz at SecondAngle{\pgfmathresult} 
-      \begin{scope}[decoration={markings,
-        mark=at position \tkz at mkarcpos with \node{#5};}]
-        \path[shift = {(#2)},/@tkzmarkarc/.cd,#1,postaction={decorate}]%
-  (\tkz at FirstAngle:\tkz at radius pt) arc (\tkz at FirstAngle:\tkz at SecondAngle:\tkz at radius pt);
-      \end{scope}
+\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
+\pgfmathsubtract{\tkz at FirstAngle}{\tkz at delta}
+\edef\tkz at FirstAngle{\pgfmathresult}%
+\pgfmathadd{\tkz at SecondAngle}{\tkz at delta}
+\edef\tkz at SecondAngle{\pgfmathresult} 
+\begin{scope}[decoration={markings,mark=at position \tkz at mkarcpos with \node{#5};}]
+ \path[shift = {(#2)},/@tkzmarkarc/.cd,#1,postaction={decorate}]%
+  (\tkz at FirstAngle:\tkz at radius pt) arc (\tkz at FirstAngle:\tkz at SecondAngle:\tkz at radius pt); \end{scope}
 \endgroup 
 }
 %<--------------------------------------------------------------------------->

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-circles.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-draw-circles.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-eu-draw-circles.tex} 
 \makeatletter 
 
 
@@ -186,7 +186,6 @@
 }
 
 %<--------------------------- Clip Circle  ---------------------------------–>
-\newif\iftkzClipOutCircle 
 \def\tkz at numcc{0}
 \pgfkeys{/tkzclipc/.cd,    
          through/.code           =  \def\tkz at numcoc{0},

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-lines.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-draw-lines.tex}   
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-eu-draw-lines.tex}   
 \makeatletter
 
 \def\tkz at numdl{0}
@@ -20,7 +20,7 @@
    /tkzdrawl/.search also={/tikz}
 } 
 %<--------------------------------------------------------------------------–>
-%            Drawing a line                                                  >
+%            Drawing a line                                                  
 %<--------------------------------------------------------------------------–>
 \def\tkzDrawLine{\pgfutil at ifnextchar[{\tkz at DrawLine}{\tkz at DrawLine[]}}
 \def\tkz at DrawLine[#1](#2,#3){%    
@@ -42,8 +42,7 @@
    \next#2\@nil
 }
 %<--------------------------------------------------------------------------–>
-\def\tkzDrawLines{\pgfutil at ifnextchar[{\tkz at DrawLines}{%
-           \tkz at DrawLines[]}}  
+\def\tkzDrawLines{\pgfutil at ifnextchar[{\tkz at DrawLines}{\tkz at DrawLines[]}}  
 \def\tkz at DrawLines[#1](#2){%
 \xdef\tkz at optline{#1} 
 \begingroup
@@ -107,7 +106,7 @@
 
 \def\tkz at multiDrawSeg#1 #2\@nil{%
  \protected at edef\tkz at temp{
-   \noexpand \tkzDrawSegment[\tkz at optseg](#1)}\tkz at temp%   
+   \noexpand \tkzDrawSegment[\tkz at optseg](#1)}\tkz at temp%
    \def\tkz at nextArg{#2}%
    \ifx\tkzutil at empty\tkz at nextArg
      \let\next\@gobble
@@ -120,7 +119,7 @@
 \def\tkz at optseg{#1} 
 \begingroup
   \let\next\tkz at multiDrawSeg
-  \next#2 \@nil %  
+  \next#2 \@nil %
 \endgroup
 }
 %<--------------------------------------------------------------------------–>

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-polygons.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-eu-polygons.tex} 
 \makeatletter  
 %<--------------------------------------------------------------------------–>
 %                                 Polygon 
@@ -24,7 +24,7 @@
                                          \tkz at DrawPolygon[]}}
 \def\tkz at DrawPolygon[#1](#2,#3){%
  \begingroup
- \draw[line style,#1] (#2)
+ \draw[line style,line join=round,#1] (#2)
      \foreach \pt in {#2,#3}{--(\pt)}--cycle;%
  \endgroup
 } 
@@ -73,7 +73,7 @@
                       {\tkz at DrawRectangle[]}} 
 \def\tkz at DrawRectangle[#1](#2,#3){%
 \begingroup
-   \draw[#1](#2) -| (#3) -| (#2);
+   \draw[line join=round,#1](#2) -| (#3) -| (#2);
 \endgroup
 }
 %<-------------------------- gold rectangle -------------------------------–>
@@ -113,7 +113,6 @@
 %
 %<--------------------------------------------------------------------------–>
 
-\newif\iftkzClipOutPoly% 
 \pgfkeys{tkzclippolygon/.cd,
        out code/.is if         = tkzClipOutPoly,
        out/.code               = \tkzClipOutPolyfalse}   

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”. 
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-draw-triangles.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-eu-draw-triangles.tex} 
 \makeatletter  
 %<--------------------------------------------------------------------------–>
 %                       Draw Triangles
@@ -65,7 +65,7 @@
   \or% 9
    \tkzDefIsoscelesRightTriangle(#2,#3)
 \fi
- \draw[/drawtriangle/.cd,line style,#1] (#2)--(#3)--(tkzPointResult)--cycle;  
+ \draw[/drawtriangle/.cd,line style,line join=round,#1] (#2)--(#3)--(tkzPointResult)--cycle;  
 \endgroup
 }
 

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-grids.tex}   
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b 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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-lines.tex}   
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-eu-lines.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %                          les lignes
@@ -205,12 +205,18 @@
 %<-------------------------------------------------------------------------–> 
 \def\tkzTgtFromP(#1,#2)(#3){%
 \begingroup
+    \tkz@@CalcLengthcm(#1,#2){tkz at radone}
     \tkzDefMidPoint(#1,#3) 
-    \tkz@@CalcLengthcm(#1,#2){tkz at radone}
     \tkz@@CalcLengthcm(tkzPointResult,#1){tkz at radtwo}
     \tkzInterCCR(#1,\tkz at radone)(tkzPointResult,\tkz at radtwo){%
-    tkzFirstPointResult}{%
-    tkzSecondPointResult}%
+    tkzFirstPointResult}{tkzSecondPointResult}%
+    \tkzFindAngle(#3,tkzFirstPointResult,#1)   \tkzGetAngle{tkz at an}
+    \ifdim\tkz at an pt<180 pt\relax%
+    \else
+    \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+    \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+    \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+    \fi
 \endgroup
 } 
 %<-------------------------------------------------------------------------–>  
@@ -221,6 +227,13 @@
     \tkzInterCCR(#1,#2)(tkzPointResult,\tkzLengthResult){%
     tkzFirstPointResult}{%
     tkzSecondPointResult}%
+    \tkzFindAngle(#3,tkzFirstPointResult,#1)   \tkzGetAngle{tkz at an}
+    \ifdim\tkz at an pt<180 pt\relax%
+    \else
+    \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+    \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+    \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+    \fi
 \endgroup
 }
 %<--------------------------------------------------------------------------–>

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-tools-el-points-by.tex}  
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-tools-el-points-by.tex}  
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %                        Transformations Géométriques
@@ -44,9 +44,12 @@
                                                        \def\tkz at numtrsf{7}},
  inversion negative/.code args={center #1 through #2}{ \def\tkzcenter{#1}%
                                                        \def\tkzpoint{#2}%
-                                                       \def\tkz at numtrsf{8}}                                                   
-% inversion négative ?                                 
-} 
+                                                       \def\tkz at numtrsf{8}},
+ rotation with nodes/.code  args={center #1 from #2 to #3}{  \def\tkzcenter{#1}%
+                                                            \def\tkzfrom{#2}%
+                                                            \def\tkzto{#3}%
+                                                            \def\tkz at numtrsf{9}}
+}
 %<--------------------------------------------------------------------------–>
 \def\tkzDefPointBy{\pgfutil at ifnextchar[{\tkz at DefPointBy}{\tkz at DefPointBy[]}}
 \def\tkz at DefPointBy[#1](#2){% 
@@ -71,7 +74,9 @@
    \tkzUInversePoint(\tkzcenter,\tkzpoint)(#2)     
 \or% 8
    \tkzUInverseNegativePoint(\tkzcenter,\tkzpoint)(#2)   
-\fi    
+\or% 9
+   \tkzURotateWithNodes(\tkzcenter,\tkzfrom,\tkzto)(#2)
+\fi   
 \endgroup
 }
 %<--------------------------------------------------------------------------–>
@@ -97,7 +102,9 @@
  \or% 7
    \tkzInversePoint(\tkzcenter,\tkzpoint)(#2){#3}    
  \or% 8
-   \tkzInverseNegativePoint(\tkzcenter,\tkzpoint)(#2){#3}  
+   \tkzInverseNegativePoint(\tkzcenter,\tkzpoint)(#2){#3}
+   \or% 9
+ \tkzRotateWithNodes(\tkzcenter,\tkzfrom,\tkzto)(#2){#3}
 \fi    
 \endgroup
 } 
@@ -441,6 +448,7 @@
    }  
 \endgroup
 } 
+%<--------------------------------------------------------------------------–>
 \def\tkzUInverseNegativePoint(#1,#2)(#3){%  
 \begingroup  
    \tkz@@CalcLengthcm(#1,#2){tkz at lna}% 
@@ -449,8 +457,59 @@
    \tkzVecKNorm[\tkz at lnc](#1,#3) 
    \tkzUCSym(#1)(tkzPointResult)
 \endgroup
-} 
+}
 %<--------------------------------------------------------------------------–>
+%<--------------- rotate with nodes                 ------------------------–>
+%<--------------------------------------------------------------------------–>
+\def\tkzRotateWithNodes(#1,#2,#3)(#4)#5{%
+\begingroup
+\gdef\tkz at LastList{#5}
+ \foreach\PointRotWN in {#4}{%
+   \FirstPointInList\tkz at LastList
+   \ifx\tkz at FirstPoint\tkzutil at empty  
+      \def\tkz at pointtsf{\PointRotWN '}
+   \else
+      \def\tkz at pointtsf{\tkz at FirstPoint}
+   \fi 
+   \tkzFindAngle(#2,#1,#3)
+   \tkz@@extractxy{\PointRotWN}
+   \tkz at ax\pgf at x%
+   \tkz at ay\pgf at y%
+   \tkz@@extractxy{#1}
+   \tkz at bx\pgf at x%
+   \tkz at by\pgf at y%
+   \pgfmathrotatepointaround{\pgfpoint{\tkz at ax}{\tkz at ay}}%
+                        {\pgfpoint{\tkz at bx}{\tkz at by}}%
+                        {\tkzAngleResult}
+   \tkz at bx\pgf at x%
+   \tkz at by\pgf at y%
+   \pgfinterruptboundingbox
+   \path[coordinate](\tkz at bx,\tkz at by) coordinate (\tkz at pointtsf);% 
+   \endpgfinterruptboundingbox
+}   
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzURotateWithNodes(#1,#2,#3)(#4){%
+\begingroup 
+  \tkzFindAngle(#2,#1,#3)
+  \pgf at process{\pgfpointanchor{#4}{center}}%
+  \tkz at ax\pgf at x%
+  \tkz at ay\pgf at y%
+  \pgf at process{\pgfpointanchor{#1}{center}}%
+  \tkz at bx\pgf at x%
+  \tkz at by\pgf at y%
+  \pgfmathrotatepointaround{\pgfpoint{\tkz at ax}{\tkz at ay}}%
+                           {\pgfpoint{\tkz at bx}{\tkz at by}}%
+                           {\tkzAngleResult}
+  \tkz at bx\pgf at x%
+  \tkz at by\pgf at y%
+  \pgfinterruptboundingbox
+  \path (\tkz at bx,\tkz at by) coordinate (tkzPointResult);%
+  \endpgfinterruptboundingbox  
+\endgroup
+}   
+%<--------------------------------------------------------------------------–>
 %                   Fin des transformations
 %<--------------------------------------------------------------------------–>
 \makeatother

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-el-points-rnd.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-el-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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-el-points.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-el-points.tex} 
 \makeatletter  
 %add ExCenter
 %<--------------------------------------------------------------------------–>
@@ -81,6 +81,28 @@
 \endgroup
 }
 %<--------------------------------------------------------------------------–>
+\def\tkz at simicenter{0}
+\pgfkeys{/tkzsimicenter/.cd,
+      ext/.code       = \def\tkz at simicenter{0},
+      int/.code       = \def\tkz at simicenter{1},
+      node/.code      =  ,
+      R/.code         =  ,
+      ext
+}%
+
+\def\tkzDefSimilitudeCenter{\pgfutil at ifnextchar[{\tkz at DefSimilitudeCenter}%
+                                                {\tkz at DefSimilitudeCenter[]}}     
+\def\tkz at DefSimilitudeCenter[#1](#2,#3)(#4,#5){%
+\pgfqkeys{/tkzsimicenter}{#1} 
+\begingroup  
+\ifcase\tkz at simicenter%
+  \tkzDefExtSimilitudeCenter[#1](#2,#3)(#4,#5)
+  \or% 1 
+  \tkzDefIntSimilitudeCenter[#1](#2,#3)(#4,#5) 
+\fi
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
 %                    Internal Similitude center
 %  Two circles have two similitude centers namely the internal center of
 %   similitude Si and the external similitude center Se.
@@ -90,7 +112,9 @@
 /tkzSimilitudeCenter/.cd,
  node/.code          = \def\tkz at numhomo{0},
  R/.code             = \def\tkz at numhomo{1},
- node
+ node,
+ /tkzSimilitudeCenter/.unknown/.code   = {\let\searchname=\pgfkeyscurrentname
+ \pgfkeysalso{\searchname/.try=#1, /tikz/\searchname/.retry=#1}}
 }
 \def\tkzDefIntSimilitudeCenter{\pgfutil at ifnextchar[{\tkz at DefIntSimilitudeCenter}{\tkz at DefIntSimilitudeCenter[]}}
 \def\tkz at DefIntSimilitudeCenter[#1](#2,#3)(#4,#5){%
@@ -131,7 +155,58 @@
 }
 
 \let\tkzDefExtHomotheticCenter\tkzDefExtSimilitudeCenter
+%<--------------------------------------------------------------------------–>
+%        Harmonic Division
+%<--------------------------------------------------------------------------–>
+%  A , B , C ,D  CA/CB = DA/DB
+%<--------------------------------------------------------------------------–>
+\def\tkz at numdha{0}
+\pgfkeys{/tkzharmonic/.cd,
+      ext/.code       = \def\tkz at numdha{0},
+      int/.code       = \def\tkz at numdha{1},
+      both/.code      = \def\tkz at numdha{2},
+      both,
+}%
 
+\def\tkzDivHarmonic{\pgfutil at ifnextchar[{\tkz at DivHarmonic}{\tkz at DivHarmonic[]}}     
+\def\tkz at DivHarmonic[#1](#2){%
+\begingroup 
+\pgfqkeys{/tkzharmonic}{#1}  
+  \ifcase\tkz at numdha%
+   \tkzDefDivHarmonicExt(#2)
+ \or%
+    \tkzDefDivHarmonicInt(#2)
+  \or%
+    \tkzDefDivHarmonicBoth(#2)
+ \fi
+\endgroup
+}
+
+\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);
+\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);
+\endgroup
+}
+
+\def\tkzDefDivHarmonicBoth(#1,#2,#3){%
+\begingroup
+\edef\tkz at k{\fpeval{#3}}
+    \path[coordinate]  (barycentric cs:#1=1,#2={\tkz at k}) coordinate (tkzFirstPointResult);
+    \path[coordinate]  (barycentric cs:#1=1,#2={-\tkz at k}) coordinate (tkzSecondPointResult);
+\endgroup
+}
+
+\let\tkzDefHarmonic\tkzDivHarmonic
 %<--------------------------------------------------------------------------–> 
 %                   golden ratio
 %<--------------------------------------------------------------------------–>
@@ -510,16 +585,24 @@
 %<--------------------------------------------------------------------------–>
 %              Point on circle
 %<--------------------------------------------------------------------------–>
+\def\tkz at numptcirc{0}
 \pgfkeys{/tkzptcircle/.cd,
-          angle/.store in     = \tkz at angle,
-          angle               = 0 ,
-          center/.store in    = \tkz at center,
-          radius/.store in    = \tkz at radius,
+   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}},
 }
 \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}
+\fi
 \path (\tkz at center) --++(\tkz at angle:\tkz at radius) coordinate(tkzPointResult);
 \endgroup
 } 
@@ -532,5 +615,6 @@
 \path (#2) to [#1] coordinate (tkzPointResult)  (#3);
 \endgroup
 } 
+
 \makeatother  
 \endinput
\ No newline at end of file

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-el-points-with.tex}   
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-el-points-with.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %                          Vectors

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”. 
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03  tkz-obj-eu-points.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b  tkz-obj-eu-points.tex} 
 \makeatletter
 %<--------------------------------------------------------------------------->
 %                             init def point 

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-polygons.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-eu-polygons.tex} 
 % bug in regular polygon side 2020/03/09
 \makeatletter  
 %<--------------------------------------------------------------------------–>

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-protractor.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-protractor.tex}  
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-obj-eu-protractor.tex}  
 \makeatletter
 %<--------------------------------------------------------------------------–>  
 %                   !!! idea from Y. Combe  !!! 

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-sectors.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-sectors.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b 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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-show.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-obj-eu-show.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b 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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,11 +10,10 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03  tkz-obj-eu-triangles.tex} 
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b  tkz-obj-eu-triangles.tex} 
 \makeatletter  
-\newif\iftkz at swap@tr
 %<--------------------------------------------------------------------------–>
 %                       Triangle Equilateral
 %<--------------------------------------------------------------------------–>
@@ -35,7 +34,6 @@
 \endgroup
 }
 %<--------------------------------------------------------------------------–>
-
 \def\tkzDefIsoscelesRightTriangle{\pgfutil at ifnextchar[{\tkz at DefIsoscelesRightTriangle}{%
                                          \tkz at DefIsoscelesRightTriangle[]}} 
 
@@ -142,7 +140,7 @@
       golden/.code            = \def\tkz at numtr{4},
       sublime/.code           = \def\tkz at numtr{4},
       euclid/.code            = \def\tkz at numtr{5},
-      euclide/.code            = \def\tkz at numtr{5},
+      euclide/.code           = \def\tkz at numtr{5},
       gold/.code              = \def\tkz at numtr{6},
       cheops/.code            = \def\tkz at numtr{7},
       two angles/.code  args  = {#1 and #2} { \def\tkz at numtr{8}%
@@ -149,9 +147,9 @@
                                               \def\tkz at alpha{#1}%
                                              \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,
+      swap/.is if              =  tkz at swap@tr,
+      swap/.default            =  true,
+      swap                     =  false,
      equilateral
 } 
 

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03  tkz-obj-eu-BB.tex}  
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b  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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,13 +10,14 @@
 % This work has the LPPL maintenance status “maintained”. 
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-tools-angles.tex}   
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-tools-angles.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %<--------------------------------------------------------------------------–>
-% thanks karu : http://tex.stackexchange.com/questions/151667/tkzgetangle-strange-behavior/196224#196224  \tkzGetAngle strange behavior
+% thanks karu : http://tex.stackexchange.com/questions/151667/tkzgetangle-strange-behavior/196224#196224  
+% \tkzGetAngle strange behavior
 % defines \tkz at FirstAngle and \tkz at SecondAngle sens  trigo
 %<--------------------------------------------------------------------------–>
  \def\tkzNormalizeAngle(#1,#2){%

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”. 
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-tools-eu-base.tex}   
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b 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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03  tkz-tools-eu-colors}  
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b  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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -13,9 +13,9 @@
 % The Current Maintainer of this work is Alain Matthes.
 %  utf8 encoding
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-tools-intersections.tex}   
+\def\fileversion{4.04}
+\def\filedate{2022/01/22} 
+\typeout{2022/01/22 4.04 tkz-tools-intersections.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %                 intersection  de deux lignes
@@ -127,21 +127,23 @@
 \def\tkzTestInterLC(#1,#2)(#3,#4){%
 \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} 
+\tkz@@CalcLength(#3,#4){tkzLengthResult}%calcul du rayon
 \ifdim\tkz at mathLen pt>\tkzLengthResult pt\relax%
-\def\tkzflagLC{-1}
+\tkzFlagLCfalse
 \else
-\def\tkzflagLC{1}
+\tkzFlagLCtrue
 \fi
 }
 %<--------------------------------------------------------------------------–>
 \def\tkz at numlc{0}
 \pgfkeys{/linecircle/.cd,
-  node/.code            = \def\tkz at numlc{0},
-  R/.code               = \def\tkz at numlc{1}, 
-  with nodes/.code      = \def\tkz at numlc{2},
-  common/.store in          = \tkz at common,
-  common         = {},
+  node/.code               = \def\tkz at numlc{0},
+  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                     = {},
   node  
  }
 %<--------------------------------------------------------------------------–>
@@ -148,7 +150,6 @@
 \def\tkzInterLC{\pgfutil at ifnextchar[{\tkz at InterLC}{\tkz at InterLC[]}}
 \def\tkz at InterLC[#1](#2,#3)(#4,#5){%
 \begingroup      
-\pgfkeys{linecircle/.cd}
 \pgfqkeys{/linecircle}{#1}
  \pgfinterruptboundingbox 
 \ifcase\tkz at numlc%
@@ -164,7 +165,8 @@
                         {tkzSecondPointResult}% 
 \fi
  \ifx\tkz at common\tkzutil at empty 
- \tkzFindAngle(#2,tkzFirstPointResult,#4)   \tkzGetAngle{tkz at an}
+  \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}
@@ -172,8 +174,18 @@
  \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
  \fi
  \else
+  \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.05pt\relax%
+ \ifdim\tkz at mathLen pt<0.1pt\relax%
  \else
   \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
    \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
@@ -256,60 +268,10 @@
     \tkzInterLCR(#1,#2)(#3,\tkz at radius pt){#6}{#7}
 \endgroup
 }
-
 %<--------------------------------------------------------------------------–>
-%    Intersection de deux cercles  
+%  Intersection of 2 circles
 %<--------------------------------------------------------------------------–>
-\def\tkz at numcc{0}
-\pgfkeys{
-/circlecircle/.cd,
- node/.code           = {\global\def\tkz at numcc{0}},
- R/.code              = {\global\def\tkz at numcc{1}},
- with nodes/.code     = {\global\def\tkz at numcc{2}},
-  common/.store in    = \tkz at common,
-  common              = {},
-}
 %<--------------------------------------------------------------------------–>
-\def\tkzInterCC{\pgfutil at ifnextchar[{\tkz at InterCC}{\tkz at InterCC[]}}
-\def\tkz at InterCC[#1](#2,#3)(#4,#5){%
-\begingroup      
-\pgfkeys{/circlecircle/.cd,node}
-\pgfqkeys{/circlecircle}{#1}
-\ifcase\tkz at numcc%
- % first case 0 
-  \tkz at save@length 
-  \tkz@@CalcLengthcm(#2,#3){tkz at rayA}
-  \tkz@@CalcLengthcm(#4,#5){tkz at rayB}
-  \tkz at restore@length     
-  \tkzInterCCR(#2,\tkz at rayA)(#4,\tkz at rayB){tkzFirstPointResult}{%
-                                                 tkzSecondPointResult}   
-  \or% 1
- \tkzInterCCR(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}%
-  \or%2
- \tkzInterCCWithNodes(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}    
-\fi 
- \ifx\tkz at common\tkzutil at empty 
- \tkzFindAngle(#2,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 common,tkzSecondPointResult){tkz at mathLen}
- \ifdim\tkz at mathLen pt<0.05pt\relax%
- \else
-  \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
-   \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
-  \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
-  \fi
-  \fi
-\endgroup
-} 
-%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-
 % méthode
 % /* circle_circle_intersection() *
 %  * Determine the points where 2 circles in a common plane intersect.
@@ -385,7 +347,72 @@
 % 
 %   return 1;
 % } 
+%<--------------------------------------------------------------------------–>
+%    Intersection de deux cercles  
+%<--------------------------------------------------------------------------–>
+%<---------- test ------------------------------------------------------–>
+% test avec des nodes 
+\def\tkzTestInterCC(#1,#2)(#3,#4){%
+\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
+\edef\tkz at rS{\fpeval{\tkz at rA+\tkz at rB}}
+\ifdim\tkz at mathLen pt > \tkz at rS pt\relax%
+\tkzFlagCCfalse
+\else
+\tkzFlagCCtrue
+\fi
+}
 
+\def\tkz at numcc{0}
+\pgfkeys{
+/circlecircle/.cd,
+  node/.code           = \def\tkz at numcc{0},
+  R/.code              = \def\tkz at numcc{1},
+  with nodes/.code     = \def\tkz at numcc{2},
+  common/.store in     = \tkz at common,
+  common               = {},
+  node
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzInterCC{\pgfutil at ifnextchar[{\tkz at InterCC}{\tkz at InterCC[]}}
+\def\tkz at InterCC[#1](#2,#3)(#4,#5){%
+\begingroup      
+\pgfqkeys{/circlecircle}{#1}
+\ifcase\tkz at numcc%
+ % first case 0 
+  \tkz at save@length 
+  \tkz@@CalcLengthcm(#2,#3){tkz at rayA}
+  \tkz@@CalcLengthcm(#4,#5){tkz at rayB}
+  \tkz at restore@length     
+  \tkzInterCCR(#2,\tkz at rayA)(#4,\tkz at rayB){tkzFirstPointResult}{%
+                                                 tkzSecondPointResult}   
+  \or% 1
+ \tkzInterCCR(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}%
+  \or%2
+ \tkzInterCCWithNodes(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}    
+\fi 
+ \ifx\tkz at common\tkzutil at empty 
+ \tkzFindAngle(#2,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 common,tkzSecondPointResult){tkz at mathLen}
+ \ifdim\tkz at mathLen pt<0.05pt\relax%
+ \else
+  \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+   \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+  \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+  \fi
+  \fi
+\endgroup
+} 
+%<--------------------------------------------------------------------------–>
+
 \def\tkzInterCCR(#1,#2)(#3,#4)#5#6{%
 \begingroup
 \pgfinterruptboundingbox  

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-tools-eu-math.tex}     
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-tools-eu-math.tex}     
 \makeatletter
 %<-------------------------------------------------------------------------->
 % \tkzpointnormalised#
@@ -54,7 +54,6 @@
 % \veclen mais avec fp 
 %  option cm le résultat est en cm sinon en pt
 %<-------------------------------------------------------------------------->
-%\newif\iftkzLengthIncm \iftkzLengthIncmtrue
 \pgfkeys{tkzcalclen/.cd,
        cm/.is if         = tkzLengthIncm,
        cm/.default       = true,

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-tools-utilities.tex}  
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-tools-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}%

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03 tkz-tools-eu-text.tex}   
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b tkz-tools-eu-text.tex}   
 \makeatletter
 %<--------------------------------------------------------------------------–>
 %                                         tkzText

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-02-08 21:50:19 UTC (rev 61947)
+++ trunk/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex	2022-02-08 21:50:43 UTC (rev 61948)
@@ -10,9 +10,9 @@
 % This work has the LPPL maintenance status “maintained”.
 % The Current Maintainer of this work is Alain Matthes.
 
-\def\fileversion{4.03}
-\def\filedate{2022/01/19} 
-\typeout{2022/01/19 4.03  tkz-tools-eu-utilities.tex}  
+\def\fileversion{4.05b}
+\def\filedate{2022/02/07} 
+\typeout{2022/02/07 4.05b  tkz-tools-eu-utilities.tex}  
 \makeatletter
 \pgfkeys{/tkzClip/.cd, 
 space/.store in    = {\tkz at CLI@space},
@@ -168,5 +168,14 @@
       }
 \def\EnabledNumprint{\let\numprint\tkz at numprint} 
 %<---------------------------------------------------------–>
+\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)}
 \makeatother
 \endinput
\ No newline at end of file



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