diff options
author | Karl Berry <karl@freefriends.org> | 2020-03-09 21:13:23 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-03-09 21:13:23 +0000 |
commit | 1dfeaad298797209b707cc845743f322f26e5a39 (patch) | |
tree | 47deeec823e058e61be596a80af7638c89177ce8 /Master/texmf-dist/tex/latex | |
parent | 973884a3fae9230a1d3317c8a2d7725e580fa67b (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')
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 |