summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg83
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty20
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex13
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-compass.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-angles.tex95
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-circles.tex7
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-lines.tex15
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex11
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex8
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex25
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex77
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex100
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-protractor.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-sectors.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-show.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex16
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex9
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex157
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex7
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex6
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex15
34 files changed, 516 insertions, 250 deletions
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg
index fee32ea5fcb..36ed515b7b4 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg
@@ -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@backgroundcolor{white}
\def\tkz@textcolor{black}
@@ -133,7 +133,8 @@
\tikzset{line style/.style = {line width = \tkz@euc@linewidth,
color = \tkz@euc@linecolor,
style = \tkz@euc@linestyle,
- add = {\tkz@euc@lineleft} and {\tkz@euc@lineright}%
+ add = {\tkz@euc@lineleft} and {\tkz@euc@lineright},
+ line cap = round
}
}
\tikzset{label seg style/.style = {color = \tkz@mainlinecolor,
@@ -178,9 +179,79 @@
fill = \tkz@fillcolor,
left = 3pt}
}
-%<--------------------------- vector --------------------------------------–>
-\tikzset{vector style/.style={>=latex,->}
+%
+%<--------------------------- 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@in@{ at }{#1}%
+ \ifpgfutil@in@
+ \mytikz@parsearrow#1\mytikz@stop
+ \else
+ \mytikz@parsearrow#1 at .5\mytikz@stop
+ \fi
+ }
+}
+\def\mytikz@parsearrow#1 at #2\mytikz@stop{%
+ \pgfutil@in@{[}{#1}%
+ \ifpgfutil@in@
+ \mytikz@parsearrow@opt{#2}#1\mytikz@stop
+ \else
+ \mytikz@parsearrow@opt{#2}#1[]\mytikz@stop
+ \fi
}
+
+% #1 = pos, #2 = arrow end tip, #3 = arrow options
+\def\mytikz@parsearrow@opt#1#2[#3]\mytikz@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,->}}
+%<--------------------------- 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}}
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty
index ffe08e9468f..e59c97fa0fa 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty
@@ -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@line@normed
\newif\ifnormtkzcode@execute% german ? right angle
\newif\iftkz@swap@sc%---------------------- semi circle
+\newif\iftkz@swap@tr
}{
\RequirePackage{tikz}
\usetikzlibrary{angles,
@@ -64,6 +65,16 @@
\newif\iftkz@vec@normed
%--------------------- lines
\newif\iftkz@line@normed
+%--------------------- circles
+\newif\iftkzClipOutCircle
+%--------------------- polygons
+\newif\iftkzClipOutPoly
+%--------------------- triangles
+\newif\iftkz@swap@tr
+\newif\iftkz@permute
+%--------------------- intersections
+\newif\iftkzFlagLC\tkzFlagLCfalse
+\newif\iftkzFlagCC\tkzFlagCCfalse
%--------------------- tkz axis
\newif\iftkz@X@noticks
\newif\iftkz@Y@noticks
@@ -76,6 +87,7 @@
\newif\iftkz@np
\newif\iftkz@swap
\newif\iftkz@init@NO
+\newif\iftkz@integer
\newif\iftkz@Rep@orig%--------------------- Rep
\newif\iftkzLengthIncm%--------------------- Math
\newif\iftkz@sop@show%--------------------- marks
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex
index 86bb1c2f759..88edcbd70e1 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex
@@ -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
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex
index 2445260c3e5..66824d184be 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex
@@ -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
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex
index e7ba177379e..65e0c5b944b 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex
@@ -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@getinteger#1.\@nil}
\def\tkz@getinteger#1.#2\@nil{%
\ifx\empty#2\empty
- \integertrue
+ \tkz@integertrue
\else
\ifnum\removedot#2=0
- \integertrue
+ \tkz@integertrue
\else
- \integerfalse
+ \tkz@integerfalse
\fi
\fi
}
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex
index 506ec8c739a..0fcc4f210f7 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex
@@ -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
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex
index 7ea8b3136d2..9f0168d8357 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex
@@ -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
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-compass.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-compass.tex
index 30e07a08a8d..3ecb646303b 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-compass.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-compass.tex
@@ -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
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-angles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-angles.tex
index 0818c0fd26a..6b5ed5ae7e2 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-angles.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-angles.tex
@@ -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,25 +202,25 @@
color = teal!20,
size = 4pt,
pos = .5,
- mark = |,
+ mark = none,
/@tkzmarkarc/.search also={/tikz},
}
\def\tkzMarkArc{\pgfutil@ifnextchar[{\tkz@MarkArc}{\tkz@MarkArc[]}}
\def\tkz@MarkArc[#1](#2,#3,#4){%
\begingroup
\pgfqkeys{/@tkzmarkarc}{#1} \def\tkz@mymarkarc{\pgfsetplotmarksize{\tkz@mkarcsize}\pgfuseplotmark{\tkz@markarcseg}}
- \tkz@@CalcLength(#2,#3){tkz@radius}
- \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
- \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
- \pgfmathparse{\tkz@FirstAngle}\edef\tkz@FirstAngle{\pgfmathresult}%
- \pgfmathparse{\tkz@SecondAngle}\edef\tkz@SecondAngle{\pgfmathresult}%
- \pgfmathgreaterthan{\tkz@FirstAngle}{0}
- \ifdim\pgfmathresult pt=1 pt\relax%
- \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
- \ifdim\pgfmathresult pt=1 pt\relax%
- \pgfmathsubtract{\tkz@FirstAngle}{360}
- \edef\tkz@FirstAngle{\pgfmathresult}%
- \fi
+\tkz@@CalcLength(#2,#3){tkz@radius}
+\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
+\tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
+\pgfmathparse{\tkz@FirstAngle}\edef\tkz@FirstAngle{\pgfmathresult}%
+\pgfmathparse{\tkz@SecondAngle}\edef\tkz@SecondAngle{\pgfmathresult}%
+\pgfmathgreaterthan{\tkz@FirstAngle}{0}
+\ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathsubtract{\tkz@FirstAngle}{360}
+ \edef\tkz@FirstAngle{\pgfmathresult}%
+\fi
\else
\pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
\ifdim\pgfmathresult pt=1 pt\relax%
@@ -232,46 +232,43 @@
\edef\tkz@FirstAngle{\pgfmathresult}%
\pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
\edef\tkz@SecondAngle{\pgfmathresult}
- \begin{scope}[decoration={markings,
- mark=at position \tkz@mkarcpos with {\tkz@mymarkarc}}]
- \path[shift = {(#2)},\tkz@mkcolor,/@tkzmarkarc/.cd,#1,postaction={decorate}]%
- (\tkz@FirstAngle:\tkz@radius pt) arc (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@radius pt);
- \end{scope}
+\begin{scope}[decoration={markings,mark=at position \tkz@mkarcpos with {\tkz@mymarkarc}}]
+\path[shift = {(#2)},\tkz@mkcolor,/@tkzmarkarc/.cd,#1,postaction={decorate}]%
+(\tkz@FirstAngle:\tkz@radius pt) arc (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@radius pt);
+\end{scope}
\endgroup
}
\def\tkzLabelArc{\pgfutil@ifnextchar[{\tkz@LabelArc}{\tkz@LabelArc[]}}
\def\tkz@LabelArc[#1](#2,#3,#4)#5{%
\begingroup
- \pgfqkeys{/@tkzmarkarc}{#1}
- \tkz@@CalcLength(#2,#3){tkz@radius}
- \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
- \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
- \pgfmathparse{\tkz@FirstAngle}\edef\tkz@FirstAngle{\pgfmathresult}%
- \pgfmathparse{\tkz@SecondAngle}\edef\tkz@SecondAngle{\pgfmathresult}%
- \pgfmathgreaterthan{\tkz@FirstAngle}{0}
- \ifdim\pgfmathresult pt=1 pt\relax%
- \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
- \ifdim\pgfmathresult pt=1 pt\relax%
- \pgfmathsubtract{\tkz@FirstAngle}{360}
- \edef\tkz@FirstAngle{\pgfmathresult}%
- \fi
- \else
- \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
- \ifdim\pgfmathresult pt=1 pt\relax%
- \pgfmathadd{\tkz@SecondAngle}{360}
- \edef\tkz@SecondAngle{\pgfmathresult}%
+\pgfqkeys{/@tkzmarkarc}{#1}
+\tkz@@CalcLength(#2,#3){tkz@radius}
+\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
+\tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
+\pgfmathparse{\tkz@FirstAngle}\edef\tkz@FirstAngle{\pgfmathresult}%
+\pgfmathparse{\tkz@SecondAngle}\edef\tkz@SecondAngle{\pgfmathresult}%
+\pgfmathgreaterthan{\tkz@FirstAngle}{0}
+\ifdim\pgfmathresult pt=1 pt\relax%
+\pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathsubtract{\tkz@FirstAngle}{360}
+ \edef\tkz@FirstAngle{\pgfmathresult}%
\fi
- \fi
- \pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
- \edef\tkz@FirstAngle{\pgfmathresult}%
- \pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
- \edef\tkz@SecondAngle{\pgfmathresult}
- \begin{scope}[decoration={markings,
- mark=at position \tkz@mkarcpos with \node{#5};}]
- \path[shift = {(#2)},/@tkzmarkarc/.cd,#1,postaction={decorate}]%
- (\tkz@FirstAngle:\tkz@radius pt) arc (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@radius pt);
- \end{scope}
+\else
+\pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathadd{\tkz@SecondAngle}{360}
+ \edef\tkz@SecondAngle{\pgfmathresult}%
+ \fi
+\fi
+\pgfmathsubtract{\tkz@FirstAngle}{\tkz@delta}
+\edef\tkz@FirstAngle{\pgfmathresult}%
+\pgfmathadd{\tkz@SecondAngle}{\tkz@delta}
+\edef\tkz@SecondAngle{\pgfmathresult}
+\begin{scope}[decoration={markings,mark=at position \tkz@mkarcpos with \node{#5};}]
+ \path[shift = {(#2)},/@tkzmarkarc/.cd,#1,postaction={decorate}]%
+ (\tkz@FirstAngle:\tkz@radius pt) arc (\tkz@FirstAngle:\tkz@SecondAngle:\tkz@radius pt); \end{scope}
\endgroup
}
%<--------------------------------------------------------------------------->
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-circles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-circles.tex
index 963f0f7da7b..95c29886e19 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-circles.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-circles.tex
@@ -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@numcc{0}
\pgfkeys{/tkzclipc/.cd,
through/.code = \def\tkz@numcoc{0},
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-lines.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-lines.tex
index 41c11c1c66d..3b07d9f9cac 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-lines.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-lines.tex
@@ -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@numdl{0}
@@ -20,7 +20,7 @@
/tkzdrawl/.search also={/tikz}
}
%<--------------------------------------------------------------------------–>
-% Drawing a line >
+% Drawing a line
%<--------------------------------------------------------------------------–>
\def\tkzDrawLine{\pgfutil@ifnextchar[{\tkz@DrawLine}{\tkz@DrawLine[]}}
\def\tkz@DrawLine[#1](#2,#3){%
@@ -42,8 +42,7 @@
\next#2\@nil
}
%<--------------------------------------------------------------------------–>
-\def\tkzDrawLines{\pgfutil@ifnextchar[{\tkz@DrawLines}{%
- \tkz@DrawLines[]}}
+\def\tkzDrawLines{\pgfutil@ifnextchar[{\tkz@DrawLines}{\tkz@DrawLines[]}}
\def\tkz@DrawLines[#1](#2){%
\xdef\tkz@optline{#1}
\begingroup
@@ -107,7 +106,7 @@
\def\tkz@multiDrawSeg#1 #2\@nil{%
\protected@edef\tkz@temp{
- \noexpand \tkzDrawSegment[\tkz@optseg](#1)}\tkz@temp%
+ \noexpand \tkzDrawSegment[\tkz@optseg](#1)}\tkz@temp%
\def\tkz@nextArg{#2}%
\ifx\tkzutil@empty\tkz@nextArg
\let\next\@gobble
@@ -120,7 +119,7 @@
\def\tkz@optseg{#1}
\begingroup
\let\next\tkz@multiDrawSeg
- \next#2 \@nil %
+ \next#2 \@nil %
\endgroup
}
%<--------------------------------------------------------------------------–>
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex
index 951cc0c6296..fae41863a76 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex
@@ -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@DrawPolygon[]}}
\def\tkz@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@DrawRectangle[]}}
\def\tkz@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}
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex
index e6e1a161b3a..4679ab85d17 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex
@@ -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
}
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex
index 2febd433289..207b537c613 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex
@@ -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
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex
index 8f9811c76fe..fddfca07239 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex
@@ -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
- \tkzDefMidPoint(#1,#3)
\tkz@@CalcLengthcm(#1,#2){tkz@radone}
+ \tkzDefMidPoint(#1,#3)
\tkz@@CalcLengthcm(tkzPointResult,#1){tkz@radtwo}
\tkzInterCCR(#1,\tkz@radone)(tkzPointResult,\tkz@radtwo){%
- tkzFirstPointResult}{%
- tkzSecondPointResult}%
+ tkzFirstPointResult}{tkzSecondPointResult}%
+ \tkzFindAngle(#3,tkzFirstPointResult,#1) \tkzGetAngle{tkz@an}
+ \ifdim\tkz@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@an}
+ \ifdim\tkz@an pt<180 pt\relax%
+ \else
+ \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+ \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+ \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+ \fi
\endgroup
}
%<--------------------------------------------------------------------------–>
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex
index b10b308f35d..4def351f354 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex
@@ -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@numtrsf{7}},
inversion negative/.code args={center #1 through #2}{ \def\tkzcenter{#1}%
\def\tkzpoint{#2}%
- \def\tkz@numtrsf{8}}
-% inversion négative ?
-}
+ \def\tkz@numtrsf{8}},
+ rotation with nodes/.code args={center #1 from #2 to #3}{ \def\tkzcenter{#1}%
+ \def\tkzfrom{#2}%
+ \def\tkzto{#3}%
+ \def\tkz@numtrsf{9}}
+}
%<--------------------------------------------------------------------------–>
\def\tkzDefPointBy{\pgfutil@ifnextchar[{\tkz@DefPointBy}{\tkz@DefPointBy[]}}
\def\tkz@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@lna}%
@@ -449,7 +457,58 @@
\tkzVecKNorm[\tkz@lnc](#1,#3)
\tkzUCSym(#1)(tkzPointResult)
\endgroup
-}
+}
+%<--------------------------------------------------------------------------–>
+%<--------------- rotate with nodes ------------------------–>
+%<--------------------------------------------------------------------------–>
+\def\tkzRotateWithNodes(#1,#2,#3)(#4)#5{%
+\begingroup
+\gdef\tkz@LastList{#5}
+ \foreach\PointRotWN in {#4}{%
+ \FirstPointInList\tkz@LastList
+ \ifx\tkz@FirstPoint\tkzutil@empty
+ \def\tkz@pointtsf{\PointRotWN '}
+ \else
+ \def\tkz@pointtsf{\tkz@FirstPoint}
+ \fi
+ \tkzFindAngle(#2,#1,#3)
+ \tkz@@extractxy{\PointRotWN}
+ \tkz@ax\pgf@x%
+ \tkz@ay\pgf@y%
+ \tkz@@extractxy{#1}
+ \tkz@bx\pgf@x%
+ \tkz@by\pgf@y%
+ \pgfmathrotatepointaround{\pgfpoint{\tkz@ax}{\tkz@ay}}%
+ {\pgfpoint{\tkz@bx}{\tkz@by}}%
+ {\tkzAngleResult}
+ \tkz@bx\pgf@x%
+ \tkz@by\pgf@y%
+ \pgfinterruptboundingbox
+ \path[coordinate](\tkz@bx,\tkz@by) coordinate (\tkz@pointtsf);%
+ \endpgfinterruptboundingbox
+}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzURotateWithNodes(#1,#2,#3)(#4){%
+\begingroup
+ \tkzFindAngle(#2,#1,#3)
+ \pgf@process{\pgfpointanchor{#4}{center}}%
+ \tkz@ax\pgf@x%
+ \tkz@ay\pgf@y%
+ \pgf@process{\pgfpointanchor{#1}{center}}%
+ \tkz@bx\pgf@x%
+ \tkz@by\pgf@y%
+ \pgfmathrotatepointaround{\pgfpoint{\tkz@ax}{\tkz@ay}}%
+ {\pgfpoint{\tkz@bx}{\tkz@by}}%
+ {\tkzAngleResult}
+ \tkz@bx\pgf@x%
+ \tkz@by\pgf@y%
+ \pgfinterruptboundingbox
+ \path (\tkz@bx,\tkz@by) coordinate (tkzPointResult);%
+ \endpgfinterruptboundingbox
+\endgroup
+}
%<--------------------------------------------------------------------------–>
% Fin des transformations
%<--------------------------------------------------------------------------–>
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex
index 11d94cb8f27..b6f51bc53af 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex
@@ -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
%<-------------------------------------------------------------------------–>
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex
index daa2b85a52c..09c803dde00 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex
@@ -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@simicenter{0}
+\pgfkeys{/tkzsimicenter/.cd,
+ ext/.code = \def\tkz@simicenter{0},
+ int/.code = \def\tkz@simicenter{1},
+ node/.code = ,
+ R/.code = ,
+ ext
+}%
+
+\def\tkzDefSimilitudeCenter{\pgfutil@ifnextchar[{\tkz@DefSimilitudeCenter}%
+ {\tkz@DefSimilitudeCenter[]}}
+\def\tkz@DefSimilitudeCenter[#1](#2,#3)(#4,#5){%
+\pgfqkeys{/tkzsimicenter}{#1}
+\begingroup
+\ifcase\tkz@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@numhomo{0},
R/.code = \def\tkz@numhomo{1},
- node
+ node,
+ /tkzSimilitudeCenter/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
+ \pgfkeysalso{\searchname/.try=#1, /tikz/\searchname/.retry=#1}}
}
\def\tkzDefIntSimilitudeCenter{\pgfutil@ifnextchar[{\tkz@DefIntSimilitudeCenter}{\tkz@DefIntSimilitudeCenter[]}}
\def\tkz@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@numdha{0}
+\pgfkeys{/tkzharmonic/.cd,
+ ext/.code = \def\tkz@numdha{0},
+ int/.code = \def\tkz@numdha{1},
+ both/.code = \def\tkz@numdha{2},
+ both,
+}%
+
+\def\tkzDivHarmonic{\pgfutil@ifnextchar[{\tkz@DivHarmonic}{\tkz@DivHarmonic[]}}
+\def\tkz@DivHarmonic[#1](#2){%
+\begingroup
+\pgfqkeys{/tkzharmonic}{#1}
+ \ifcase\tkz@numdha%
+ \tkzDefDivHarmonicExt(#2)
+ \or%
+ \tkzDefDivHarmonicInt(#2)
+ \or%
+ \tkzDefDivHarmonicBoth(#2)
+ \fi
+\endgroup
+}
+\def\tkzDefDivHarmonicExt(#1,#2,#3){%
+\begingroup
+ \tkz@@CalcLengthcm(#3,#1){tkz@da}
+ \tkz@@CalcLengthcm(#3,#2){tkz@db}
+ \path[coordinate] (barycentric cs:#1={-\tkz@db},#2={\tkz@da}) coordinate (tkzPointResult);
+\endgroup
+}
+
+\def\tkzDefDivHarmonicInt(#1,#2,#3){%
+\begingroup
+ \tkz@@CalcLengthcm(#3,#1){tkz@da}
+ \tkz@@CalcLengthcm(#3,#2){tkz@db}
+ \path[coordinate] (barycentric cs:#1={\tkz@db},#2={\tkz@da}) coordinate (tkzPointResult);
+\endgroup
+}
+
+\def\tkzDefDivHarmonicBoth(#1,#2,#3){%
+\begingroup
+\edef\tkz@k{\fpeval{#3}}
+ \path[coordinate] (barycentric cs:#1=1,#2={\tkz@k}) coordinate (tkzFirstPointResult);
+ \path[coordinate] (barycentric cs:#1=1,#2={-\tkz@k}) coordinate (tkzSecondPointResult);
+\endgroup
+}
+
+\let\tkzDefHarmonic\tkzDivHarmonic
%<--------------------------------------------------------------------------–>
% golden ratio
%<--------------------------------------------------------------------------–>
@@ -510,16 +585,24 @@
%<--------------------------------------------------------------------------–>
% Point on circle
%<--------------------------------------------------------------------------–>
+\def\tkz@numptcirc{0}
\pgfkeys{/tkzptcircle/.cd,
- angle/.store in = \tkz@angle,
- angle = 0 ,
- center/.store in = \tkz@center,
- radius/.store in = \tkz@radius,
+ through/.code args = {angle #1 center #2 point #3} {\def\tkz@angle{#1}%
+ \def\tkz@center{#2}%
+ \def\tkz@through{#3}%
+ \def\tkz@numptcirc{0}},
+ R/.code args = {angle #1 center #2 radius #3} {\def\tkz@angle{#1}%
+ \def\tkz@center{#2}%
+ \def\tkz@radius{#3}%
+ \def\tkz@numptcirc{1}},
}
\def\tkzDefPointOnCircle{\pgfutil@ifnextchar[{\tkz@DefPointOnCircle}{\tkz@DefPointOnCircle[]}}
\def\tkz@DefPointOnCircle[#1]{%
\begingroup
\pgfqkeys{/tkzptcircle}{#1}
+ \ifcase\tkz@numptcirc%
+ \tkz@@CalcLengthcm(\tkz@center,\tkz@through){tkz@radius}
+\fi
\path (\tkz@center) --++(\tkz@angle:\tkz@radius) coordinate(tkzPointResult);
\endgroup
}
@@ -532,5 +615,6 @@
\path (#2) to [#1] coordinate (tkzPointResult) (#3);
\endgroup
}
+
\makeatother
\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex
index 5d204fbd85a..27951df7aca 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex
@@ -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
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex
index 20d0988a826..ecf22fbd9c7 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex
@@ -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
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex
index 871cd6a36d2..42f5a4f5ced 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex
@@ -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
%<--------------------------------------------------------------------------–>
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-protractor.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-protractor.tex
index ec13a910fd9..bb679c6beaf 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-protractor.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-protractor.tex
@@ -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 !!!
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-sectors.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-sectors.tex
index 7de5a1f1b17..ee07eddbd13 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-sectors.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-sectors.tex
@@ -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@nums{0}
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-show.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-show.tex
index a22f1534f60..649ab09f7b3 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-show.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-show.tex
@@ -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
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex
index 4ab0ae915ed..04d9ea258bf 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex
@@ -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@swap@tr
%<--------------------------------------------------------------------------–>
% Triangle Equilateral
%<--------------------------------------------------------------------------–>
@@ -35,7 +34,6 @@
\endgroup
}
%<--------------------------------------------------------------------------–>
-
\def\tkzDefIsoscelesRightTriangle{\pgfutil@ifnextchar[{\tkz@DefIsoscelesRightTriangle}{%
\tkz@DefIsoscelesRightTriangle[]}}
@@ -142,16 +140,16 @@
golden/.code = \def\tkz@numtr{4},
sublime/.code = \def\tkz@numtr{4},
euclid/.code = \def\tkz@numtr{5},
- euclide/.code = \def\tkz@numtr{5},
+ euclide/.code = \def\tkz@numtr{5},
gold/.code = \def\tkz@numtr{6},
cheops/.code = \def\tkz@numtr{7},
two angles/.code args = {#1 and #2} { \def\tkz@numtr{8}%
\def\tkz@alpha{#1}%
\def\tkz@beta{#2}},
isosceles right/.code = \def\tkz@numtr{9},
- swap/.is if = tkz@swap@tr,
- swap/.default = true,
- swap = false,
+ swap/.is if = tkz@swap@tr,
+ swap/.default = true,
+ swap = false,
equilateral
}
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex
index 9d7af23518f..4af6ca4f099 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex
@@ -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@ifnextchar[{\tkz@ShowBB}{\tkz@ShowBB[]}}
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex
index 8e28c4a2b32..0748e4462a9 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex
@@ -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@FirstAngle and \tkz@SecondAngle sens trigo
%<--------------------------------------------------------------------------–>
\def\tkzNormalizeAngle(#1,#2){%
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex
index b48a191b1f1..9ad90734b2d 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex
@@ -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@tmp@xa\tkz@init@xmin% modif 2016
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex
index 5380ce9257d..8f95c8e4ad9 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex
@@ -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 ----------------->
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex
index fb1633937f1..74d351e2e41 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex
@@ -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,28 +127,29 @@
\def\tkzTestInterLC(#1,#2)(#3,#4){%
\tkz@Projection(#1,#2)(#3){tkz@pth}% distance centre à la ligne
\tkz@@CalcLength(#3,tkz@pth){tkz@mathLen}%
-\tkz@@CalcLength(#3,#4){tkzLengthResult}
+\tkz@@CalcLength(#3,#4){tkzLengthResult}%calcul du rayon
\ifdim\tkz@mathLen pt>\tkzLengthResult pt\relax%
-\def\tkzflagLC{-1}
+\tkzFlagLCfalse
\else
-\def\tkzflagLC{1}
+\tkzFlagLCtrue
\fi
}
%<--------------------------------------------------------------------------–>
\def\tkz@numlc{0}
\pgfkeys{/linecircle/.cd,
- node/.code = \def\tkz@numlc{0},
- R/.code = \def\tkz@numlc{1},
- with nodes/.code = \def\tkz@numlc{2},
- common/.store in = \tkz@common,
- common = {},
+ node/.code = \def\tkz@numlc{0},
+ R/.code = \def\tkz@numlc{1},
+ with nodes/.code = \def\tkz@numlc{2},
+ common/.store in = \tkz@common,
+ near/.store in = \tkz@near,
+ common = {},
+ near = {},
node
}
%<--------------------------------------------------------------------------–>
\def\tkzInterLC{\pgfutil@ifnextchar[{\tkz@InterLC}{\tkz@InterLC[]}}
\def\tkz@InterLC[#1](#2,#3)(#4,#5){%
\begingroup
-\pgfkeys{linecircle/.cd}
\pgfqkeys{/linecircle}{#1}
\pgfinterruptboundingbox
\ifcase\tkz@numlc%
@@ -164,7 +165,8 @@
{tkzSecondPointResult}%
\fi
\ifx\tkz@common\tkzutil@empty
- \tkzFindAngle(#2,tkzFirstPointResult,#4) \tkzGetAngle{tkz@an}
+ \ifx\tkz@near\tkzutil@empty
+ \tkzFindAngle(tkzSecondPointResult,tkzFirstPointResult,#4) \tkzGetAngle{tkz@an}
\ifdim\tkz@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@common,tkzSecondPointResult){tkz@mathLen}
- \ifdim\tkz@mathLen pt<0.05pt\relax%
+ \ifdim\tkz@mathLen pt<0.1pt\relax%
\else
\pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
\pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
@@ -256,60 +268,10 @@
\tkzInterLCR(#1,#2)(#3,\tkz@radius pt){#6}{#7}
\endgroup
}
-
-%<--------------------------------------------------------------------------–>
-% Intersection de deux cercles
-%<--------------------------------------------------------------------------–>
-\def\tkz@numcc{0}
-\pgfkeys{
-/circlecircle/.cd,
- node/.code = {\global\def\tkz@numcc{0}},
- R/.code = {\global\def\tkz@numcc{1}},
- with nodes/.code = {\global\def\tkz@numcc{2}},
- common/.store in = \tkz@common,
- common = {},
-}
%<--------------------------------------------------------------------------–>
-\def\tkzInterCC{\pgfutil@ifnextchar[{\tkz@InterCC}{\tkz@InterCC[]}}
-\def\tkz@InterCC[#1](#2,#3)(#4,#5){%
-\begingroup
-\pgfkeys{/circlecircle/.cd,node}
-\pgfqkeys{/circlecircle}{#1}
-\ifcase\tkz@numcc%
- % first case 0
- \tkz@save@length
- \tkz@@CalcLengthcm(#2,#3){tkz@rayA}
- \tkz@@CalcLengthcm(#4,#5){tkz@rayB}
- \tkz@restore@length
- \tkzInterCCR(#2,\tkz@rayA)(#4,\tkz@rayB){tkzFirstPointResult}{%
- tkzSecondPointResult}
- \or% 1
- \tkzInterCCR(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}%
- \or%2
- \tkzInterCCWithNodes(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}
-\fi
- \ifx\tkz@common\tkzutil@empty
- \tkzFindAngle(#2,tkzFirstPointResult,#4) \tkzGetAngle{tkz@an}
- \ifdim\tkz@an pt<180 pt\relax%
- \else
- \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
- \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
- \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
- \fi
- \else
-\tkz@@CalcLength(\tkz@common,tkzSecondPointResult){tkz@mathLen}
- \ifdim\tkz@mathLen pt<0.05pt\relax%
- \else
- \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
- \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
- \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
- \fi
- \fi
-\endgroup
-}
+% Intersection of 2 circles
%<--------------------------------------------------------------------------–>
%<--------------------------------------------------------------------------–>
-
% méthode
% /* circle_circle_intersection() *
% * Determine the points where 2 circles in a common plane intersect.
@@ -385,6 +347,71 @@
%
% return 1;
% }
+%<--------------------------------------------------------------------------–>
+% Intersection de deux cercles
+%<--------------------------------------------------------------------------–>
+%<---------- test ------------------------------------------------------–>
+% test avec des nodes
+\def\tkzTestInterCC(#1,#2)(#3,#4){%
+\tkz@@CalcLength(#1,#3){tkz@mathLen}% distance entre les centres
+\tkz@@CalcLength(#2,#1){tkz@rA}%calcul du rayon
+\tkz@@CalcLength(#4,#3){tkz@rB}%calcul du rayon
+\edef\tkz@rS{\fpeval{\tkz@rA+\tkz@rB}}
+\ifdim\tkz@mathLen pt > \tkz@rS pt\relax%
+\tkzFlagCCfalse
+\else
+\tkzFlagCCtrue
+\fi
+}
+
+\def\tkz@numcc{0}
+\pgfkeys{
+/circlecircle/.cd,
+ node/.code = \def\tkz@numcc{0},
+ R/.code = \def\tkz@numcc{1},
+ with nodes/.code = \def\tkz@numcc{2},
+ common/.store in = \tkz@common,
+ common = {},
+ node
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzInterCC{\pgfutil@ifnextchar[{\tkz@InterCC}{\tkz@InterCC[]}}
+\def\tkz@InterCC[#1](#2,#3)(#4,#5){%
+\begingroup
+\pgfqkeys{/circlecircle}{#1}
+\ifcase\tkz@numcc%
+ % first case 0
+ \tkz@save@length
+ \tkz@@CalcLengthcm(#2,#3){tkz@rayA}
+ \tkz@@CalcLengthcm(#4,#5){tkz@rayB}
+ \tkz@restore@length
+ \tkzInterCCR(#2,\tkz@rayA)(#4,\tkz@rayB){tkzFirstPointResult}{%
+ tkzSecondPointResult}
+ \or% 1
+ \tkzInterCCR(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}%
+ \or%2
+ \tkzInterCCWithNodes(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}
+\fi
+ \ifx\tkz@common\tkzutil@empty
+ \tkzFindAngle(#2,tkzFirstPointResult,#4) \tkzGetAngle{tkz@an}
+ \ifdim\tkz@an pt<180 pt\relax%
+ \else
+ \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+ \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+ \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+ \fi
+ \else
+\tkz@@CalcLength(\tkz@common,tkzSecondPointResult){tkz@mathLen}
+ \ifdim\tkz@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
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex
index 3cc9943e8ef..9efc3f10ab0 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex
@@ -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,
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex
index 7ac948f2db6..04db27c968a 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex
@@ -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@obj@all{angles,arcs,compass,defcircles,deflines,defpoints,defpointsby,defpointsrnd,defpointswith,polygons,protractor,sectors,show,triangles}%
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex
index 3f419f19bd5..36da262f36a 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex
@@ -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
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex
index 65173a1d3c8..3662ead8765 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex
@@ -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@CLI@space},
@@ -168,5 +168,14 @@ space = {}}
}
\def\EnabledNumprint{\let\numprint\tkz@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