summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tkz/tkz-euclide
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-euclide')
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/README.md29
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex72
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex204
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersec.tex83
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.pdfbin998875 -> 0 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-others.tex55
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex23
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-triangles.tex54
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdfbin998875 -> 1015168 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty8
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex51
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex69
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex11
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex59
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex53
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex6
45 files changed, 605 insertions, 353 deletions
diff --git a/macros/latex/contrib/tkz/tkz-euclide/README.md b/macros/latex/contrib/tkz/tkz-euclide/README.md
index 54f230b2e0..cda513e6f6 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/README.md
+++ b/macros/latex/contrib/tkz/tkz-euclide/README.md
@@ -1,6 +1,6 @@
# tkz-euclide — for euclidean geometry
-Release 4.00 b 2022/01/04
+Release 4.03 b 2022/01/19
## Description
@@ -73,6 +73,33 @@ The new version of `tkz-euclide` is *not* fully compatible with the version
3.06 but the differences are minor.
## History
+
+- 4.03 Adaptation of the code and documentation to the changes of the macros for the intersections.
+- 4.02
+ Major changes for the macros concerning the intersection of a line and a circle or two circles. If one point of the intersection is known then you can use the "common" option and indicate what the common point is. The second point is given in tkzFirstPointResult.
+ In other cases, for the intersection of two circles the determined points form angles with the centers of the circles. One of the angles measures less than 180 degrees and the other more than 180. The smaller one determines tkzFirstPointResult.
+ For the intersection of a line and a circle, the method is the same except that the angle is formed by a point on the line and the center of the circle.
+
+- 4.01
+ \tkzDefOrthogonalCircle was defined twice so I deleted the version in tkz-obj-eu-circles-by
+
+ In the tkz-obj-eu-draw-lines.tex new code for add dim from muzimuzhi Z.
+ The code comes from an answer on the site tex.stackexchange.com
+
+ In the file tkz-obj-eu-draw-triangles.tex added options
+ pythagoras and egyptian equivalent to pythagore
+ euclid equivalent to euclide
+ two one equivalent to half
+
+ Added option "swap" useful with golden, gold, school, half, pythagoras
+
+ In the file tkz-obj-eu-circles correction of bug in \tkzDefOrthoThroughCircle : \tkz@@CalcLength has been replaced by \tkz@@CalcLengthcm
+
+ Addition of the macro \tkzDefGoldenRatio in tkz-obj-eu-points-spc. It allows to split a segment with a ratio equal to the golden ratio
+
+ Minor corrections of the documentation. New examples about option "dim"
+
+
- 4.00 correction of bugs, tkz-euclide no longer depends on tkz-base. The unit is "cm".
The bounding box is controlled. The documentation has been restructured according to the rule:
set, calculate, draw, mark and fill, label.
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex
index e4d08474d0..181285901c 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-drawing.tex
@@ -255,25 +255,61 @@ This is of course equivalent to \tkzcname{draw (A)--(B);}. You can also use the
\end{tikzpicture}
\end{tkzexample}
+\subsubsection{Adding dimensions with option \tkzname{dim} new code from Muzimuzhi Z}
+This code comes from an answer to this question on tex.stackexchange.com
+(change-color-and-style-of-dimension-lines-in-tkz-euclide )
+You can use now two styles : |dim style| and |dim fence style|. You have several ways to use them.
+I'll let you look at the examples to see what you can do with these styles.
+
+\begin{verbatim}
+ \tikzset{dim style/.append style={dashed}} % append if you want to keep precedent style.
+ or
+ \begin{scope}[ dim style/.append style={orange},
+ dim fence style/.style={dashed}]
+\end{verbatim}
+
+
+\begin{tkzexample}[latex=7cm]
+\begin{tikzpicture}[scale=.75]
+ \tkzDefPoints{0/3/A, 1/-3/B}
+ \tkzDrawPoints(A,B)
+ \tkzDrawSegment[dim={\(l_0\),1cm,right=2mm},
+ dim style/.append style={red,
+ dash pattern={on 2pt off 2pt}}](A,B)
+ \tkzDrawSegment[dim={\(l_1\),2cm,right=2mm},
+ dim style/.append style={blue}](A,B)
+ \begin{scope}[ dim style/.style={orange},
+ dim fence style/.style={dashed}]
+ \tkzDrawSegment[dim={\(l_2\),3cm,right=2mm}](A,B)
+ \tkzDrawSegment[dim={\(l_3\),-2cm,right=2mm}](A,B)
+ \end{scope}
+ \tkzLabelPoints[left](A,B)
+\end{tikzpicture}
+\end{tkzexample}
+
+
\subsubsection{Adding dimensions with option \tkzname{dim} partI}
-\begin{tkzexample}[vbox,small]
-\begin{tikzpicture}[scale=4]
- \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
- % Define the first two points
- \tkzDefPoint(0,0){A}
- \tkzDefPoint(3,0){B}
- \tkzDefPoint(1,1){C}
- % Draw the triangle and the points
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C)
- % Label the sides
- \tkzCalcLength(A,B)\tkzGetLength{ABl}
- \tkzCalcLength(B,C)\tkzGetLength{BCl}
- \tkzCalcLength(A,C)\tkzGetLength{ACl}
- % add dim
- \tkzDrawSegment[dim={\pgfmathprintnumber\BCl,6pt,transform shape}](C,B)
- \tkzDrawSegment[dim={\pgfmathprintnumber\ACl,6pt,transform shape}](A,C)
- \tkzDrawSegment[dim={\pgfmathprintnumber\ABl,-6pt,transform shape}](A,B)
+\begin{tkzexample}[latex=7cm,small]
+\begin{tikzpicture}[scale=2]
+\pgfkeys{/pgf/number format/.cd,fixed,precision=2}
+\tkzDefPoint(0,0){A}
+\tkzDefPoint(3.07,0){B}
+\tkzInterCC[R](A,2.37)(B,1.82)
+\tkzGetPoints{C}{C'}
+\tkzDrawCircle[in](A,B,C) \tkzGetPoint{G}
+\tkzGetLength{rIn}
+\tkzDrawPolygon(A,B,C)
+\tkzDrawPoints(A,B,C)
+\tkzCalcLength(A,B)\tkzGetLength{ABl}
+\tkzCalcLength(B,C)\tkzGetLength{BCl}
+\tkzCalcLength(A,C)\tkzGetLength{ACl}
+\begin{scope}[dim style/.style={dashed,sloped,teal}]
+ \tkzDrawSegment[dim={\pgfmathprintnumber\BCl,6pt,
+ text=red}](C,B)
+ \tkzDrawSegment[dim={\pgfmathprintnumber\ACl,6pt,}](A,C)
+ \tkzDrawSegment[dim={\pgfmathprintnumber\ABl,-6pt,}](A,B)
+\end{scope}
+\tkzLabelPoints(A,B) \tkzLabelPoints[above](C)
\end{tikzpicture}
\end{tkzexample}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex
index 79b340b5db..60ecb19965 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-examples.tex
@@ -41,7 +41,7 @@
\tkzDefPointWith[orthogonal,K=-1](B,A)
\tkzDrawLine[add = .5 and .5](B,tkzPointResult)
\tkzInterLC[R](B,tkzPointResult)(A,8)
- \tkzGetPoints{C}{J}
+ \tkzGetPoints{J}{C}
\tkzDrawSegment(A,B)
\tkzDrawPoints(A,B,C)
\tkzCompass(A,C)
@@ -67,7 +67,7 @@ The figure below shows a semicircle, with diameter $AB$. A tangent line is drawn
\tkzDefPoint(0,0){A}\tkzDefPoint(6,0){D}
\tkzDefPoint(8,0){B}\tkzDefPoint(4,0){I}
\tkzDefLine[orthogonal=through D](A,D)
- \tkzInterLC[R](D,tkzPointResult)(I,4) \tkzGetFirstPoint{C}
+ \tkzInterLC[R](D,tkzPointResult)(I,4) \tkzGetSecondPoint{C}
\tkzDefLine[orthogonal=through C](I,C) \tkzGetPoint{c}
\tkzDefLine[orthogonal=through B](A,B) \tkzGetPoint{b}
\tkzInterLL(C,c)(B,b) \tkzGetPoint{T}
@@ -201,7 +201,7 @@ The figure below shows a semicircle, with diameter $AB$. A tangent line is drawn
\tkzInit[xmin=-1,xmax=11,ymin=-4,ymax=7]
\tkzClip
\tkzDefPoints{0/0/A,8/0/B}
- \tkzDefTriangle[pythagore](A,B)
+ \tkzDefTriangle[pythagore,swap](A,B)
\tkzGetPoint{C}
\tkzDrawPolygon[fill=green!5](A,B,C)
\tkzDefMidPoint(C,A) \tkzGetPoint{I}
@@ -348,7 +348,7 @@ At what angle does he see these two vertices?}
\tkzDefPointWith[orthogonal](I,Y) \tkzGetPoint{i}
\tkzDrawLines[add = 2 and 1,color=orange](I,i)
\tkzInterLL(I,i)(A,B) \tkzGetPoint{Z}
- \tkzInterLC(I,i)(O,B) \tkzGetSecondPoint{M}
+ \tkzInterLC(I,i)(O,B) \tkzGetFirstPoint{M}
\tkzDefPointWith[orthogonal](B,Z) \tkzGetPoint{b}
\tkzDrawCircle(O,B)
\tkzDrawLines[add = 0 and 2,color=orange](B,b)
@@ -379,7 +379,7 @@ The three altitudes of a triangle intersect at the same H-point.
\tkzDefPoint(5,6){A}
\tkzDefMidPoint(C,B) \tkzGetPoint{I}
\tkzInterLC(A,C)(I,B)
- \tkzGetSecondPoint{B'}
+ \tkzGetFirstPoint{B'}
\tkzInterLC(A,B)(I,B)
\tkzGetFirstPoint{C'}
\tkzInterLL(B,B')(C,C') \tkzGetPoint{H}
@@ -403,8 +403,8 @@ The three altitudes of a triangle intersect at the same H-point.
\tkzDefPoint(5,6){C}
\tkzDefMidPoint(A,B)\tkzGetPoint{O}
\tkzDefPointBy[projection=onto A--B](C) \tkzGetPoint{P}
-\tkzInterLC(C,A)(O,A)
-\tkzGetSecondPoint{M}
+\tkzInterLC[common=A](C,A)(O,A)
+\tkzGetFirstPoint{M}
\tkzInterLC(C,B)(O,A)
\tkzGetFirstPoint{N}
\tkzInterLL(B,M)(A,N)\tkzGetPoint{I}
@@ -919,8 +919,8 @@ Another solution
\tkzInterLC[R](A,B)(A,1) \tkzGetPoints{D}{a2}
\tkzDefMidPoint(D,E) \tkzGetPoint{I}
\tkzDrawCircle[orange](I,D)
-\tkzInterLC(X,H)(I,D) \tkzGetPoints{M'}{M}
-\tkzInterLC(M,D)(A,D) \tkzGetPoints{P'}{P}
+\tkzInterLC(X,H)(I,D) \tkzGetPoints{M}{M'}
+\tkzInterLC(M,D)(A,D) \tkzGetPoints{P}{P'}
\tkzInterLC(M,E)(B,E) \tkzGetPoints{Q}{Q'}
\tkzInterLL(P,Q)(A,B) \tkzGetPoint{O}
\tkzDrawSegments[orange](A,P I,M B,Q)
@@ -931,28 +931,28 @@ Another solution
\end{tikzpicture}
\begin{tkzexample}[code only,small]
- \begin{tikzpicture}
- \tkzDefPoints{0/0/A,4/2/B,2/3/K}
- \tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,3)
- \tkzInterCC[R](A,1)(K,3) \tkzGetPoints{a}{a'}
- \tkzInterCC[R](B,3)(K,3) \tkzGetPoints{b}{b'}
- \tkzInterLL(a,a')(b,b') \tkzGetPoint{X}
- \tkzDefPointBy[projection= onto A--B](X) \tkzGetPoint{H}
- \tkzGetPoint{C}
- \tkzInterLC[R](A,B)(B,3) \tkzGetPoints{b1}{E}
- \tkzInterLC[R](A,B)(A,1) \tkzGetPoints{D}{a2}
- \tkzDefMidPoint(D,E) \tkzGetPoint{I}
- \tkzDrawCircle[orange](I,D)
- \tkzInterLC(X,H)(I,D) \tkzGetPoints{M'}{M}
- \tkzInterLC(M,D)(A,D) \tkzGetPoints{P'}{P}
- \tkzInterLC(M,E)(B,E) \tkzGetPoints{Q}{Q'}
- \tkzInterLL(P,Q)(A,B) \tkzGetPoint{O}
- \tkzDrawSegments[orange](A,P I,M B,Q)
- \tkzDrawPoints(A,B,D,E,M,I,O,P,Q,X,H)
- \tkzDrawLines(O,E M,D M,E O,Q)
- \tkzDrawLine[add= 3 and 4,orange](X,H)
- \tkzLabelPoints(A,B,D,E,M,I,O,P,Q,X,H)
- \end{tikzpicture}
+\begin{tikzpicture}
+\tkzDefPoints{0/0/A,4/2/B,2/3/K}
+\tkzDrawCircle[R](A,1)\tkzDrawCircle[R](B,3)
+\tkzInterCC[R](A,1)(K,3) \tkzGetPoints{a}{a'}
+\tkzInterCC[R](B,3)(K,3) \tkzGetPoints{b}{b'}
+\tkzInterLL(a,a')(b,b') \tkzGetPoint{X}
+\tkzDefPointBy[projection= onto A--B](X) \tkzGetPoint{H}
+\tkzGetPoint{C}
+\tkzInterLC[R](A,B)(B,3) \tkzGetPoints{b1}{E}
+\tkzInterLC[R](A,B)(A,1) \tkzGetPoints{D}{a2}
+\tkzDefMidPoint(D,E) \tkzGetPoint{I}
+\tkzDrawCircle[orange](I,D)
+\tkzInterLC(X,H)(I,D) \tkzGetPoints{M}{M'}
+\tkzInterLC(M,D)(A,D) \tkzGetPoints{P}{P'}
+\tkzInterLC(M,E)(B,E) \tkzGetPoints{Q}{Q'}
+\tkzInterLL(P,Q)(A,B) \tkzGetPoint{O}
+\tkzDrawSegments[orange](A,P I,M B,Q)
+\tkzDrawPoints(A,B,D,E,M,I,O,P,Q,X,H)
+\tkzDrawLines(O,E M,D M,E O,Q)
+\tkzDrawLine[add= 3 and 4,orange](X,H)
+\tkzLabelPoints(A,B,D,E,M,I,O,P,Q,X,H)
+\end{tikzpicture}
\end{tkzexample}
@@ -1105,10 +1105,10 @@ Since the triangles $AO_2C$ and $AO_1E$ are isosceles the angles at the base are
\tkzInterCC(O,A)(M_0,B) \tkzGetFirstPoint{D}
\tkzInterLL(O_1,E)(O_2,F) \tkzGetPoint{O_3}
\tkzDefCircle[circum](E,F,B) \tkzGetPoint{0_4}
- \tkzInterLC(A,D)(O_1,A) \tkzGetSecondPoint{I}
- \tkzInterLC(C,D)(O_2,B) \tkzGetFirstPoint{K}
- \tkzInterLC(A,D)(O_3,D) \tkzGetFirstPoint{G}
- \tkzInterLC(C,D)(O_3,D) \tkzGetSecondPoint{H}
+ \tkzInterLC(A,D)(O_1,A) \tkzGetFirstPoint{I}
+ \tkzInterLC(C,D)(O_2,B) \tkzGetSecondPoint{K}
+ \tkzInterLC[common=D](A,D)(O_3,D) \tkzGetFirstPoint{G}
+ \tkzInterLC[common=D](C,D)(O_3,D) \tkzGetFirstPoint{H}
\tkzInterLL(C,G)(B,K) \tkzGetPoint{M}
\tkzInterLL(A,H)(B,I) \tkzGetPoint{L}
\tkzInterLL(L,G)(A,C) \tkzGetPoint{N}
@@ -1188,9 +1188,17 @@ The last example is very complex and it is to show you all that we can do with \
% !TEX TS-program = lualatex
\documentclass{standalone}
\usepackage{tkz-euclide}
+\tkzSetUpColors[background=white,text=black]
+\tkzSetUpCompass[color=orange, line width=.4pt,delta=10]
+\tkzSetUpArc[color=gray,line width=.4pt]
+\tkzSetUpPoint[size=2,color=teal]
+\tkzSetUpLine[line width=.4pt,color=teal]
+\tkzSetUpStyle[orange]{new}
+\tikzset{every picture/.style={line width=.4pt}}
+
\begin{document}
-\begin{tikzpicture}[scale=1]
+\begin{tikzpicture}[scale=.75]
\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
% we need some special points if the triangle, tkz-euclide.sty knows about them
@@ -1218,22 +1226,20 @@ The last example is very complex and it is to show you all that we can do with \
\tkzInterLL(Zc,Ya)(A,B) \tkzGetPoint{A'}
\tkzDefPointBy[reflection= over Ja--Jc](C')\tkzGetPoint{Ab}
\tkzDefPointBy[reflection= over Ja--Jc](A')\tkzGetPoint{Cb}
-
% Now we can get the center of THE CIRCLE : Q
% BUT we need to find the radius or a point on the circle
\tkzInterLL(K,O)(N,Sp) \tkzGetPoint{Q}
-\tkzInterLC(A,B)(Q,Cb) \tkzGetSecondPoint{Ba}
-\tkzInterLC(A,C)(Q,Cb) \tkzGetPoints{Ca}{Ac}
-\tkzInterLC(B,C')(Q,Cb) \tkzGetSecondPoint{Bc}
+\tkzInterLC(A,B)(Q,Cb) \tkzGetFirstPoint{Ba}
+\tkzInterLC(A,C)(Q,Cb) \tkzGetPoints{Ac}{Ca}
+\tkzInterLC(B,C')(Q,Cb) \tkzGetFirstPoint{Bc}
\tkzInterLC(Q,Ja)(Q,Cb) \tkzGetSecondPoint{F'a}
\tkzInterLC(Q,Jc)(Q,Cb) \tkzGetSecondPoint{F'c}
\tkzInterLC(Q,Jb)(Q,Cb) \tkzGetSecondPoint{F'b}
\tkzInterLC(Sp,F'a)(Ja,Za) \tkzGetFirstPoint{Fa}
\tkzInterLC(Sp,F'b)(Jb,Yb) \tkzGetFirstPoint{Fb}
-\tkzInterLC(Sp,F'c)(Jc,Yc) \tkzGetSecondPoint{Fc}
-\tkzInterLC(Mc,Sp)(Q,Cb) \tkzGetSecondPoint{A''}
+\tkzInterLC(Sp,F'c)(Jc,Yc) \tkzGetFirstPoint{Fc}
+\tkzInterLC(Mc,Sp)(Q,Cb) \tkzGetFirstPoint{A''}
\tkzDefLine[parallel=through A''](N,Mc) \tkzGetPoint{q}
-
% Calculations are done, now you can draw, mark and label
\tkzDrawPolygon(A,B,C)
\tkzDrawCircle(Q,Bc)%
@@ -1262,66 +1268,70 @@ The last example is very complex and it is to show you all that we can do with \
\tkzMarkRightAngles(Jc,Zc,A Ja,Xa,B Jb,Yb,C)
\tkzDrawSegments[green,dashed](A,F'a B,F'b C,F'c)
\end{tikzpicture}
-
\end{document}
\end{tkzexample}
\subsubsection*{The result}
%
\begin{tikzpicture}[scale=.6]
- \tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
- \tkzDefTriangleCenter[euler](A,B,C) \tkzGetPoint{N}
- \tkzDefTriangleCenter[circum](A,B,C) \tkzGetPoint{O}
- \tkzDefTriangleCenter[lemoine](A,B,C) \tkzGetPoint{K}
- \tkzDefTriangleCenter[ortho](A,B,C) \tkzGetPoint{H}
- \tkzDefSpcTriangle[excentral,name=J](A,B,C){a,b,c}
- \tkzDefSpcTriangle[centroid,name=M](A,B,C){a,b,c}
- \tkzDefCircle[in](Ma,Mb,Mc) \tkzGetPoint{Sp} % Sp Spieker center
- \tkzDefProjExcenter[name=J](A,B,C)(a,b,c){Y,Z,X}
- \tkzDefLine[parallel=through Za](A,B) \tkzGetPoint{Xc}
- \tkzInterLL(Za,Xc)(C,B) \tkzGetPoint{C'}
- \tkzDefLine[parallel=through Zc](B,C) \tkzGetPoint{Ya}
- \tkzInterLL(Zc,Ya)(A,B) \tkzGetPoint{A'}
- \tkzDefPointBy[reflection= over Ja--Jc](C')\tkzGetPoint{Ab}
- \tkzDefPointBy[reflection= over Ja--Jc](A')\tkzGetPoint{Cb}
- \tkzInterLL(K,O)(N,Sp) \tkzGetPoint{Q}
- \tkzInterLC(A,B)(Q,Cb) \tkzGetSecondPoint{Ba}
- \tkzInterLC(A,C)(Q,Cb) \tkzGetPoints{Ca}{Ac}
- \tkzInterLC(B,C')(Q,Cb) \tkzGetSecondPoint{Bc}
- \tkzInterLC(Q,Ja)(Q,Cb) \tkzGetSecondPoint{F'a}
- \tkzInterLC(Q,Jc)(Q,Cb) \tkzGetSecondPoint{F'c}
- \tkzInterLC(Q,Jb)(Q,Cb) \tkzGetSecondPoint{F'b}
- \tkzInterLC(Sp,F'a)(Ja,Za) \tkzGetFirstPoint{Fa}
- \tkzInterLC(Sp,F'b)(Jb,Yb) \tkzGetFirstPoint{Fb}
- \tkzInterLC(Sp,F'c)(Jc,Yc) \tkzGetSecondPoint{Fc}
- \tkzInterLC(Mc,Sp)(Q,Cb) \tkzGetSecondPoint{A''}
- \tkzDefLine[parallel=through A''](N,Mc) \tkzGetPoint{q}
- \tkzDrawPolygon(A,B,C)
- \tkzDrawCircle(Q,Bc)%
- \tkzDrawCircle[euler,lightgray](A,B,C)
- \tkzDrawCircles[ex](A,B,C B,C,A C,A,B)
- \tkzDrawSegments[dashed](A,A' C,C' A',Zc Za,C' B,Cb B,Ab A,Ca C,Ac Ja,Xa Jb,Yb Jc,Zc)
- \begin{scope}
- \tkzClipCircle(Q,Cb)
- \tkzDrawLine[add=5 and 12,orange](K,O)
- \tkzDrawLine[add=12 and 28,red!50!black](N,Sp)
- \end{scope}
- \tkzDrawSegments[color=green!50!black](Mc,N Mc,A'' A'',Q)
- \tkzDrawSegments[color=red,dashed](Ac,Ab Ca,Cb Ba,Bc Ja,Jc A',Cb C',Ab)
- \tkzDrawSegments[color=red](Cb,Ab Bc,Ac Ba,Ca A',C')
- \tkzMarkSegments[color=red,mark=|](Cb,Ab Bc,Ac Ba,Ca)
- \tkzMarkRightAngles(Jc,Zc,A Ja,Xa,B Jb,Yb,C)
- \tkzDrawSegments[green,dashed](A,F'a B,F'b C,F'c)
- \tkzDrawPoints(A,B,C,K,Ja,Jb,Jc,Q,N,O,Sp,Mc,Xa,Xb,Yb,Yc,Za,Zc,
- A',C',A'',Ab,Cb,Bc,Ca,Ac,Ba,Fa,Fb,Fc,F'a,F'b,F'c)
- \tkzLabelPoints(Ja,Jb,Jc,Q,Xa,Xb,Za,Zc,Ab,Cb,
- Bc, Ca, Ac, Ba, F'b)
- \tkzLabelPoints[above](O, K, F'a, Fa, A'')
- \tkzLabelPoints[below](B, F'c, Yc, N, Sp, Fc, Mc)
- \tkzLabelPoints[left](A', C', Fb)
- \tkzLabelPoints[right](C)
- \tkzLabelPoints[below right](A)
- \tkzLabelPoints[above right](Yb)
+\tkzDefPoints{0/0/A,6/0/B,0.8/4/C}
+\tkzDefTriangleCenter[euler](A,B,C) \tkzGetPoint{N}
+\tkzDefTriangleCenter[circum](A,B,C) \tkzGetPoint{O}
+\tkzDefTriangleCenter[lemoine](A,B,C) \tkzGetPoint{K}
+\tkzDefTriangleCenter[ortho](A,B,C) \tkzGetPoint{H}
+\tkzDefSpcTriangle[excentral,name=J](A,B,C){a,b,c}
+\tkzDefSpcTriangle[centroid,name=M](A,B,C){a,b,c}
+\tkzDefCircle[in](Ma,Mb,Mc) \tkzGetPoint{Sp}
+
+\tkzDefProjExcenter[name=J](A,B,C)(a,b,c){Y,Z,X}
+\tkzDefLine[parallel=through Za](A,B) \tkzGetPoint{Xc}
+\tkzInterLL(Za,Xc)(C,B) \tkzGetPoint{C'}
+\tkzDefLine[parallel=through Zc](B,C) \tkzGetPoint{Ya}
+\tkzInterLL(Zc,Ya)(A,B) \tkzGetPoint{A'}
+\tkzDefPointBy[reflection= over Ja--Jc](C')\tkzGetPoint{Ab}
+\tkzDefPointBy[reflection= over Ja--Jc](A')\tkzGetPoint{Cb}
+
+\tkzInterLL(K,O)(N,Sp) \tkzGetPoint{Q}
+\tkzInterLC(A,B)(Q,Cb) \tkzGetFirstPoint{Ba}
+\tkzInterLC(A,C)(Q,Cb) \tkzGetPoints{Ac}{Ca}
+\tkzInterLC(B,C')(Q,Cb) \tkzGetFirstPoint{Bc}
+\tkzInterLC(Q,Ja)(Q,Cb) \tkzGetSecondPoint{F'a}
+\tkzInterLC(Q,Jc)(Q,Cb) \tkzGetSecondPoint{F'c}
+\tkzInterLC(Q,Jb)(Q,Cb) \tkzGetSecondPoint{F'b}
+\tkzInterLC(Sp,F'a)(Ja,Za) \tkzGetFirstPoint{Fa}
+\tkzInterLC(Sp,F'b)(Jb,Yb) \tkzGetFirstPoint{Fb}
+\tkzInterLC(Sp,F'c)(Jc,Yc) \tkzGetFirstPoint{Fc}
+\tkzInterLC(Mc,Sp)(Q,Cb) \tkzGetFirstPoint{A''}
+\tkzDefLine[parallel=through A''](N,Mc) \tkzGetPoint{q}
+\tkzDrawPolygon(A,B,C)
+\tkzDrawCircle(Q,Bc)%
+\tkzDrawCircle[euler,lightgray](A,B,C)
+\tkzDrawCircles[ex](A,B,C B,C,A C,A,B)
+\tkzDrawSegments[dashed](A,A' C,C' A',Zc Za,C' B,Cb B,Ab A,Ca C,Ac
+ Ja,Xa Jb,Yb Jc,Zc)
+
+\begin{scope}
+ \tkzClipCircle(Q,Cb)
+ \tkzDrawLine[add=5 and 12,orange](K,O)
+ \tkzDrawLine[add=12 and 28,red!50!black](N,Sp)
+\end{scope}
+
+\tkzDrawPoints(A,B,C,K,Ja,Jb,Jc,Q,N,O,Sp,Mc,Xa,Xb,Yb,Yc,Za,Zc)
+\tkzDrawPoints(A',C',A'',Ab,Cb,Bc,Ca,Ac,Ba,Fa,Fb,Fc,F'a,F'b,F'c)
+\tkzLabelPoints(Ja,Jb,Jc,Q,Xa,Xb,Za,Zc,Ab,Cb,Bc,Ca,Ac,Ba,F'b)
+\tkzLabelPoints[above](O,K,F'a,Fa,A'')
+\tkzLabelPoints[below](B,F'c,Yc,N,Sp,Fc,Mc)
+\tkzLabelPoints[left](A',C',Fb)
+\tkzLabelPoints[right](C)
+\tkzLabelPoints[below right](A)
+\tkzLabelPoints[above right](Yb)
+\tkzDrawSegments[color=green!50!black](Mc,N Mc,A'' A'',Q)
+\tkzDrawSegments[color=red,dashed](Ac,Ab Ca,Cb Ba,Bc Ja,Jc A',Cb C',Ab)
+\tkzDrawSegments[color=red](Cb,Ab Bc,Ac Ba,Ca A',C')
+\tkzMarkSegments[color=red,mark=|](Cb,Ab Bc,Ac Ba,Ca)
+\tkzMarkRightAngles(Jc,Zc,A Ja,Xa,B Jb,Yb,C)
+\tkzDrawSegments[green,dashed](A,F'a B,F'b C,F'c)
\end{tikzpicture}
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersec.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersec.tex
index 2fb014f30c..a8676a2854 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersec.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-intersec.tex
@@ -45,6 +45,7 @@ options & default & definition \\
\TOline{N} {N} { (O,C) determines the circle}
\TOline{R} {N} { (O, 1 ) unit 1 cm}
\TOline{with nodes}{N} { (O,C,D) CD is a radius}
+\TOline{common} {} { common = pt if pt is common point}
\bottomrule
\end{tabular}
@@ -72,6 +73,41 @@ In the following example, the drawing of the circle uses two points and the inte
\end{tikzpicture}
\end{tkzexample}
+\subsubsection{Line-circle intersection with common point}
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{0/0/O,5/1/A,2/2/B}
+ \tkzInterLC[common=A](B,A)(O,A)\tkzGetFirstPoint{C}
+ \tkzDrawPoints(O,A,B)
+ \tkzDrawCircle(O,A)
+ \tkzDrawLine(A,C)
+ \tkzDrawPoint(C)
+ \tkzLabelPoints(A,B,C)
+ \end{tikzpicture}
+\end{tkzexample}
+
+
+\subsubsection{Line-circle intersection order of points}
+The idea is to compare the angles formed with the first defining point of the line, a resultant point and the center of the circle. The first point is the one that corresponds to the smallest angle.
+
+As you can see $\widehat{BCO} < \widehat{BEO} $
+
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{0/0/O,5/1/A,2/2/B,3/1/D}
+ \tkzInterLC[common=A](B,D)(O,A) \tkzGetPoints{C}{E}
+ \tkzDrawPoints(O,A,B,D)
+ \tkzDrawCircle(O,A)
+ \tkzDrawLine(E,C)
+ \tkzDrawSegments[dashed](B,O O,C)
+ \tkzMarkAngle[->,size=1.5](B,C,O)
+ \tkzDrawSegments[dashed](O,E)
+ \tkzMarkAngle[->,size=1.5](B,E,O)
+ \tkzDrawPoints(C,E)
+ \tkzLabelPoints(O,A,B,C,D,E)
+ \end{tikzpicture}
+\end{tkzexample}
+
\subsubsection{Line-circle intersection in Sangaku}
\begin{tkzexample}[vbox,small]
@@ -95,15 +131,15 @@ In the following example, the drawing of the circle uses two points and the inte
\tkzDefPoint["$B$" below right](\ORadius,0){B}
\tkzDefPoint["$O_2$" below left](\OORadius-\ORadius,0){O2}
\tkzDefLine[mediator](A,B) \tkzGetPoints{mr}{ml}
- \tkzInterLC[R](D,mr)(O,\ORadius) \tkzGetPoints{C}{E}
+ \tkzInterLC[R](D,mr)(O,\ORadius) \tkzGetPoints{E}{C}
\tkzDefLine[orthogonal=through A](X,A) \tkzGetPoint{pr}
\ifdim\XA pt < 0 pt\relax
- \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O4}{O3}
+ \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O3}{O4}
\else
\ifdim\XA pt = 0pt\relax
- \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O4}{O3}
- \else
\tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O3}{O4}
+ \else
+ \tkzInterLC[R](A,pr)(O,\OOOORadius) \tkzGetPoints{O4}{O3}
\fi
\fi
\tkzDefPointBy[projection=onto A--C](O3) \tkzGetPoint{H}
@@ -252,7 +288,42 @@ This macro defines the intersection point(s) $I$ and $J$ of the two center circl
It is also possible to use directly \tkzcname{tkzInterCCN} and \tkzcname{tkzInterCCR}.
\end{NewMacroBox}
-\subsubsection{Construction of an equilateral triangle}
+\subsubsection{circle-circle intersection with common point.}
+
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{0/0/O,5/-1/A,2/2/B}
+ \tkzDrawPoints(O,A,B)
+ \tkzDrawCircles(O,B A,B)
+ \tkzInterCC[common=B](O,B)(A,B)\tkzGetFirstPoint{C}
+ \tkzDrawPoint(C)
+ \tkzLabelPoints(O,A,B,C)
+ \end{tikzpicture}
+\end{tkzexample}
+
+\subsubsection{circle-circle intersection order of points.}
+The idea is to compare the angles formed with the first center, a resultant point and the center of the second circle. The first point is the one that corresponds to the smallest angle.
+
+As you can see $\widehat{ODB} < \widehat{OBE} $
+
+\begin{tkzexample}[latex=7cm,small]
+ \begin{tikzpicture}[scale=.5]
+ \tkzDefPoints{0/0/O,5/-1/A,2/2/B,2/-1/C}
+ \tkzDrawPoints(O,A,B)
+ \tkzDrawCircles(O,A B,C)
+ \tkzInterCC(O,A)(B,C)\tkzGetPoints{D}{E}
+ \tkzDrawPoints(C,D,E)
+ \tkzLabelPoints(O,A,B,C,D,E)
+ \tkzDrawSegments[dashed](D,O D,B)
+ \tkzMarkAngle[->,size=1.5](O,D,B)
+ \tkzDrawSegments[dashed](E,O E,B)
+ \tkzMarkAngle[->,size=1.5](O,E,B)
+ \end{tikzpicture}
+\end{tkzexample}
+
+
+
+\subsubsection{Construction of an equilateral triangle.}
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[trim left=-1cm,scale=.5]
\tkzDefPoint(1,1){A}
@@ -269,7 +340,7 @@ It is also possible to use directly \tkzcname{tkzInterCCN} and \tkzcname{tkzInte
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Example a mediator}
+\subsubsection{Example a mediator.}
\begin{tkzexample}[latex=7cm,small]
\begin{tikzpicture}[scale=.5]
\tkzDefPoint(0,0){A}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.pdf b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.pdf
deleted file mode 100644
index 91d7ecba05..0000000000
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex
index 6b0f8f1c17..e02856ecd3 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-main.tex
@@ -18,15 +18,15 @@
index = totoc,
twoside,
headings = small,
- cadre
+ %cadre
]{tkz-doc}
%\usepackage{etoc}
\gdef\tkznameofpack{tkz-euclide}
-\gdef\tkzversionofpack{4.00}
-\gdef\tkzdateofpack{2022/01/04}
+\gdef\tkzversionofpack{4.03}
+\gdef\tkzdateofpack{2022/01/20}
\gdef\tkznameofdoc{doc-tkz-euclide}
-\gdef\tkzversionofdoc{4.00}
-\gdef\tkzdateofdoc{2022/01/04}
+\gdef\tkzversionofdoc{4.03}
+\gdef\tkzdateofdoc{2022/01/20}
\gdef\tkzauthorofpack{Alain Matthes}
\gdef\tkzadressofauthor{}
\gdef\tkznamecollection{AlterMundus}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-others.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-others.tex
index 30af7dd713..47886c814d 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-others.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-others.tex
@@ -1,4 +1,3 @@
-
\section{Different authors}
\subsection{Code from Andrew Swan}
@@ -224,7 +223,7 @@ Below the figure used to illustrate the proof of the “Gou gu theorem.” (cod
\tkzCalcLength(A',B) \tkzGetLength{lB}
\pgfmathparse{\lA-\lB}
\tkzInterLC[R](A,A')(A',\pgfmathresult)
- \tkzGetFirstPoint{D'}
+ \tkzGetSecondPoint{D'}
\tkzDefSquare(D',A')\tkzGetPoints{B'}{C'}
\tkzDefLine[orthogonal=through D](D,D')
\tkzGetPoint{d}
@@ -279,7 +278,6 @@ Advanced Mathematics, Drawing geometry pictures.
\end{tikzpicture}
\begin{tikzpicture}
-
\tkzDefPoint(0,0){A} \tkzDefPoint(4,1){B}
\tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{D}
\tkzInterLC(A,B)(B,A) \tkzGetPoints{F}{E}
@@ -288,13 +286,13 @@ Advanced Mathematics, Drawing geometry pictures.
\tkzCompasss[color=red, very thick](A,C B,C A,D B,D)
\begin{scope}
- \tkzSetUpArc[fill=blue!10,thick,delta=0]
- \tkzDrawArc(A,B)(C)
- \tkzDrawArc(B,C)(A)
- \tkzDrawArc(C,A)(B)
+ \tkzSetUpArc[thick,delta=0]
+ \tkzDrawArc[fill=blue!10](A,B)(C)
+ \tkzDrawArc[fill=blue!10](B,C)(A)
+ \tkzDrawArc[fill=blue!10](C,A)(B)
\end{scope}
-
- \tkzMarkAngles[fill=yellow,opacity=0.5](D,A,E A,E,D)
+ \tkzMarkAngles(D,A,E A,E,D)
+ \tkzFillAngles[fill=yellow,opacity=0.5](D,A,E A,E,D)
\tkzMarkRightAngle[size=0.65,fill=red!20,opacity=0.2](A,D,E)
\tkzLabelAngle[pos=0.7](D,A,E){$\alpha$}
@@ -316,4 +314,43 @@ Advanced Mathematics, Drawing geometry pictures.
\end{tikzpicture}
+\begin{tkzexample}[code only,small]
+ \begin{tikzpicture}
+ \tkzDefPoint(0,0){A} \tkzDefPoint(4,1){B}
+ \tkzInterCC(A,B)(B,A) \tkzGetPoints{C}{D}
+ \tkzInterLC(A,B)(B,A) \tkzGetPoints{F}{E}
+ \tkzDrawCircles[dashed](A,B B,A)
+ \tkzDrawPolygons(A,B,C A,E,D)
+ \tkzCompasss[color=red, very thick](A,C B,C A,D B,D)
+ \begin{scope}
+ \tkzSetUpArc[thick,delta=0]
+ \tkzDrawArc[fill=blue!10](A,B)(C)
+ \tkzDrawArc[fill=blue!10](B,C)(A)
+ \tkzDrawArc[fill=blue!10](C,A)(B)
+ \end{scope}
+ \tkzMarkAngles(D,A,E A,E,D)
+ \tkzFillAngles[fill=yellow,opacity=0.5](D,A,E A,E,D)
+ \tkzMarkRightAngle[size=0.65,fill=red!20,opacity=0.2](A,D,E)
+ \tkzLabelAngle[pos=0.7](D,A,E){$\alpha$}
+ \tkzLabelAngle[pos=0.8](A,E,D){$\beta$}
+ \tkzLabelAngle[pos=0.5,xshift=-1.4mm](A,D,D){$90^\circ$}
+ \begin{scope}[font=\small]
+ \tkzLabelSegment[below=0.6cm,align=center](A,B){Reuleaux\\triangle}
+ \tkzLabelSegment[above right,sloped](A,E){hypotenuse}
+ \tkzLabelSegment[below,sloped](D,E){opposite}
+ \tkzLabelSegment[below,sloped](A,D){adjacent}
+ \tkzLabelSegment[below right=4cm](A,E){Thales circle}
+ \end{scope}
+ \tkzLabelPoints[below left](A)
+ \tkzLabelPoints(B,D)
+ \tkzLabelPoint[above](C){$C$}
+ \tkzLabelPoints(E)
+ \tkzDrawPoints(A,...,E)
+
+ \end{tikzpicture}
+\end{tkzexample}
+
+
+
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex
index 826c521f80..56af228c28 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex
@@ -92,7 +92,7 @@ We want to draw a circle around the points $A$ and $B$ whose radius is given by
|\tkzDrawCircles(A,B B,A)|
}
-The intersection of the circles
+The intersection of the circles $\mathcal{D}$ and $\mathcal{E}$
\medskip
@@ -158,7 +158,7 @@ How to draw points :
Explanation
-In the first part, we need to find the midpoint of the straight line $AB$. With TikZ we can use the calc library
+In the first part, we need to find the midpoint of the straight line $AB$. With \TIKZ\ we can use the calc library
\medskip
\hspace*{1cm}\vbox{\orange |\coordinate [label=left:$A$] (A) at (0,0);|\\
@@ -193,7 +193,7 @@ We can draw the triangle at the end of the picture with
\hspace*{1cm}\vbox{\red |\tkzDrawPolygon{A,B,C}|}
\medskip
-We know how to draw the circle around $B$ through $C$ and how to place the points $E$ and $F$
+We know how to draw the circle $\mathcal{H}$ around $B$ through $C$ and how to place the points $E$ and $F$
\medskip
\hspace*{1cm}\vbox{\orange
@@ -209,8 +209,8 @@ We know how to draw the circle around $B$ through $C$ and how to place the point
\medskip
We can place the points $E$ and $F$ at the end of the picture. We don't need them now.
-Intersecting a Line and a Circle : here we search the intersection of the circle around B through C and the line DB.
-The infinite straight line DB intercepts the circle but with TikZ we need to extend the lines DB and that can be done using partway calculations. We get the point F and BF or DF intercepts the circle
+Intersecting a Line and a Circle : here we search the intersection of the circle around $B$ through $C$ and the line $DB$.
+The infinite straight line $DB$ intercepts the circle but with \TIKZ\ we need to extend the lines $DB$ and that can be done using partway calculations. We get the point $F$ and $BF$ or $DF$ intercepts the circle
\medskip
\hspace*{1cm}\vbox{\orange| \node (H) [label=135:$H$,draw,circle through=(C)] at (B) {}; | \\
@@ -219,14 +219,17 @@ The infinite straight line DB intercepts the circle but with TikZ we need to ext
|\fill[red,opacity=.5] (G) circle (2pt);|} \\
\medskip
-Like the intersection of two circles, it's easy to find the intersection of a line and a circle with \pkg{elements}. We don't need $F$
+Like the intersection of two circles, it's easy to find the intersection of a line and a circle with \pkg{tkz-euclide}. We don't need $F$
\medskip
\hspace*{1cm}\vbox{\red | \tkzInterLC(B,D)(B,C)\tkzGetFirstPoint{G}|}
\medskip
-there are no more difficulties. Here the final code with some simplications.
+There are no more difficulties. Here the final code with some simplications.
+Nous tracons le cercle $\mathcal{K}$ de centre $D$ et passant par $G$. Il coupe la droite $AD$ au point $L$. $AL = BC$.
+\hspace*{1cm}\vbox{\red | \tkzDrawCircle(D,G)|}
+\hspace*{1cm}\vbox{\red | \tkzInterLC(D,A)(D,G)\tkzGetSecondPoint{L}|}
\begin{tkzexample}[vbox,small]
\begin{tikzpicture}[scale=2]
@@ -240,15 +243,15 @@ there are no more difficulties. Here the final code with some simplications.
\tkzDrawLines[add=0 and 2](D,A D,B)
\tkzDrawSegment(A,B)
\tkzDrawSegments[red](A,L B,C)
- \tkzDrawPoints[red](D,L)
+ \tkzDrawPoints[red](D,L,G)
\tkzDrawPoints[fill=gray](A,B,C)
\tkzLabelPoints[left,red](A)
\tkzLabelPoints[below right,red](L)
- \tkzLabelCircle[above left=6pt](B,G)(180){$H$}
+ \tkzLabelCircle[above left=6pt](B,G)(180){$\mathcal{H}$}
\tkzLabelPoints[above left](D,G)
\tkzLabelPoints[above,red](C)
\tkzLabelPoints[right,red](B)
- \tkzLabelCircle[above left=6pt](D,G)(180){$K$}
+ \tkzLabelCircle[above left=6pt](D,G)(180){$\mathcal{K}$}
\end{tikzpicture}
\end{tkzexample}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex
index 3a35b4ba2b..01bcc1bce7 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-show.tex
@@ -147,7 +147,7 @@ You'll find this figure again, but without the construction features.
\tkzDefMidPoint(A,B) \tkzGetPoint{O}
\tkzDefPointBy[projection=onto A--B](I)
\tkzGetPoint{J}
- \tkzInterLC(I,A)(O,A) \tkzGetPoints{M'}{M}
+ \tkzInterLC(I,A)(O,A) \tkzGetPoints{M}{M'}
\tkzInterLC(I,B)(O,A) \tkzGetPoints{N}{N'}
\tkzDrawSemiCircle[diameter](A,B)
\tkzDrawSegments(I,A I,B A,B B,M A,N)
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-triangles.tex b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-triangles.tex
index 5becdf0e2f..990862afff 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-triangles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-triangles.tex
@@ -28,13 +28,17 @@ options & default & definition \\
\midrule
\TOline{two angles= \#1 and \#2}{no defaut}{triangle knowing two angles}
\TOline{equilateral} {equilateral}{equilateral triangle }
+\TOline{half} {equilateral}{B rectangle $AB=2BC$ $AC$ hypothenuse }
\TOline{isosceles right} {equilateral}{isosceles right triangle }
\TOline{pythagore}{equilateral}{proportional to the pythagorean triangle 3-4-5}
+\TOline{pythagoras}{equilateral}{same as above}
+\TOline{egyptian}{equilateral}{same as above}
\TOline{school} {equilateral}{angles of 30, 60 and 90 degrees }
\TOline{gold}{equilateral}{angles of 72, 72 and 36 degrees, $A$ is the apex}
\TOline{euclid} {equilateral}{same as above but $[AB]$ is the base}
\TOline{golden} {equilateral}{B rectangle and $AB/AC = \Phi$}
\TOline{cheops} {equilateral}{AC=BC, AC and BC are proportional to $2$ and $\Phi$.}
+\TOline{swap} {false}{gives the symmetric point with respect to $AB$}
\bottomrule
\end{tabular}
@@ -42,6 +46,22 @@ options & default & definition \\
\tkzcname{tkzGetPoint} allows you to store the point otherwise \tkzname{tkzPointResult} allows for immediate use.
\end{NewMacroBox}
+\subsubsection{Option \tkzname{equilateral}}
+\begin{tkzexample}[latex=7 cm,small]
+\begin{tikzpicture}
+ \tkzDefPoint(0,0){A}
+ \tkzDefPoint(4,0){B}
+ \tkzDefTriangle[equilateral](A,B)
+ \tkzGetPoint{C}
+ \tkzDrawPolygons(A,B,C)
+ \tkzDefTriangle[equilateral](B,A)
+ \tkzGetPoint{D}
+ \tkzDrawPolygon(B,A,D)
+ \tkzMarkSegments[mark=s|](A,B B,C A,C A,D B,D)
+\end{tikzpicture}
+\end{tkzexample}
+
+
\subsubsection{Option \tkzname{two angles}}
\begin{tkzexample}[latex=6 cm,small]
\begin{tikzpicture}
@@ -95,6 +115,23 @@ This triangle has sides whose lengths are proportional to 3, 4 and 5.
\end{tikzpicture}
\end{tkzexample}
+\subsubsection{Option \tkzname{pythagore} and \tkzname{swap}}
+This triangle has sides whose lengths are proportional to 3, 4 and 5.
+
+\begin{tkzexample}[latex=6 cm,small]
+\begin{tikzpicture}
+ \tkzDefPoints{0/0/A,4/0/B}
+ \tkzDefTriangle[pythagore,swap](A,B)
+ \tkzGetPoint{C}
+ \tkzDrawSegments(A,B)
+ \tkzDrawSegments[new](A,C B,C)
+ \tkzMarkRightAngles(A,B,C)
+ \tkzLabelPoint[above,new](C){$C$}
+ \tkzDrawPoints[new](C)
+ \tkzDrawPoints(A,B)
+ \tkzLabelPoints(A,B)
+\end{tikzpicture}
+\end{tkzexample}
\subsubsection{Option \tkzname{golden}}
\begin{tkzexample}[latex=6 cm,small]
@@ -111,22 +148,17 @@ This triangle has sides whose lengths are proportional to 3, 4 and 5.
\end{tikzpicture}
\end{tkzexample}
-\subsubsection{Option \tkzname{equilateral} and \tkzname{isosceles right}}
+\subsubsection{Option \tkzname{isosceles right}}
\begin{tkzexample}[latex=7 cm,small]
\begin{tikzpicture}
\tkzDefPoint(0,0){A}
\tkzDefPoint(4,0){B}
- \tkzDefTriangle[equilateral](A,B)
- \tkzGetPoint{C}
\tkzDefTriangle[isosceles right](A,B)
- \tkzGetPoint{E}
- \tkzDrawPolygons(A,B,C A,B,E)
- \tkzDefTriangle[equilateral](B,A)
- \tkzGetPoint{D}
- \tkzDrawPolygon(B,A,D)
- \tkzMarkRightAngles(B,E,A)
- \tkzDrawPoints(A,B,C,D,E)
- \tkzLabelPoints(A,B,C,D,E)
+ \tkzGetPoint{C}
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzMarkRightAngles(A,C,B)
+ \tkzLabelPoints(A,B,C)
\end{tikzpicture}
\end{tkzexample}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf b/macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf
index 91d7ecba05..f00c25c789 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf
+++ b/macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
index fe8738e153..fee32ea5fc 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
@@ -16,9 +16,9 @@
% and save the file in a directory part of your TEXINPUTS environment
% variable.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-euclide.cfg}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-euclide.cfg}
%<------ colors ---------------------------------------–>
\def\tkz@backgroundcolor{white}
\def\tkz@textcolor{black}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
index 9c27ae7620..ffe08e9468 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
@@ -10,11 +10,11 @@
% The Current Maintainer of this work is Alain Matthes.
%<------------------------------------------------------------>
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-euclide.sty}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-euclide.sty}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tkz-euclide}[ 2022/01/04 4.00 for pure Euclidean Geometry ]
+\ProvidesPackage{tkz-euclide}[ 2022/01/19 4.03 for pure Euclidean Geometry ]
\@ifpackageloaded{tkz-base}{
\newdimen\tkzRadius
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex
index f78e764632..86bb1c2f75 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-lib-eu-marks.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-lib-eu-marks.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Création des symboles
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex
index 234ba5084f..2445260c3e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-lib-eu-shape.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-lib-eu-shape.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Création des symboles
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex
index 2c230a6f07..e7ba177379 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-axesmin}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-axesmin}
\makeatletter
\newif\ifinteger
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex
index c4824009ce..506ec8c739 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-circles.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-circles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzCircle center and one point
@@ -44,6 +44,9 @@
\def\tkz@pttwo{#2}},
inversion/.code args={center #1 through #2}{ \def\tkz@numcby{7}
\def\tkzcenter{#1}
+ \def\tkzpoint{#2}},
+ inversion negative/.code args = {center #1 through #2}{\def\tkz@numcby{8}
+ \def\tkzcenter{#1}
\def\tkzpoint{#2}}
}
\def\tkzDefCircleBy{\pgfutil@ifnextchar[{\tkz@DefCircleBy}{\tkz@DefCircleBy[]}}
@@ -66,6 +69,8 @@
\tkzDefOrthoThroughCircle(#2,\tkz@ptone,\tkz@pttwo)
\or% 7
\tkzDefInversionCircle(#2,\tkzcenter,\tkzpoint)
+ \or% 8
+ \tkzDefInversionNegativeCircle(#2,\tkzcenter,\tkzpoint)
\fi
\endgroup
}
@@ -115,24 +120,6 @@
\endgroup
}
%<--------------------------------------------------------------------------–>
-\def\tkzDefOrthogonalCircle(#1,#2,#3){%
-\begingroup
- \tkzTgtFromP(#1,#2)(#3)
- \tkz@@CalcLengthcm(#1,tkzFirstPointResult){tkzLengthResult}
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
-\def\tkzDefOrthoThroughCircle(#1,#2,#3,#4){%
-\begingroup
- \tkz@@CalcLengthcm(#1,#3){tkz@lnb}%
- \edef\tkz@lnc{\fpeval{1/\tkz@lnb}}
- \tkzVecKNorm[\tkz@lnc](#1,#3)
- \pgfnodealias{tkz@PointResult}{tkzPointResult}
- \tkzCircumCenter(tkz@PointResult,#3,#4)
- \tkz@@CalcLength(tkzPointResult,#3){tkzLengthResult}
-\endgroup
-}
-%<--------------------------------------------------------------------------–>
\def\tkzDefInversionCircle(#1,#2,#3,#4){%
\begingroup
\tkzInterLC(#3,#1)(#1,#2) \tkzGetPoints{tkz@p1}{tkz@p2}
@@ -143,17 +130,17 @@
\endgroup
}
%<--------------------------------------------------------------------------–>
-% \def\tkzDefInversionNegativeCircle(#1,#2,#3,#4){%
-% \begingroup
-% \tkzInterLC(#3,#1)(#1,#2) \tkzGetPoints{tkz@p1}{tkz@p2}
-% \tkzUInversePoint(\tkzcenter,\tkzpoint)(tkz@p1)
-% \tkzUCSym(\tkzcenter)(tkzPointResult)
-% \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
-% \tkzUInversePoint(\tkzcenter,\tkzpoint)(tkz@p2)
-% \tkzUCSym(\tkzcenter)(tkzPointResult)
-% \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
-% \endgroup
-% }
+\def\tkzDefInversionNegativeCircle(#1,#2,#3,#4){%
+\begingroup
+ \tkzInterLC(#3,#1)(#1,#2) \tkzGetPoints{tkz@p1}{tkz@p2}
+ \tkzUInversePoint(\tkzcenter,\tkzpoint)(tkz@p1)
+ \tkzUCSym(\tkzcenter)(tkzPointResult)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkzUInversePoint(\tkzcenter,\tkzpoint)(tkz@p2)
+ \tkzUCSym(\tkzcenter)(tkzPointResult)
+ \pgfnodealias{tkzSecondPointResult}{tkzPointResult}
+\endgroup
+}
%<--------------------------------------------------------------------------–>
% End Def Circle
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
index b6b2b80005..7ea8b3136d 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-circles.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-circles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzCircle center and one point
@@ -247,7 +247,7 @@
\tkzVecKNorm[\tkz@lnc](#1,#3)
\pgfnodealias{tkz@PointResult}{tkzPointResult}
\tkzCircumCenter(tkz@PointResult,#3,#4)
- \tkz@@CalcLength(tkzPointResult,#3){tkzLengthResult}
+ \tkz@@CalcLengthcm(tkzPointResult,#3){tkzLengthResult}
\endgroup
}
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex
index a5eaa32e06..30e07a08a8 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-compass.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-compass.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Author Alain Matthes
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex
index 31e77f3f97..0818c0fd26 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-tool-eu-angles.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-tool-eu-angles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzSetUpArc
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex
index 99d3531067..963f0f7da7 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-draw-circles.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-draw-circles.tex}
\makeatletter
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex
index 0e3e9f6096..41c11c1c66 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-draw-lines.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-draw-lines.tex}
\makeatletter
\def\tkz@numdl{0}
@@ -218,7 +218,8 @@
% \draw[dim={7cm,10pt,transform shape}] (B) -- (C);
% \draw[dim={X,,}] (A) -- (C);
%<--------------------------------------------------------------------------–>
-% code from muzimuzhi Z
+% new code from muzimuzhi Z
+%https://tex.stackexchange.com/questions/553430/change-color-and-style-of-dimension-lines-in-tkz-euclide/553441
\pgfkeys{/pgf/decoration/.cd, distance/.initial = 10pt}
@@ -243,41 +244,35 @@
\pgfpathlineto{\pgfpoint{\pgfdecoratedpathlength}{0pt}}
}}
+
\tikzset{
- dim/.style args={#1,#2,#3}{%
- decoration = {add dim,distance=\ifx&#2&0pt\else#2\fi},
- decorate,
- postaction = {%
- decorate,
- decoration={%
- raise=#2,
- markings,
- mark=at position .5 with {%
- \node[inner sep=0pt,
- font=\footnotesize,
- fill=\tkz@fillcolor,
- #3] at (0,0) {#1};}
- }
- }
- },
- dim/.default={,0pt,}
-}
-\tikzset{
- dim color/.store in=\tkz@dim@color,
- dim color=black,
- % similar to code for \tikzoption{dash pattern}{...}
- dim dash pattern/.code={%
- \def\tikz@temp{#1}%
- \ifx\tikz@temp\pgfutil@empty%
- \def\tkz@dim@dashpattern{{}{0pt}}%
- \else%
- \def\tikz@dashpattern{}%
- \expandafter\tikz@scandashon\pgfutil@gobble#1o\@nil%
- \edef\tkz@dim@dashpattern{{\tikz@dashpattern}{\noexpand\tikz@dashphase}}%
- \fi
+ dim/.style args={#1,#2,#3}{%
+ postaction={
+ decoration={
+ show path construction,
+ lineto code={
+ % dim fence
+ \draw[dim fence style/.try]
+ (\tikzinputsegmentfirst) --
+ ($ (\tikzinputsegmentfirst)!1.2*(#2)!90:(\tikzinputsegmentlast) $)
+ (\tikzinputsegmentlast) --
+ ($ (\tikzinputsegmentlast)!1.2*(#2)!-90:(\tikzinputsegmentfirst) $);
+ % dim
+ \draw[dim style/.try]
+ ($ (\tikzinputsegmentfirst)!#2!90:(\tikzinputsegmentlast) $) --
+ node[inner sep=0pt, font=\footnotesize, fill=\tkz@fillcolor, pos=.5, #3] {#1}
+ ($ (\tikzinputsegmentlast)!#2!-90:(\tikzinputsegmentfirst) $);
+ }
+ },
+ decorate,
+ }
},
- dim dash pattern=,
-}
+ dim/.default={,0pt,},
+ dim style/.style={
+ latex-latex,
+ },
+}
+
%<--------------------------- style line --------------------------------->
\tikzset{add/.style args={#1 and #2}{to path={%
($(\tikztostart)!-#1!(\tikztotarget)$)--($(\tikztotarget)!-#2!(\tikztostart)$)%
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex
index 0bad413a37..951cc0c629 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-polygons.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-polygons.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Polygon
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex
index 00c5a97e54..e6e1a161b3 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex
@@ -10,23 +10,24 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-draw-triangles.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-draw-triangles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% 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}},
+ pythagoras/.code = {\def\tkz@numdtr{2}},
+ egyptian/.code = {\def\tkz@numdtr{2}},
school/.code = {\def\tkz@numdtr{3}},
golden/.code = {\def\tkz@numdtr{4}},
sublime/.code = {\def\tkz@numdtr{4}},
- euclid/.code = {\def\tkz@numdtr{5}},
+ euclid/.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}%
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex
index 709d78079f..2febd43328 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-grids.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-grids.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Setup Grid
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
index 6bdecebee9..8f9811c76f 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-lines.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-lines.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% les lignes
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex
index d255a1713b..b10b308f35 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-tools-el-points-by.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-tools-el-points-by.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Transformations Géométriques
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex
index 9832a3e9be..11d94cb8f2 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-el-points-rnd.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-el-points-rnd.tex}
%<--------------------------------------------------------------------------–>
\makeatletter
%<-------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex
index 888e127bfc..daa2b85a52 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-el-points.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-el-points.tex}
\makeatletter
%add ExCenter
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
index 585b90c1b6..5d204fbd85 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-el-points-with.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-el-points-with.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Vectors
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex
index c7b94a86a0..20d0988a82 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-points.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-points.tex}
\makeatletter
%<--------------------------------------------------------------------------->
% init def point
@@ -230,14 +230,9 @@
%<--------------------------------------------------------------------------->
%
%<--------------------------------------------------------------------------->
-% \pgfkeys{/tkzsetuplabel/.cd,
-% /tkzsetuplabel/.search also = {/tikz},
-% }
\def\tkzSetUpLabel{\pgfutil@ifnextchar[{\tkz@SetUpLabel}{%
\tkz@SetUpLabel[]}}
\def\tkz@SetUpLabel[#1]{%
-%\pgfqkeys{/tkzsetuplabel}{#1}
-% redefine point style with new values
\tikzset{label style/.style={#1}}
}% end setup
%<--------------------------------------------------------------------------->
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex
index 71305cd9a7..871cd6a36d 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-polygons.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-polygons.tex}
% bug in regular polygon side 2020/03/09
\makeatletter
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex
index 7c1c1cb9ea..ec13a910fd 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-protractor.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-protractor.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% !!! idea from Y. Combe !!!
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex
index 010af2ade7..7de5a1f1b1 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-sectors.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-sectors.tex}
\makeatletter
%<----------------------- Sectors ------------------------------–>
\gdef\tkz@nums{0}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex
index 61b7d69c07..a22f1534f6 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-show.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-show.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% finding specific points in a triangle
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex
index f60491ac38..4ab0ae915e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex
@@ -10,10 +10,11 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-triangles.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-triangles.tex}
\makeatletter
+\newif\iftkz@swap@tr
%<--------------------------------------------------------------------------–>
% Triangle Equilateral
%<--------------------------------------------------------------------------–>
@@ -35,18 +36,6 @@
}
%<--------------------------------------------------------------------------–>
-\def\tkzDrawEquilateral{\pgfutil@ifnextchar[{\tkz@Equilateral}{%
- \tkz@Equilateral[]}}
-
-\def\tkz@Equilateral[#1](#2,#3){%
-\begingroup
- \tkzURotateAngle(#2,60)(#3)
- \tkzDrawPolygon[#1](#2,#3,tkzPointResult)
-\endgroup
-}
-
-%<--------------------------------------------------------------------------–>
-
\def\tkzDefIsoscelesRightTriangle{\pgfutil@ifnextchar[{\tkz@DefIsoscelesRightTriangle}{%
\tkz@DefIsoscelesRightTriangle[]}}
@@ -65,25 +54,45 @@
\def\tkzDefTwoOne(#1,#2){
\begingroup
- \tkzDefPointWith[K=-.5](#2,#1)
+ \iftkz@swap@tr
+ \tkzDefPointWith[K=-.5](#2,#1)
+ \else
+ \tkzDefPointWith[K=.5](#2,#1)
+ \fi
\endgroup
}
\def\tkzDefPythagore(#1,#2){
\begingroup
+\iftkz@swap@tr
\tkzDefPointWith[K=-.75](#2,#1)
+ \else
+ \tkzDefPointWith[K=.75](#2,#1)
+ \fi
\endgroup
}
\def\tkzDefSchoolTriangle(#1,#2){
\begingroup
- \tkzDefPointWith[K=-1](#2,#1)
+\iftkz@swap@tr
+ \tkzDefPointWith(#2,#1)
+ \pgfnodealias{tkz@a}{tkzPointResult}
+ \tkzURotateAngle(#1,-30)(#2)
+ \tkzInterLL(#1,tkzPointResult)(#2,tkz@a)
+\else
+ \tkzDefPointWith(#2,#1)
\pgfnodealias{tkz@a}{tkzPointResult}
\tkzURotateAngle(#1,30)(#2)
\tkzInterLL(#1,tkzPointResult)(#2,tkz@a)
+ \fi
\endgroup
}
\def\tkzDefGoldTriangle(#1,#2){
\begingroup
+
+ \iftkz@swap@tr
\tkzURotateAngle(#1,36)(#2)
+ \else
+ \tkzURotateAngle(#1,-36)(#2)
+ \fi
\endgroup
}
\def\tkzDefEuclideTriangle(#1,#2){
@@ -94,7 +103,11 @@
}
\def\tkzDefGoldenTriangle(#1,#2){
\begingroup
+ \iftkz@swap@tr
\tkzDefPointWith[K=-\tkzInvPhi](#2,#1)
+ \else
+ \tkzDefPointWith[K=\tkzInvPhi](#2,#1)
+ \fi
\endgroup
}
\def\tkzDefCheopsTriangle(#1,#2){
@@ -121,17 +134,24 @@
/deftriangle/.cd,
equilateral/.code = \def\tkz@numtr{0},
half/.code = \def\tkz@numtr{1},
+ two one/.code = \def\tkz@numtr{1},
pythagore/.code = \def\tkz@numtr{2},
+ pythagoras/.code = \def\tkz@numtr{2},
+ egyptian/.code = \def\tkz@numtr{2},
school/.code = \def\tkz@numtr{3},
golden/.code = \def\tkz@numtr{4},
sublime/.code = \def\tkz@numtr{4},
euclid/.code = \def\tkz@numtr{5},
+ euclide/.code = \def\tkz@numtr{5},
gold/.code = \def\tkz@numtr{6},
cheops/.code = \def\tkz@numtr{7},
two angles/.code args = {#1 and #2} { \def\tkz@numtr{8}%
\def\tkz@alpha{#1}%
\def\tkz@beta{#2}},
isosceles right/.code = \def\tkz@numtr{9},
+ swap/.is if = tkz@swap@tr,
+ swap/.default = true,
+ swap = false,
equilateral
}
@@ -217,7 +237,6 @@
\fi
\endgroup
}
-
\pgfkeys{/setuppttr/.is family}
\def\SetUpPTTR#1{\pgfqkeys{/setuppttr}{#1}}
@@ -343,9 +362,9 @@
\tkzDefExCircle(#4,#2,#3)
\pgfnodealias{tkz@a}{tkzPointResult} \tkzGetLength{tkz@ra}
\tkzInterLC[R](#3,tkz@b)(tkz@b,\tkz@rb)
- \tkzGetFirstPoint{\tkz@pttr@name\csname tkz@point2\endcsname}
+ \tkzGetSecondPoint{\tkz@pttr@name\csname tkz@point2\endcsname}
\tkzInterLC[R](#4,tkz@c)(tkz@c,\tkz@rc)
- \tkzGetFirstPoint{\tkz@pttr@name\csname tkz@point3\endcsname}
+ \tkzGetSecondPoint{\tkz@pttr@name\csname tkz@point3\endcsname}
\tkzInterLC[R](#2,tkz@a)(tkz@a,\tkz@ra)
\tkzGetFirstPoint{\tkz@pttr@name\csname tkz@point1\endcsname}
\endgroup
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex
index d9ee2931c6..9d7af23518 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-obj-eu-BB.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-obj-eu-BB.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
\def\tkzShowBB{\pgfutil@ifnextchar[{\tkz@ShowBB}{\tkz@ShowBB[]}}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex
index d9636c2d83..8e28c4a2b3 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-tools-angles.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-tools-angles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex
index 44b984ab6c..b48a191b1f 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-tools-eu-base.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-tools-eu-base.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
\global\let\tkz@tmp@xa\tkz@init@xmin% modif 2016
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex
index a105f51f93..5380ce9257 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-tools-eu-colors}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-tools-eu-colors}
\makeatletter
%<------ Initialisation of the colors with tkzSetUpColors ----------------->
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex
index 9448b707a7..fb1633937f 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex
@@ -13,9 +13,9 @@
% The Current Maintainer of this work is Alain Matthes.
% utf8 encoding
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-tools-intersections.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-tools-intersections.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% intersection de deux lignes
@@ -140,12 +140,15 @@
node/.code = \def\tkz@numlc{0},
R/.code = \def\tkz@numlc{1},
with nodes/.code = \def\tkz@numlc{2},
+ common/.store in = \tkz@common,
+ common = {},
node
}
%<--------------------------------------------------------------------------–>
\def\tkzInterLC{\pgfutil@ifnextchar[{\tkz@InterLC}{\tkz@InterLC[]}}
\def\tkz@InterLC[#1](#2,#3)(#4,#5){%
\begingroup
+\pgfkeys{linecircle/.cd}
\pgfqkeys{/linecircle}{#1}
\pgfinterruptboundingbox
\ifcase\tkz@numlc%
@@ -160,6 +163,23 @@
\tkzInterLCWithNodes(#2,#3)(#4,#5){tkzFirstPointResult}%
{tkzSecondPointResult}%
\fi
+ \ifx\tkz@common\tkzutil@empty
+ \tkzFindAngle(#2,tkzFirstPointResult,#4) \tkzGetAngle{tkz@an}
+ \ifdim\tkz@an pt<180 pt\relax%
+ \else
+ \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+ \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+ \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+ \fi
+ \else
+\tkz@@CalcLength(\tkz@common,tkzSecondPointResult){tkz@mathLen}
+ \ifdim\tkz@mathLen pt<0.05pt\relax%
+ \else
+ \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+ \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+ \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+ \fi
+ \fi
\endpgfinterruptboundingbox
\endgroup
}
@@ -243,9 +263,11 @@
\def\tkz@numcc{0}
\pgfkeys{
/circlecircle/.cd,
- node/.code = {\global\def\tkz@numcc{0}},
- R/.code = {\global\def\tkz@numcc{1}},
-with nodes/.code = {\global\def\tkz@numcc{2}}
+ node/.code = {\global\def\tkz@numcc{0}},
+ R/.code = {\global\def\tkz@numcc{1}},
+ with nodes/.code = {\global\def\tkz@numcc{2}},
+ common/.store in = \tkz@common,
+ common = {},
}
%<--------------------------------------------------------------------------–>
\def\tkzInterCC{\pgfutil@ifnextchar[{\tkz@InterCC}{\tkz@InterCC[]}}
@@ -265,7 +287,24 @@ with nodes/.code = {\global\def\tkz@numcc{2}}
\tkzInterCCR(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}%
\or%2
\tkzInterCCWithNodes(#2,#3)(#4,#5){tkzFirstPointResult}{tkzSecondPointResult}
-\fi
+\fi
+ \ifx\tkz@common\tkzutil@empty
+ \tkzFindAngle(#2,tkzFirstPointResult,#4) \tkzGetAngle{tkz@an}
+ \ifdim\tkz@an pt<180 pt\relax%
+ \else
+ \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+ \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+ \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+ \fi
+ \else
+\tkz@@CalcLength(\tkz@common,tkzSecondPointResult){tkz@mathLen}
+ \ifdim\tkz@mathLen pt<0.05pt\relax%
+ \else
+ \pgfnodealias{tkzPointTmp}{tkzSecondPointResult}
+ \pgfnodealias{tkzSecondPointResult}{tkzFirstPointResult}
+ \pgfnodealias{tkzFirstPointResult}{tkzPointTmp}
+ \fi
+ \fi
\endgroup
}
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex
index e7f41593a0..3cc9943e8e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-tools-eu-math.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-tools-eu-math.tex}
\makeatletter
%<-------------------------------------------------------------------------->
% \tkzpointnormalised#
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex
index 349ce0d631..7ac948f2db 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-tools-utilities.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-tools-utilities.tex}
\makeatletter
%<------------- % chargement des modules ---------------------------------->
\def\tkz@obj@all{angles,arcs,compass,defcircles,deflines,defpoints,defpointsby,defpointsrnd,defpointswith,polygons,protractor,sectors,show,triangles}%
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex
index 6744585be4..3f419f19bd 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-tools-eu-text.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-tools-eu-text.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzText
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex
index f85acf6142..65173a1d3c 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.00}
-\def\filedate{2022/01/04}
-\typeout{2022/01/04 4.00 tkz-tools-eu-utilities.tex}
+\def\fileversion{4.03}
+\def\filedate{2022/01/19}
+\typeout{2022/01/19 4.03 tkz-tools-eu-utilities.tex}
\makeatletter
\pgfkeys{/tkzClip/.cd,
space/.store in = {\tkz@CLI@space},