summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tkz-euclide
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-03-09 21:13:23 +0000
committerKarl Berry <karl@freefriends.org>2020-03-09 21:13:23 +0000
commit1dfeaad298797209b707cc845743f322f26e5a39 (patch)
tree47deeec823e058e61be596a80af7638c89177ce8 /Master/texmf-dist/tex/latex/tkz-euclide
parent973884a3fae9230a1d3317c8a2d7725e580fa67b (diff)
tkz-euclide (9mar20)
git-svn-id: svn://tug.org/texlive/trunk@54200 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tkz-euclide')
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty72
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-angles.tex32
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-arcs.tex148
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex23
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-compass.tex53
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-circles.tex23
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-lines.tex50
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex24
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex66
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex116
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex70
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex23
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex76
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex37
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex47
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-protractor.tex29
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-sectors.tex23
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-show.tex25
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex103
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-angles.tex23
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-intersections.tex23
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-math.tex126
22 files changed, 815 insertions, 397 deletions
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 5c86e5c0af9..74ab4a29873 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty
@@ -1,30 +1,78 @@
-% tkz-euclide.sty
-% Copyright 2020 by Alain Matthes
+% tkz-euclide.sty (utf8 encoding)
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
%
-% This file may be distributed and/or modified
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
+% This work consists of the files:
+% tkz-euclide.sty
+% tkz-obj-eu-angles.tex
+% tkz-obj-eu-arcs.tex
+% tkz-obj-eu-circles.tex
+% tkz-obj-eu-compass.tex
+% tkz-obj-eu-draw-circles.tex
+% tkz-obj-eu-draw-lines.tex
+% tkz-obj-eu-draw-polygons.tex
+% tkz-obj-eu-lines.tex
+% tkz-obj-eu-points-by.tex
+% tkz-obj-eu-points-rnd.tex
+% tkz-obj-eu-points-with.tex
+% tkz-obj-eu-points.tex
+% tkz-obj-eu-polygons.tex
+% tkz-obj-eu-protractor.tex
+% tkz-obj-eu-sectors.tex
+% tkz-obj-eu-show.tex
+% tkz-obj-eu-triangles.tex
+% tkz-tools-angles.tex
+% tkz-tools-intersections.tex
+% tkz-tools-math.tex
+
%<------------------------------------------------------------–>
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-euclide.sty}
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-euclide.sty}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tkz-euclide}[2020/01/24 3.02c for euclidan geometry ]
+\ProvidesPackage{tkz-euclide}[2020/03/03 3.05c for euclidan geometry ]
\RequirePackage{tkz-base}
\makeatletter
-\@ifpackagelater{tkz-base}{2020/01/24}{%
+\@ifpackagelater{tkz-base}{2020/03/03}{%
% Package is new enough
}{%
\PackageError{tkz-euclide}{Package tkz-base is too old , you need a recent version}%
}
\makeatother
-\DeclareOption*{}%% Ne rien faire quand une option est inconnue
+\DeclareOption*{}
\ProcessOptions
%<----------------------------------------------------------–>
% Initialisation
%<----------------------------------------------------------–>
\input{tkz-tools-intersections}
\input{tkz-tools-angles}
-\usetkzobj{eu-angles,eu-arcs,eu-compass,eu-circles,eu-draw-circles,eu-lines,eu-draw-lines,eu-points,eu-points-by,eu-points-rnd,eu-points-with,eu-draw-polygons,eu-polygons,eu-protractor,eu-sectors,eu-show,eu-triangles}
+\usetkzobj{%
+ eu-angles,%
+ eu-arcs,%
+ eu-compass,%
+ eu-circles,%
+ eu-draw-circles,%
+ eu-draw-lines,%
+ eu-draw-polygons,%
+ eu-draw-triangles,%
+ eu-lines,%
+ eu-points,%
+ eu-points-by,%
+ eu-points-rnd,%
+ eu-points-with,%
+ eu-polygons,%
+ eu-protractor,%
+ eu-sectors,%
+ eu-show,%
+ eu-triangles}
\endinput
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-angles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-angles.tex
index bce07ea8a97..2347745e0b0 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-angles.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-angles.tex
@@ -1,11 +1,21 @@
% tkz-tool-eu-angles.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-tool-eu-angles.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-tool-eu-angles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
\newdimen\tkz@arcsize% from julian julian@d-and-j.net
@@ -27,8 +37,7 @@
\endgroup
}
%<--------------------------------------------------------------------------–>
-% Mark an angle
-%<--------------------------------------------------------------------------–>
+% Mark an angle modi 3.03 suppression de \tkz@mksize,
%<--------------------------------------------------------------------------–>
% \tkzMarkAngle(B, A, C)
%
@@ -83,7 +92,7 @@
\tkzNormalizeAngle(\tkz@dirOne,\tkz@dirTwo)
% les marques, aucune si mktype = none
-\def\tkz@mymark{\pgfsetplotmarksize{\tkz@mksize}\pgfuseplotmark{\tkz@markang}}
+\def\tkz@mymark{\pgfuseplotmark{\tkz@markang}}
% draw the arcs
\begin{scope}[decoration= {markings,
mark=at position \tkz@mkpos with {\tkz@mymark}}]
@@ -91,8 +100,7 @@
\tkzDrawArcRAN[#1,fill=none,postaction={decorate}]%
(#3,\tkz@size)(\tkz@FirstAngle,\tkz@SecondAngle)
\else
- \ifx\tkz@arc\tkz@arcdouble
-
+ \ifx\tkz@arc\tkz@arcdouble
\tkzDrawArcRAN[#1,fill=none](#3,\tkz@size-1.5\pgflinewidth)%
(\tkz@FirstAngle,\tkz@SecondAngle)
\tkzPathArcRAN[#1,fill=none,postaction={decorate}]%
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-arcs.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-arcs.tex
index c8ef72c3e6f..e58b01e25ae 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-arcs.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-arcs.tex
@@ -1,42 +1,53 @@
% tkz-obj-eu-arcs.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-arcs.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+
+
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/23}
+\typeout{2020/03/23 3.05c tkz-obj-eu-arcs.tex}
\makeatletter
%<------------------------------ Arcs -------------------------------------–
% options : delta
% \def\tkz@delta{0}
% \tikzset{arc style/.style={#1}}
% \pgfkeys{/tikz/.cd,delta/.code={\def\tkz@delta{#1}}}
-
+\tikzset{arc style/.style={gray,thin}}
\gdef\tkz@numa{0}
\pgfkeys{/tkzdrawarc/.cd,
- type/.is choice,
- type/towards/.code = \def\tkz@numa{0},
- type/rotate/.code = \def\tkz@numa{1},
- type/angles/.code = \def\tkz@numa{2},
- type/R/.code = \def\tkz@numa{3},
- type/R with nodes/.code = \def\tkz@numa{4},
- towards/.style = {type=towards},
- rotate/.style = {type=rotate},
- R/.style = {type=R},
- angles/.style = {type=angles},
- R with nodes/.style = {type=R with nodes},
- diameter/.code = {},
- arc/.code = {},
- size/.code = {},
- mark/.code = {},
- mkpos/.code = {},
- mksize/.code = {},
- mkcolor/.code = {},
- type/.default = towards,
- delta/.store in = \tkz@delta,
- delta = 0,
- /tkzdrawarc/.search also = {/tikz}
+ type/.is choice,
+ type/towards/.code = \def\tkz@numa{0},
+ type/rotate/.code = \def\tkz@numa{1},
+ type/angles/.code = \def\tkz@numa{2},
+ type/R/.code = \def\tkz@numa{3},
+ type/R with nodes/.code = \def\tkz@numa{4},
+ towards/.style = {type=towards},
+ rotate/.style = {type=rotate},
+ R/.style = {type=R},
+ angles/.style = {type=angles},
+ R with nodes/.style = {type=R with nodes},
+ diameter/.code = {},
+ arc/.code = {},
+ size/.code = {},
+ mark/.code = {},
+ mkpos/.code = {},
+ mksize/.code = {},
+ mkcolor/.code = {},
+ type/.default = towards,
+ delta/.store in = \tkz@delta,
+ delta = 0,
+ /tkzdrawarc/.search also = {/tikz}
}
\def\tkzDrawArc{\pgfutil@ifnextchar[{\tkz@DrawArc}{\tkz@DrawArc[]}}
\def\tkz@DrawArc[#1](#2,#3)(#4){%
@@ -66,7 +77,7 @@
\tkzCalcLength(#2,#3)\tkzGetLength{tkz@radius}
\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@FirstAngle}
\tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@SecondAngle}
- \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstAngle,\tkz@SecondAngle)
+ \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstAngle,\tkz@SecondAngle)
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -78,15 +89,15 @@
\tkz@DrawArcRotate[]}}
\def\tkz@DrawArcRotate[#1](#2,#3)(#4){%
\begingroup
- \tkzCalcLength(#2,#3) \tkzGetLength{tkz@radius}
- \tkzFindSlopeAngle(#2,#3) \tkzGetAngle{tkz@FirstA}
+ \tkzCalcLength(#2,#3) \tkzGetLength{tkz@radius}
+ \tkzFindSlopeAngle(#2,#3) \tkzGetAngle{tkz@FirstA}
\pgfmathadd{\tkz@FirstA}{#4}
\edef\tkz@SecondA{\pgfmathresult}
\pgfmathgreaterthan{#4}{0}
\ifdim\pgfmathresult pt=1 pt\relax%
- \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstA,\tkz@SecondA)
+ \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@FirstA,\tkz@SecondA)
\else
- \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@SecondA,\tkz@FirstA)
+ \tkz@DrawArcRAngles[#1](#2,\tkz@radius pt)(\tkz@SecondA,\tkz@FirstA)
\fi
\endgroup
}
@@ -103,6 +114,32 @@
\endgroup
}
%<--------------------------------------------------------------------------–>
+% Degree #2 center #4 - #3 radius from #5 (degree) to #6(degree)
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawArcRwithNodes{\pgfutil@ifnextchar[{\tkz@DrawArcRwithNodes}{%
+ \tkz@DrawArcRwithNodes[]}}
+\def\tkz@DrawArcRwithNodes[#1](#2,#3,#4)(#5,#6){%
+\begingroup
+ \tkzCalcLength(#3,#4)
+ \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@FirstAngle}
+ \tkzFindSlopeAngle(#2,#6)\tkzGetAngle{tkz@SecondAngle}
+ \tkz@DrawArcRAngles[#1](#2,\tkzLengthResult)(\tkz@FirstAngle,\tkz@SecondAngle)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Nodes R #2 center #3 radius en cm from #4(node) to #5(node)
+% \tkzDrawArcR(O,2 cm)(A,B)
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawArcR{\pgfutil@ifnextchar[{\tkz@DrawArcR}{\tkz@DrawArcR[]}}
+\def\tkz@DrawArcR[#1](#2,#3)(#4,#5){%
+\begingroup
+ \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@FirstAngle}
+ \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@SecondAngle}
+ \tkz@DrawArcRAngles[#1](#2,#3)(\tkz@FirstAngle,\tkz@SecondAngle)
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
% #1 center #2 radius #4 first angle (degree) #5 second angle (degree)
% angles 0 .. 180 or -180 .. 0
%<--------------------------------------------------------------------------–>
@@ -117,51 +154,26 @@
\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
+ \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}%
- \fi
+ \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}
- \draw[shift = {(#2)},compass style,/tkzdrawarc/.cd,#1]%
+ \draw[shift = {(#2)},arc style,/tkzdrawarc/.cd,#1]%
(\tkz@FirstAngle:#3) arc (\tkz@FirstAngle:\tkz@SecondAngle:#3);
\endgroup
}
%<--------------------------------------------------------------------------–>
-% Degree #2 center #4 - #3 radius from #5 (degree) to #6(degree)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcRwithNodes{\pgfutil@ifnextchar[{\tkz@DrawArcRwithNodes}{%
- \tkz@DrawArcRwithNodes[]}}
-\def\tkz@DrawArcRwithNodes[#1](#2,#3,#4)(#5,#6){%
-\begingroup
- \tkzCalcLength(#3,#4)
- \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@FirstAngle}
- \tkzFindSlopeAngle(#2,#6)\tkzGetAngle{tkz@SecondAngle}
- \tkz@DrawArcRAngles[#1](#2,\tkzLengthResult)%
- (\tkz@FirstAngle,\tkz@SecondAngle)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-% Nodes R #2 center #3 radius en cm from #4(node) to #5(node)
-% \tkzDrawArcR(O,2 cm)(A,B)
-%<--------------------------------------------------------------------------–>
-\def\tkzDrawArcR{\pgfutil@ifnextchar[{\tkz@DrawArcR}{\tkz@DrawArcR[]}}
-\def\tkz@DrawArcR[#1](#2,#3)(#4,#5){%
-\begingroup
- \tkzFindSlopeAngle(#2,#4)\tkzGetAngle{tkz@FirstAngle}
- \tkzFindSlopeAngle(#2,#5)\tkzGetAngle{tkz@SecondAngle}
- \tkz@DrawArcRAngles[#1](#2,#3)(\tkz@FirstAngle,\tkz@SecondAngle)
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
+
\makeatother
\endinput
\ No newline at end of file
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 9a3a726658b..901cb72348d 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
@@ -1,12 +1,21 @@
% tkz-obj-eu-circles.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-circles.tex}
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c 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 dd1c46863a0..50cda7b15b5 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
@@ -1,11 +1,21 @@
% tkz-obj-eu-compass.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-compass.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-obj-eu-compass.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Author Alain Matthes
@@ -16,24 +26,22 @@
%<--------------------------------------------------------------------------–>
% Setup Compass
%<--------------------------------------------------------------------------–>
-\pgfkeys{%
- tkzsucompass/.cd,
+\pgfkeys{tkzsucompass/.cd,
line width/.code = {\global\edef\tkz@compass@lw{#1}},
color/.code = {\global\edef\tkz@compass@color{#1}},
style/.code = {\global\edef\tkz@compass@style{#1}},
}
%<--------------------------------------------------------------------------–>
-%<--------------------------------------------------------------------------–>
-\def\tkzSetUpCompass{\pgfutil@ifnextchar[{\tkzActivOff\tkz@SetUpCompass}{%
- \tkzActivOff\tkz@SetUpCompass[]}}
+\def\tkzSetUpCompass{\pgfutil@ifnextchar[{\tkz@SetUpCompass}{% remove tkzActivOff 3.03
+ \tkz@SetUpCompass[]}}
%<--------------------------------------------------------------------------–>
\def\tkz@SetUpCompass[#1]{%
-\pgfkeys{%
- tkzsucompass/.cd,
+\pgfkeys{tkzsucompass/.cd,
line width = \tkz@euc@compasswidth,
color = \tkz@euc@compasscolor,
- style = \tkz@euc@compassstyle
- }
+ style = \tkz@euc@compassstyle,
+ /tkzsucompass/.search also = {/tikz}
+}
\pgfqkeys{/tkzsucompass}{#1}
\tikzset{compass style/.style={color = \tkz@compass@color,
line width = \tkz@compass@lw,
@@ -56,7 +64,7 @@
/tkzcompass/length/.code = {\def\tkz@length{#1}},
/tkzcompass/ratio/.code = {\def\tkz@ratio{#1}},
/tkzcompass/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
- \pgfkeysalso{\searchname/.try=#1,
+ \pgfkeysalso{\searchname/.try=#1,
/tikz/\searchname/.retry=#1}}
}
@@ -70,15 +78,14 @@
ratio = .5
}
\pgfkeys{tkzcompass/.cd,#1}
- \tkzCalcLength(#2,#3)\tkzGetLength{tkz@tempLen}
+\tkzCalcLength(#2,#3)\tkzGetLength{tkz@tempLen}
\ifnum\tkz@delta=0 %
\pgfmathsetmacro{\tkz@delta}{min(deg(\tkz@length cm/ \tkz@tempLen pt),180)/2}
\fi
- \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@angle}%
- \draw[shift ={(#2)},/tkzcompass/.cd,compass style,#1]%
- (\tkz@angle-\tkz@delta:\tkz@tempLen pt)%
- arc (\tkz@angle-\tkz@delta:\tkz@angle+\tkz@delta:\tkz@tempLen pt);
- %};
+\tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@angle}%
+\draw[shift ={(#2)},/tkzcompass/.cd,compass style,#1]%
+ (\tkz@angle-\tkz@delta:\tkz@tempLen pt)%
+ arc (\tkz@angle-\tkz@delta:\tkz@angle+\tkz@delta:\tkz@tempLen pt);
\endgroup}
%<--------------------------------------------------------------------------–>
\def\tkz@multiCompass#1 #2\@nil{%
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 f8a0a055582..1b05f579afc 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
@@ -1,12 +1,21 @@
% tkz-obj-eu-draw-circles.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-draw-circles.tex}
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-obj-eu-draw-circles.tex}
\makeatletter
%for compatibility
%<--------------------------------------------------------------------------–>
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 d837c35a1d7..3df6a484c2f 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
@@ -1,11 +1,21 @@
% tkz-obj-eu-draw-lines.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-draw-lines.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-obj-eu-draw-lines.tex}
\makeatletter
\def\tkz@numdl{0}
\pgfkeys{/tkzdrawl/.cd,
@@ -225,12 +235,12 @@
color/.code = {\xdef\tkz@line@color{#1}},
style/.code = {\xdef\tkz@line@style{#1}},
add/.code args = {#1 and #2} {\xdef\tkz@line@left{#1}%
- \xdef\tkz@line@right{#2}%
- }
+ \xdef\tkz@line@right{#2}},
+ /tkzsuline/.search also={/tikz}%
}
%<--------------------------------------------------------------------------–>
-\def\tkzSetUpLine{\pgfutil@ifnextchar[{\tkzActivOff\tkz@SetUpLine}{%
- \tkzActivOff\tkz@SetUpLine[]}}
+\def\tkzSetUpLine{\pgfutil@ifnextchar[{\tkz@SetUpLine}{% remove tkzActivOff 3.03
+ \tkz@SetUpLine[]}}
\def\tkz@SetUpLine[#1]{%
\pgfkeys{%
tkzsuline/.cd,
@@ -291,10 +301,10 @@
color/.store in = \tkz@mkcolor,
mark/.store in = \tkz@markseg,
size/.store in = \tkz@mksize,
- size = 4pt,
- color = \tkz@mk@color,
- pos = .5,
- mark = |,
+ size = 4pt,
+ color = \tkz@mk@color,
+ pos = .5,
+ mark = |,
/@tkzmarkoptions/.search also={/tikz},
}
\def\tkzMarkSegment{\pgfutil@ifnextchar[{\tkz@MarkSegment}{\tkz@MarkSegment[]}}
@@ -350,8 +360,7 @@
\next#2\@nil
}
%<--------------------------------------------------------------------------–>
-\def\tkzLabelSegments{\pgfutil@ifnextchar[{\tkz@LabelSegments}{%
- \tkz@LabelSegments[]}}
+\def\tkzLabelSegments{\pgfutil@ifnextchar[{\tkz@LabelSegments}{\tkz@LabelSegments[]}}
\def\tkz@LabelSegments[#1](#2)#3{%
\def\tkz@optls{#1}
\def\tkz@labelseg{#3}
@@ -363,14 +372,15 @@
%<--------------------------------------------------------------------------–>
% PolySeg
%<--------------------------------------------------------------------------–>
-\def\tkzDrawPolySeg{\pgfutil@ifnextchar[{\tkz@DrawPolySeg}{%
- \tkz@DrawPolySeg[]}}
+\def\tkzDrawPolySeg{\pgfutil@ifnextchar[{\tkz@DrawPolySeg}{\tkz@DrawPolySeg[]}}
\def\tkz@DrawPolySeg[#1](#2,#3){%
\begingroup
\draw[line style,#1] (#2)
- \foreach \po in {#3}{--(\po)};%
+ \foreach \pt in {#2,#3}{--(\pt)};%
\endgroup
}
+
+
%<--------------------------------------------------------------------------–>
% add dim
% \draw[dim={5cm,7pt,}] (A) -- (B);
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 6b3764ccc35..a960baa49bb 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
@@ -1,11 +1,21 @@
% tkz-obj-eu-polygons.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-polygons.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-obj-eu-polygons.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Polygon
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
new file mode 100644
index 00000000000..bc0d6b10f25
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-triangles.tex
@@ -0,0 +1,66 @@
+% tkz-obj-eu-draw-triangles.tex
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+
+% utf8 encoding
+%<--------------------------------------------------------------------------–>
+% Draw Triangles
+%<--------------------------------------------------------------------------–>
+
+\def\tkz@numdtr{0}
+\pgfkeys{/drawtriangle/.cd,
+ equilateral/.code = {\def\tkz@numdtr{0}},
+ half/.code = {\def\tkz@numdtr{1}},
+ pythagore/.code = {\def\tkz@numdtr{2}},
+ school/.code = {\def\tkz@numdtr{3}},
+ golden/.code = {\def\tkz@numdtr{4}},
+ sublime/.code = {\def\tkz@numdtr{4}},
+ euclide/.code = {\def\tkz@numdtr{5}},
+ gold/.code = {\def\tkz@numdtr{6}},
+ cheops/.code = {\def\tkz@numdtr{7}},
+ two angles/.code args = {#1 and #2}{\def\tkz@numdtr{8}%
+ \def\tkz@alpha{#1}%
+ \def\tkz@beta{#2}},
+ equilateral,
+ /drawtriangle/.search also={/tikz}
+}
+
+\def\tkzDrawTriangle{\pgfutil@ifnextchar[{\tkz@DrawTriangle}{%
+ \tkz@DrawTriangle[]}}
+\def\tkz@DrawTriangle[#1](#2,#3){%
+\begingroup
+\pgfkeys{/drawtriangle/.cd,equilateral}
+\pgfqkeys{/drawtriangle}{#1}
+\ifcase\tkz@numdtr%
+ \tkzDefEquilateral(#2,#3)
+\or% 1
+ \tkzDefTwoOne(#2,#3)
+\or% 2
+ \tkzDefPythagore(#2,#3)
+\or% 3
+ \tkzDefSchoolTriangle(#2,#3)
+\or% 4
+ \tkzDefGoldenTriangle(#2,#3)
+\or% 5
+ \tkzDefEuclideTriangle(#2,#3)
+\or% 6
+ \tkzDefGoldTriangle(#2,#3)
+\or% 7
+ \tkzDefCheopsTriangle(#2,#3)
+\or% 8
+ \tkzDefTwoAnglesTriangle(#2,#3)
+\fi
+ \draw[/drawtriangle/.cd,line style,#1] (#2)--(#3)--(tkzPointResult)--cycle;
+\endgroup
+}
+
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 5246f68455a..de4323a8b0c 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
@@ -1,11 +1,21 @@
% tkz-obj-eu-lines.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-lines.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-obj-eu-lines.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% les lignes
@@ -26,7 +36,8 @@
K = 1,
normed/.is if = tkz@line@normed,
normed/.default = true,
- normed = false
+ normed = false,
+ mediator
}
\def\tkzDefLine{\pgfutil@ifnextchar[{\tkz@DefLine}{\tkz@DefLine[]}}
@@ -53,70 +64,86 @@
%<--------------------------------------------------------------------------–>
% tkzLineLL revoir out !!
%<--------------------------------------------------------------------------–>
-\def\tkzDefLineLL(#1,#2){%
+\def\tkzDefLineLL{\pgfutil@ifnextchar[{\tkz@DefLineLL}{%
+ \tkz@DefLineLL[1]}}
+\def\tkz@DefLineLL[#1](#2,#3){%
\begingroup
- \pgfpointdiff{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}%
+ \pgfpointdiff{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#3}{center}}%
\pgf@xa=\pgf@x\relax%%
\pgf@ya=\pgf@y\relax%%
\pgfinterruptboundingbox
- \path[coordinate](\tkz@through)--++(\pgf@xa,\pgf@ya)%
+ \path[coordinate](\tkz@through)--++(\tkz@koeff\pgf@xa,\tkz@koeff\pgf@ya)%
coordinate (tkzPointResult);
\endpgfinterruptboundingbox
- \iftkz@line@normed
- \tkzVecKNorm(\tkz@through,tkzPointResult)
- \fi
+ \iftkz@line@normed
+ \tkzVecKNorm(\tkz@through,tkzPointResult)
+ \fi
\endgroup}%
%<--------------------------------------------------------------------------–>
% tkzOrthLine
%<--------------------------------------------------------------------------–>
\def\tkzDefOrthLine{\pgfutil@ifnextchar[{\tkz@DefOrthLine}{%
\tkz@DefOrthLine[1]}}
-\def\tkz@DefOrthLine[#1](#2,#3)(#4){%
+\def\tkz@DefOrthLine[#1](#2,#3){%
\begingroup
- \tkzVecKOrth(#2,#3)
+ \tkzDefPointWith(#2,#3)
\pgfnodealias{tkz@OLtmp}{tkzPointResult}
- \tkz@VecKCoLinear[#1](#2,tkz@OLtmp,#4)
+ \tkz@VecKCoLinear[\tkz@koeff](#2,tkz@OLtmp,\tkz@through)
\iftkz@line@normed
\pgfinterruptboundingbox
\tkzVecKNorm(\tkz@through,tkzPointResult)
\endpgfinterruptboundingbox
\fi
-\endgroup
-}
+\endgroup}%
%<--------------------------------------------------------------------------–>
% tkzMediatorLine
%<--------------------------------------------------------------------------–>
-\def\tkzDefMediatorLine(#1,#2){% new 2020
+\def\tkzDefMediatorLine{\pgfutil@ifnextchar[{\tkz@DefMediatorLine}{%
+ \tkz@DefMediatorLine[1]}}
+
+\def\tkz@DefMediatorLine[#1](#2,#3){% new 2020
\begingroup
- \tkzDefEquilateral(#1,#2)
+ \tkzDefEquilateral(#2,#3)
\pgfnodealias{tkzFirstPointResult}{tkzPointResult}
- \tkzDefEquilateral(#2,#1)
- \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
- \iftkz@line@normed
- \tkzDefMidPoint(#1,#2)
- \pgfnodealias{tkz@mid}{tkzPointResult}
- \pgfinterruptboundingbox
- \tkzVecKNorm(tkz@mid,tkzFirstPointResult)
- \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
- \tkzVecKNorm(tkz@mid,tkzSecondPointResult)
- \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
- \endpgfinterruptboundingbox
-\fi
-\endgroup
-}
+ \tkzDefEquilateral(#3,#2)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+ \ifx\tkz@koeff=1 %
+ \else
+ \tkzDefMidPoint(#2,#3)
+ \pgfnodealias{tkz@mid}{tkzPointResult}
+ \tkz@VecK[\tkz@koeff](tkz@mid,tkzFirstPointResult)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkz@VecK[\tkz@koeff](tkz@mid,tkzSecondPointResult)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+ \fi
+ \iftkz@line@normed
+ \tkzDefMidPoint(#2,#3)
+ \pgfnodealias{tkz@mid}{tkzPointResult}
+ \pgfinterruptboundingbox
+ \tkzVecKNorm[\tkz@koeff](tkz@mid,tkzFirstPointResult)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkzVecKNorm[\tkz@koeff](tkz@mid,tkzSecondPointResult)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+ \endpgfinterruptboundingbox
+ \fi
+\endgroup}
% autre possibilité
%<--------------------------------------------------------------------------–>
-% BisectorLine % pb avec un angle plat
+% BisectorLine
%<--------------------------------------------------------------------------–>
\def\tkzDefBisectorLine(#1,#2,#3){%
\begingroup
\pgfinterruptboundingbox
- \tkzDuplicateLength(#2,#1)(#2,#3)
+ \tkzDuplicateSegment(#2,#1)(#2,#3)
\pgfnodealias{bi@tmp}{tkzPointResult}
\tkzDefEquilateral(bi@tmp,#1)
+ \ifx\tkz@koeff=1 %
+ \else
+ \tkzVecK[\tkz@koeff](#2,tkzPointResult)
+ \fi
\iftkz@line@normed
- \tkzVecKNorm(#2,tkzPointResult)
+ \tkzVecKNorm[\tkz@koeff](#2,tkzPointResult)
\fi
\endpgfinterruptboundingbox
\endgroup
@@ -132,8 +159,12 @@
\tkzDefMidPoint(#1,out@tmp)
\pgfnodealias{out@pt1}{tkzPointResult}
\tkzURotateAngle(#2,90)(out@pt1)
+ \ifx\tkz@koeff=1 %
+ \else
+ \tkzVecK[\tkz@koeff](#2,tkzPointResult)
+ \fi
\iftkz@line@normed
- \tkzVecKNorm(#2,tkzPointResult)
+ \tkzVecKNorm[\tkz@koeff](#2,tkzPointResult)
\fi
\endpgfinterruptboundingbox
\endgroup
@@ -148,6 +179,13 @@
\tkzDefMidPoint(#1,#3)
\pgfnodealias{sym@pt2}{tkzPointResult}
\tkzUSymOrth(#2,sym@pt1)(sym@pt2)
+ \ifx\tkz@koeff=1 %
+ \else
+ \tkzVecK[\tkz@koeff](#2,tkzPointResult)
+ \fi
+ \iftkz@line@normed
+ \tkzVecKNorm[\tkz@koeff](#2,tkzPointResult)
+ \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 2ab31570ac9..6e63182107a 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
@@ -1,11 +1,20 @@
% tkz-tools-eu-points-by.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-tools-eu-points-by.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-tools-eu-points-by.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Transformations Géométriques
@@ -148,7 +157,9 @@ inversion/.code args={center #1 through #2}{%
{\pgfpointanchor{\PointCS}{center}}%
\tkz@ax=\pgf@x%
\tkz@ay=\pgf@y%
+ \pgfinterruptboundingbox
\path(#1)--++(-\tkz@ax,-\tkz@ay)coordinate (\tkz@pointtsf);
+ \endpgfinterruptboundingbox
}
\endgroup
}
@@ -183,15 +194,16 @@ inversion/.code args={center #1 through #2}{%
%<--------------------------------------------------------------------------–>
\def\tkzUSymOrth(#1,#2)(#3){%
\begingroup
- \pgfpointdiff{\pgfpointanchor{#1}{center}}%
- {\pgfpointanchor{#2}{center}}%
- \tkz@ax =\pgf@y%
- \tkz@ay =\pgf@x%
- \path[coordinate]%
- (#3)--++(-\tkz@ax,\tkz@ay) coordinate (tkz@point);
- \tkzInterLL(#1,#2)(#3,tkz@point)
- \pgfnodealias{tkzPointofSym}{tkzPointResult}
- \tkz@VecK[2](#3,tkzPointofSym)
+ \pgfpointdiff{\pgfpointanchor{#1}{center}}%
+ {\pgfpointanchor{#2}{center}}%
+ \tkz@ax =\pgf@y%
+ \tkz@ay =\pgf@x%
+ \pgfinterruptboundingbox
+ \path[coordinate] (#3)--++(-\tkz@ax,\tkz@ay) coordinate (tkz@point);
+ \endpgfinterruptboundingbox
+ \tkzInterLL(#1,#2)(#3,tkz@point)
+ \pgfnodealias{tkzPointofSym}{tkzPointResult}
+ \tkz@VecK[2](#3,tkzPointofSym)
\endgroup
}
@@ -257,8 +269,10 @@ inversion/.code args={center #1 through #2}{%
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
\pgfmathparse{#2}\edef\tkz@coeff{\pgfmathresult}%
+ \pgfinterruptboundingbox
\path[coordinate](#1)--++(\tkz@coeff\pgf@xa,\tkz@coeff\pgf@ya)%
coordinate(\tkz@pointtsf);
+ \endpgfinterruptboundingbox
}
\endgroup
}
@@ -270,8 +284,10 @@ inversion/.code args={center #1 through #2}{%
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
\pgfmathparse{#2}\edef\tkz@coeff{\pgfmathresult}%
+ \pgfinterruptboundingbox
\path[coordinate](#1)--++(\tkz@coeff\pgf@xa,\tkz@coeff\pgf@ya)%
coordinate(tkzPointResult);
+ \endpgfinterruptboundingbox
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -298,7 +314,9 @@ inversion/.code args={center #1 through #2}{%
{#2}
\tkz@bx\pgf@x%
\tkz@by\pgf@y%
+ \pgfinterruptboundingbox
\path[coordinate](\tkz@bx,\tkz@by)coordinate(\tkz@pointtsf);%
+ \endpgfinterruptboundingbox
}
\endgroup
}
@@ -316,7 +334,9 @@ inversion/.code args={center #1 through #2}{%
{#2}
\tkz@bx\pgf@x%
\tkz@by\pgf@y%
- \path (\tkz@bx,\tkz@by) coordinate (tkzPointResult);%
+ \pgfinterruptboundingbox
+ \path (\tkz@bx,\tkz@by) coordinate (tkzPointResult);%
+ \endpgfinterruptboundingbox
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -345,7 +365,9 @@ inversion/.code args={center #1 through #2}{%
{\tkz@Angle}
\tkz@bx\pgf@x%
\tkz@by\pgf@y%
- \path[coordinate](\tkz@bx,\tkz@by)coordinate(\tkz@pointtsf);
+ \pgfinterruptboundingbox
+ \path[coordinate](\tkz@bx,\tkz@by)coordinate(\tkz@pointtsf);
+ \endpgfinterruptboundingbox
}
\endgroup
}
@@ -365,7 +387,9 @@ inversion/.code args={center #1 through #2}{%
{\tkz@Angle}
\tkz@bx\pgf@x%
\tkz@by\pgf@y%
- \path[coordinate](\tkz@bx,\tkz@by)coordinate(tkzPointResult);
+ \pgfinterruptboundingbox
+ \path[coordinate](\tkz@bx,\tkz@by)coordinate(tkzPointResult);
+ \endpgfinterruptboundingbox
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -381,16 +405,18 @@ inversion/.code args={center #1 through #2}{%
\else
\xdef\tkz@pointtsf{\tkz@FirstPoint}
\fi
- \tkzCalcLength[cm](#1,\PointIP)\tkzGetLength{tkz@lnb}%
- \edef\tkz@lnc{\fpeval{1/\tkz@lnb}}
+ \tkzCalcLength[cm](#1,#2)\tkzGetLength{tkz@lna}
+ \tkzCalcLength[cm](#1,\PointIP)\tkzGetLength{tkz@lnb}
+ \edef\tkz@lnc{\tkz@lna/\tkz@lnb*\tkz@lna}
\tkzVecKNorm[\tkz@lnb](#1,\PointIP)
}
\endgroup
}
\def\tkzUInversePoint(#1,#2)(#3){%
\begingroup
+ \tkzCalcLength[cm](#1,#2)\tkzGetLength{tkz@lna}%
\tkzCalcLength[cm](#1,#3)\tkzGetLength{tkz@lnb}%
- \edef\tkz@lnc{\fpeval{1/\tkz@lnb}}
+ \edef\tkz@lnc{\fpeval{\tkz@lna/\tkz@lnb*\tkz@lna}}
\tkzVecKNorm[\tkz@lnc](#1,#3)
\endgroup
}
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 d11902126dd..30f20fc8b84 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
@@ -1,13 +1,20 @@
% tkz-obj-eu-points-rnd.tex
-% Copyright 2020 by Alain Matthes
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-points-rnd.tex}
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-obj-eu-points-rnd.tex}
%<--------------------------------------------------------------------------–>
\makeatletter
%<-------------------------------------------------------------------------–>
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 6e235de7b3d..8d239713c7f 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
@@ -1,11 +1,20 @@
% tkz-obj-eu-points-with.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-points-with.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-obj-eu-points-with.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Vectors
@@ -72,28 +81,33 @@
linear/.code = {\def\tkz@numv{2}},
orthogonal normed/.code = {\def\tkz@numv{3}},
linear normed/.code = {\def\tkz@numv{4}},
- colinear normed/.code args = {at#1}{\def\tkz@numv{5}\def\tkz@frompoint{#1}},
- K/.code = {\pgfmathparse{#1}\def\tkz@ratio{\pgfmathresult}},
+ colinear normed/.code args = {at #1}{\def\tkz@numv{5}\def\tkz@frompoint{#1}},
+ K/.code = {\edef\tkz@coeff{\fpeval{#1}}},
K = 1,
+ normed/.is if = tkz@line@normed,
+ normed/.default = true,
+ normed = false,
orthogonal
}
-\def\tkzDefPointWith[#1](#2,#3){%
+\def\tkzDefPointWith{\pgfutil@ifnextchar[{\tkz@DefPointWith}{\tkz@DefPointWith[]}}
+
+\def\tkz@DefPointWith[#1](#2,#3){%
\begingroup
\pgfkeys{/@pointwith/.cd,K=1}
\pgfqkeys{/@pointwith}{#1}
\ifcase\tkz@numv%
% first case 0
- \tkz@DefVectorColinearat[\tkz@ratio](#2,#3)
+ \tkz@DefVectorColinearat[\tkz@coeff](#2,#3)
\or% 1
- \tkz@VecKOrth[\tkz@ratio](#2,#3)
+ \tkz@VecKOrth[\tkz@coeff](#2,#3)
\or% 2
- \tkz@VecK[\tkz@ratio](#2,#3)
+ \tkz@VecK[\tkz@coeff](#2,#3)
\or% 3
- \tkz@VecKOrthNorm[\tkz@ratio](#2,#3)
+ \tkz@VecKOrthNorm[\tkz@coeff](#2,#3)
\or% 4
- \tkz@VecKNorm[\tkz@ratio](#2,#3)
+ \tkz@VecKNorm[\tkz@coeff](#2,#3)
\or% 5
- \tkz@VecKColinearNorm[\tkz@ratio](#2,#3)
+ \tkz@VecKColinearNorm[\tkz@coeff](#2,#3)
\fi
\endgroup
}
@@ -102,33 +116,39 @@
%<--------------------------------------------------------------------------–>
% tkz@numv 0
\def\tkz@DefVectorColinearat[#1](#2,#3){%
+\iftkz@line@normed
+ \tkz@VecKColinearNorm[#1](#2,#3)
+\else
\begingroup
\pgfpointdiff{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#3}{center}}%
\pgf@xa=\pgf@x\relax%
\pgf@ya=\pgf@y\relax%
\pgfinterruptboundingbox
- \path (\tkz@frompoint)--++(\tkz@ratio\pgf@xa,\tkz@ratio\pgf@ya) coordinate (tkzPointResult);
+ \path (\tkz@frompoint)--++(\tkz@coeff\pgf@xa,\tkz@coeff\pgf@ya) coordinate (tkzPointResult);
\endpgfinterruptboundingbox
\endgroup
+\fi
}
%<--------------------------------------------------------------------------–>
-% tkzVector K Orth coeff dans #1
-% v(AN) perp v(AB) v(AB) v(AN) sens direct cercle trigo
-% ||v(AN)||=||v(AB)||
+% tkzVector K Orth coeff dans #1
+% v(AN) perp v(AB) (v(AB) , v(AN) ) sens direct cercle trigo
+% ||v(AN)||=||v(AB)||
%<--------------------------------------------------------------------------–>
% tkz@numv 1
\def\tkzVecKOrth{\pgfutil@ifnextchar[{\tkz@VecKOrth}{\tkz@VecKOrth[1]}}
\def\tkz@VecKOrth[#1](#2,#3){%
+\iftkz@line@normed
+ \tkz@VecKOrthNorm[#1](#2,#3)
+\else
\begingroup
\pgfpointdiff{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#3}{center}}%
\pgf@xa=-\pgf@y%
\pgf@ya=\pgf@x%
- \pgfmathparse{#1}
- \let\tkz@coeff\pgfmathresult
\pgfinterruptboundingbox
\path (#2)--++(\tkz@coeff\pgf@xa,\tkz@coeff\pgf@ya) coordinate (tkzPointResult);
\endpgfinterruptboundingbox
\endgroup
+\fi
}%
%<--------------------------------------------------------------------------–>
@@ -138,6 +158,9 @@
% tkz@numv 2
\def\tkzVecK{\pgfutil@ifnextchar[{\tkz@VecK}{\tkz@VecK[1]}}
\def\tkz@VecK[#1](#2,#3){%
+\iftkz@line@normed
+ \tkz@VecKNorm[#1](#2,#3)
+\else
\begingroup
\pgfpointdiff{\pgfpointanchor{#2}{center}}%
{\pgfpointanchor{#3}{center}}%
@@ -147,8 +170,9 @@
\let\tkz@coeff\pgfmathresult
\pgfinterruptboundingbox
\path (#2)--++(\tkz@coeff\pgf@xa,\tkz@coeff\pgf@ya) coordinate (tkzPointResult);
- \endpgfinterruptboundingbox
+ \endpgfinterruptboundingbox
\endgroup
+\fi
}%
%<--------------------------------------------------------------------------–>
% tkzVecKOrthNorm coeff dans #1
@@ -171,7 +195,6 @@
\endpgfinterruptboundingbox
\endgroup
}%
-
%<--------------------------------------------------------------------------–>
% VectorNormalised ou K*VectorNormalised
% A-->#2 B-->#3 N-->#4 v(AB) devient v(AN) tq ||v(AN)||=1 si #1=1
@@ -211,14 +234,12 @@
\endpgfinterruptboundingbox
\endgroup
}%
-
%<--------------------------------------------------------------------------–>
-% VecKCoLinear CN = K x AB #1 pt #2 pt #3 pt #4 nb #5 pt result
+% VecKCoLinear CN = K x AB #1 pt #2 pt #3 pt #4 nb #5 pt result
% il faut modifier cette macro : on supprime #3 pour la colinéarité
% Il suffit d'utiliser Replicate ou Duplicate coeff dans #1
% v(CD)=#1 x v(AB) #1 le coeff; #2-->A #3-->B #4-->C
%<--------------------------------------------------------------------------–>
-
\def\tkz@VecKCoLinear[#1](#2,#3,#4){%
\begingroup
\pgfpointdiff{\pgfpointanchor{#2}{center}}%
@@ -242,7 +263,6 @@
\endpgfinterruptboundingbox
\endgroup
}%
-
%<-------------------------------------------------------------------------–>
\makeatother
\endinput \ No newline at end of file
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 774faae9219..b6d8d45318a 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
@@ -1,11 +1,20 @@
% tkz-obj-eu-points.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-points.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-obj-eu-points.tex}
\makeatletter
%add ExCenter
%<--------------------------------------------------------------------------–>
@@ -151,22 +160,19 @@
%<--------------------------------------------------------------------------–>
\def\tkzOrthoCenter(#1,#2,#3){% H orthocentre
\begingroup
+ \pgfinterruptboundingbox
\tkzUProjection(#1,#2)(#3)
\pgfnodealias{ort@pta}{tkzPointResult}
\tkzUProjection(#1,#3)(#2)
\pgfnodealias{ort@ptb}{tkzPointResult}
\tkzInterLL(#2,ort@ptb)(#3,ort@pta)
+ \endpgfinterruptboundingbox
\endgroup
}
\let\tkzDefOrthoCenter\tkzOrthoCenter
%<--------------------------------------------------------------------------–>
-% GravityCenter
+% GravityCenter modif 3.03
%<--------------------------------------------------------------------------–>
-% \def\tkzCentroid(#1,#2,#3){%
-% \begingroup
-% \path[coordinate](barycentric cs:#1=1,#2=1,#3=1)coordinate (tkzPointResult);
-% \endgroup
-% }
\def\tkzCentroid(#1,#2,#3){%
\begingroup
\pgf@process{\pgfpointanchor{#1}{center}}%
@@ -184,8 +190,9 @@
\advance\tkz@cy by\tkz@by\relax%
\divide\tkz@cx by3\relax%
\divide\tkz@cy by3\relax
- \pgfcoordinate{tkzPointResult}{\pgfqpoint{\tkz@cx}{\tkz@cy}}
- %\path[coordinate](barycentric cs:#1=1,#2=1,#3=1)coordinate (tkzPointResult);
+ \pgfinterruptboundingbox
+ \pgfcoordinate{tkzPointResult}{\pgfqpoint{\tkz@cx}{\tkz@cy}}
+ \endpgfinterruptboundingbox
\endgroup
}
\let\tkzBaryCenter\tkzCentroid
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 b9b29a666e3..d92acc32498 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
@@ -1,11 +1,21 @@
% tkz-obj-eu-polygons.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-polygons.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-obj-eu-polygons.tex}
+% bug in regular polygon side 2020/03/03
\makeatletter
%<--------------------------------------------------------------------------–>
% Polygon
@@ -36,10 +46,10 @@
\def\tkzDefGoldRectangle(#1,#2){
\begingroup
- \tkzVecKOrth[-\tkzInvPhi](#2,#1)
- \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
- \tkzVecKOrth[\tkzInvPhi](#1,#2)
- \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+ \tkzDefPointWith[K=-\tkzInvPhi](#2,#1)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkzDefPointWith[K=\tkzInvPhi](#1,#2)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
\endgroup
}
\def\tkzDrawGoldRectangle{\pgfutil@ifnextchar[{\tkz@DrawGoldRectangle}{%
@@ -50,14 +60,13 @@
\pgfkeys{/defregpoly/.cd,
name/.store in = \tkz@regpolname,
sides/.store in = \tkz@regpolsides,
- center/.code = \def\tkz@numregpol{0},
- side/.code = \def\tkz@numregpol{1},
- center,
- name = P,
- sides = 5
+ center/.code = \def\tkz@numregpol{0},
+ side/.code = \def\tkz@numregpol{1},
+ name/.default = P,
+ sides/.default = 5,
+ center
}
-\def\tkzDefRegPolygon{\pgfutil@ifnextchar[{\tkz@DefRegPolygon}{%
- \tkz@DefRegPolygon[]}}
+\def\tkzDefRegPolygon{\pgfutil@ifnextchar[{\tkz@DefRegPolygon}{\tkz@DefRegPolygon[]}}
\def\tkz@DefRegPolygon[#1](#2,#3){%
\begingroup
\pgfqkeys{/defregpoly}{#1}
@@ -85,7 +94,7 @@
\pgfmathsetmacro{\tkz@regangleside}{(180-\tkz@regangle)/2}
\tkzDefMidPoint(#1,#2)
\pgfnodealias{tkz@tempPt}{tkzPointResult}
-\tkzCalcLength[cm](tkz@tempPt,B) \tkzGetLength{tkz@len}
+\tkzCalcLength[cm](tkz@tempPt,#1) \tkzGetLength{tkz@len}
\pgfmathsetmacro{\tkz@inscriberadius}{%
\tkz@len*tan(90*(\tkz@regpolsides-2)/\tkz@regpolsides)}
\tkzDefPointWith[orthogonal normed,K=\tkz@inscriberadius](tkz@tempPt,#2)
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 b1426b206c3..bfd37bc1ef0 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
@@ -1,11 +1,20 @@
% tkz-obj-eu-protractor.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
- \typeout{2020/01/24 3.02c tkz-obj-eu-protractor.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+ \typeout{2020/03/03 3.05c tkz-obj-eu-protractor.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% !!! idea from Y. Combe !!!
@@ -45,7 +54,6 @@
\draw [>=stealth',->, thick,black] (0:2.5) arc(0:32:2.5);
\draw [>=stealth',->, thick,black] (0:2) arc(0:32:2);
\draw [>=stealth',->, thick,black] (0:1.5) arc(0:32:1.5);
-\tkzActivOn
}
\def\FullProtractorReturn{%
@@ -94,8 +102,9 @@
\tkz@@extractxy{#2}
\global\tkz@ax\pgf@x
\global\tkz@ay\pgf@y
- \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{cmdMO@Rap@rotate}%
-\iftkz@RappReturn
+ \tkzFindSlopeAngle(#2,#3)
+ \tkzGetAngle{cmdMO@Rap@rotate}%
+ \iftkz@RappReturn
\global\let\tkz@@Protractor\FullProtractorReturn
\fi
\pgfmathsetlengthmacro{\MO@lw}{\cmdMO@Rap@lw * \cmdMO@Rap@scale}
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 24fc8456736..fad5b8e70b2 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
@@ -1,11 +1,20 @@
% tkz-obj-eu-sectors.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-sectors.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-obj-eu-sectors.tex}
\makeatletter
%<----------------------- Sectors ------------------------------–>
\tikzset{sstyle/.style={#1}}
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 d1eb78b30e5..40a39c87e30 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
@@ -1,11 +1,20 @@
%tkz-obj-eu-show.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-show.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-obj-eu-show.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% finding specific points in a triangle
@@ -140,7 +149,7 @@
gap = -1,
size = 1}
\pgfkeys{show/.cd,#1}
- \tkzVecKOrth(#2,#3)
+ \tkzDefPointWith(#2,#3)
\pgfnodealias{tkz@OLtmp}{tkzPointResult}
\tkz@VecKCoLinear[1](#2,tkz@OLtmp,#4)
\pgfnodealias{tkzPointCo}{tkzPointResult}
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 5fe6b5d069f..48fa5b973f1 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
@@ -1,11 +1,21 @@
% tkz-obj-eu-triangles.tex
-% Copyright 2019 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-obj-eu-triangles.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-obj-eu-triangles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Triangle Equilateral
@@ -36,17 +46,17 @@
\def\tkzDefTwoOne(#1,#2){
\begingroup
- \tkzVecKOrth[-.5](#2,#1)
+ \tkzDefPointWith[K=-.5](#2,#1)
\endgroup
}
\def\tkzDefPythagore(#1,#2){
\begingroup
- \tkzVecKOrth[-0.75](#2,#1)
+ \tkzDefPointWith[K=-.75](#2,#1)
\endgroup
}
\def\tkzDefSchoolTriangle(#1,#2){
\begingroup
- \tkzVecKOrth[-1](#2,#1)
+ \tkzDefPointWith[K=-1](#2,#1)
\pgfnodealias{tkz@a}{tkzPointResult}
\tkzURotateAngle(#1,30)(#2)
\tkzInterLL(#1,tkzPointResult)(#2,tkz@a)
@@ -65,13 +75,13 @@
}
\def\tkzDefGoldenTriangle(#1,#2){
\begingroup
- \tkzVecKOrth[-\tkzInvPhi](#2,#1)
+ \tkzDefPointWith[K=-\tkzInvPhi](#2,#1)
\endgroup
}
\def\tkzDefCheopsTriangle(#1,#2){
\begingroup
-\tkzDefMidPoint(#1,#2)
- \tkzVecKOrth[-\tkzSqrtPhi](tkzPointResult,#1)
+ \tkzDefMidPoint(#1,#2)
+ \tkzDefPointWith[K=-\tkzSqrtPhi](tkzPointResult,#1)
\endgroup
}
\def\tkzDefTwoAnglesTriangle(#1,#2){
@@ -127,61 +137,11 @@
\or% 7
\tkzDefCheopsTriangle(#2,#3)
\or% 8
- \tkzDefTwoAnglesTriangle(#2,#3) \fi
+ \tkzDefTwoAnglesTriangle(#2,#3)
+ \fi
\endgroup
}
%<--------------------------------------------------------------------------–>
-% Draw Triangles
-%<--------------------------------------------------------------------------–>
-
-\def\tkz@numdtr{0}
-\pgfkeys{/drawtriangle/.cd,
- equilateral/.code = {\def\tkz@numdtr{0}},
- half/.code = {\def\tkz@numdtr{1}},
- pythagore/.code = {\def\tkz@numdtr{2}},
- school/.code = {\def\tkz@numdtr{3}},
- golden/.code = {\def\tkz@numdtr{4}},
- sublime/.code = {\def\tkz@numdtr{4}},
- euclide/.code = {\def\tkz@numdtr{5}},
- gold/.code = {\def\tkz@numdtr{6}},
- cheops/.code = {\def\tkz@numdtr{7}},
- two angles/.code args = {#1 and #2}{\def\tkz@numdtr{8}%
- \def\tkz@alpha{#1}%
- \def\tkz@beta{#2}},
- equilateral,
- /drawtriangle/.search also={/tikz}
-}
-
-\def\tkzDrawTriangle{\pgfutil@ifnextchar[{\tkz@DrawTriangle}{%
- \tkz@DrawTriangle[]}}
-\def\tkz@DrawTriangle[#1](#2,#3){%
-\begingroup
-\pgfkeys{/drawtriangle/.cd,equilateral}
-\pgfqkeys{/drawtriangle}{#1}
-\ifcase\tkz@numdtr%
- \tkzDefEquilateral(#2,#3)
-\or% 1
- \tkzDefTwoOne(#2,#3)
-\or% 2
- \tkzDefPythagore(#2,#3)
-\or% 3
- \tkzDefSchoolTriangle(#2,#3)
-\or% 4
- \tkzDefGoldenTriangle(#2,#3)
-\or% 5
- \tkzDefEuclideTriangle(#2,#3)
-\or% 6
- \tkzDefGoldTriangle(#2,#3)
-\or% 7
- \tkzDefCheopsTriangle(#2,#3)
-\or% 8
- \tkzDefTwoAnglesTriangle(#2,#3)
-\fi
- \draw[/drawtriangle/.cd,line style,#1] (#2)--(#3)--(tkzPointResult)--cycle;
-\endgroup
-}
-
-%<--------------------------------------------------------------------------–>
% les triangles sspécifiques
%<--------------------------------------------------------------------------–>
@@ -250,16 +210,15 @@
%<--------------------------------------------------------------------------–
%<--------------------------------------------------------------------------–>
\def\@DefIncentralTriangle(#1,#2,#3)(#4,#5){%
- \def\tkz@tmp{#5}%
+\def\tkz@tmp{#5}%
\tkz@recuplast(#3)
\tkzDefBisectorLine(#2,#1,\tkz@last)
- \tkzInterLL(#2,\tkz@last)(#1,tkzPointResult)
- \pgfnodealias{#4}{tkzPointResult}
+ \tkzInterLL(#2,\tkz@last)(#1,tkzPointResult)
+ \pgfnodealias{#4}{tkzPointResult}
\ifx\tkz@tmp\tkz@stop\else\@DefIncentralTriangle(#2,#3)(#5)\fi
\pgfnodealias{\tkz@pttr@name#4}{#4}
}
-
\def\tkzDefIncentralTriangle{\pgfutil@ifnextchar[{%
\tkz@DefIncentralTriangle}{%
\tkz@DefIncentralTriangle[]}}
@@ -397,12 +356,14 @@
\let\tkzDefMedialTriangle\tkzDefCentroidTriangle
\let\tkzDefMidpointTriangle\tkzDefCentroidTriangle
%<--------------------------------------------------------------------------–>
-% Orthic Triangle H Ha Hb Hc
+% Orthic Triangle H Ha Hb Hc modif 3.03
%<--------------------------------------------------------------------------–>
\def\@DefOrthicTriangle(#1,#2,#3)(#4,#5){%
\def\tkz@tmp{#5}%
\tkz@recuplast(#3)
- \tkzUProjection(#2,\tkz@last)(#1)
+ \pgfinterruptboundingbox
+ \tkzUProjection(#2,\tkz@last)(#1)
+ \endpgfinterruptboundingbox
\pgfnodealias{#4}{tkzPointResult}
\ifx\tkz@tmp\tkz@stop\else\@DefOrthicTriangle(#2,#3)(#5)\fi
\pgfnodealias{\tkz@pttr@name#4}{#4}
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-angles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-angles.tex
index 85595fe4ca8..9a88ffeaaca 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-angles.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-angles.tex
@@ -1,11 +1,20 @@
% tkz-tools-angles.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-tools-angles.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-tools-angles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
%<--------------------------------------------------------------------------–>
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-intersections.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-intersections.tex
index 7bb8810796e..58a8e6e6c0e 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-intersections.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-intersections.tex
@@ -1,11 +1,20 @@
% tkz-tools-intersections.tex
-% Copyright 2020 by Alain Matthes
-% This file may be distributed and/or modified
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-\def\fileversion{3.02c}
-\def\filedate{2020/01/24}
-\typeout{2020/01/24 3.02c tkz-tools-intersections.tex}
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-tools-intersections.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% intersection de deux lignes
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-math.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-math.tex
new file mode 100644
index 00000000000..97bc6c698a4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-math.tex
@@ -0,0 +1,126 @@
+% tkz-tools-math.tex
+% Copyright 2020 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status “maintained”.
+%
+% The Current Maintainer of this work is Alain Matthes.
+% utf8 encoding
+\def\fileversion{3.05c}
+\def\filedate{2020/03/03}
+\typeout{2020/03/03 3.05c tkz-tools-math.tex}
+\makeatletter
+%<-------------------------------------------------------------------------->
+% \tkzpointnormalised normalise un point A-->A' tq ||v(OA')=1||
+% équivalent de \pgfpointnormalised avec fp
+% example
+% \tkzpointnormalised{%
+% \pgfpointdiff{\pgfpointanchor{A}{center}}
+% {\pgfpointanchor{B}{center}}}
+
+% or
+% \pgf@x=1 cm
+% \pgf@y=12 cm
+% \tkzpointnormalised{}
+%<--------------------------------------------------------------------------
+\def\tkzpointnormalised#1{%
+\pgf@process{#1}%
+\edef\tkz@den{\fpeval{sqrt((\pgf@x)^2+(\pgf@y)^2)}}
+\edef\tkz@coordx{\fpeval{\pgf@x/\tkz@den}}
+\edef\tkz@coordx{\fpeval{round(\tkz@coordx,5)}}
+\edef\tkz@coordy{\fpeval{\pgf@y/\tkz@den}}
+\edef\tkz@coordy{\fpeval{round(\tkz@coordy,5)}}
+\pgf@x = \tkz@coordx pt
+\pgf@y = \tkz@coordy pt
+}
+%<-------------------------------------------------------------------------->
+% restaure and save length
+\def\tkz@save@length{%
+\global\let\tkz@temp@length\tkzLengthResult}%
+\def\tkz@restore@length{%
+ \global\let\tkzLengthResult\tkz@temp@length }%
+%<-------------------------------------------------------------------------->
+% \tkzCalcLength Distance entre deux points en pt ou en cm avec xfp
+% \veclen mais avec fp
+% option cm le résultat est en cm sinon en pt
+%<-------------------------------------------------------------------------->
+\pgfkeys{tkzcalclen/.cd,
+ cm/.is if = tkzLengthIncm,
+ cm/.default = true}
+
+\def\tkzCalcLength{\pgfutil@ifnextchar[{\tkz@CalcLength}{\tkz@CalcLength[]}}
+\def\tkz@CalcLength[#1](#2,#3){%
+\pgfkeys{tkzcalclen/.cd, cm = false}
+\pgfqkeys{/tkzcalclen}{#1}%
+\begingroup
+\tkz@@CalcLength(#2,#3){tkzLengthResult}
+\iftkzLengthIncm
+ \pgfmathparse{\tkz@xfpMathLen pt/1cm}
+ \edef\tkz@xfpMathLen{\fpeval{round(\pgfmathresult,5)}}
+ \global\let\tkzLengthResult\tkz@xfpMathLen
+\fi
+\endgroup
+}%
+\def\tkz@@CalcLength(#1,#2)#3{%
+\pgfpointdiff{\pgfpointanchor{#1}{center}}%
+ {\pgfpointanchor{#2}{center}}%
+\edef\tkz@xfpMathLen{\fpeval{sqrt((\pgf@x)^2+(\pgf@y)^2)}}
+\edef\tkz@xfpMathLen{\fpeval{round(\tkz@xfpMathLen,5)}}
+\global\expandafter\edef\csname #3\endcsname{\tkz@xfpMathLen}
+}
+%<-------------------------------------------------------------------------->
+\def\tkzGetLength#1{%
+\global\expandafter\edef\csname #1\endcsname{\tkzLengthResult}}
+%<-------------------------------------------------------------------------->
+% \tkzpttocm passage de pt   cm div par 28.45274
+%<-------------------------------------------------------------------------->
+\def\tkzpttocm(#1)#2{%
+\begingroup
+ \pgfmathparse{#1/1cm}
+ \edef\tkz@mathresult{\fpeval{round(\pgfmathresult,5)}}
+ \global\let\tkz@mathresult\tkz@mathresult
+ \global\expandafter\edef\csname #2\endcsname{\tkz@mathresult}%
+\endgroup
+}%
+%<-------------------------------------------------------------------------->
+% \tkzcmtopt passage de cm   pt mul par 28.45274
+%<--------------------------------------------------------------------------
+\def\tkzcmtopt(#1)#2{%
+\begingroup
+ \pgfmathparse{#1/1pt}
+ \edef\tkz@mathresult{\fpeval{round(\pgfmathresult,5)}}
+ \global\let\tkz@mathresult\tkz@mathresult
+ \global\expandafter\edef\csname #2\endcsname{\tkz@mathresult}%
+\endgroup
+}%
+%<-------------------------------------------------------------------------->
+% Slope
+%<-------------------------------------------------------------------------->
+\def\tkzFindSlope{\tkz@FindSlope}
+\def\tkz@FindSlope(#1,#2)#3{%
+\begingroup
+ \tkzpointnormalised{\pgfpointdiff{\pgfpointanchor{#1}{center}}%
+ {\pgfpointanchor{#2}{center}}}
+ \edef\tkz@Slope{\fpeval{\pgfmath@tonumber{\pgf@y}/\pgfmath@tonumber{\pgf@x}}}
+ \edef\tkz@Slope{\fpeval{round(\tkz@Slope,5)}}
+ \global\expandafter\edef\csname #3\endcsname{\tkz@Slope}%
+\endgroup
+}
+% Schrodinger's cat idea 03/01/20
+\tikzset{xfp/.code={%
+\pgfmathdeclarefunction*{veclen}{2}{%
+\begingroup%
+ \pgfmath@x##1pt\relax%
+ \pgfmath@y##2pt\relax%
+ \edef\tkz@xfpMathLen{\fpeval{sqrt((\pgf@x)^2+(\pgf@y)^2)}}
+ \pgfmath@returnone\tkz@xfpMathLen pt%
+\endgroup%
+}}}
+ \makeatother
+\endinput \ No newline at end of file