summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-01-05 03:00:57 +0000
committerNorbert Preining <norbert@preining.info>2022-01-05 03:00:57 +0000
commitc03c0d515f1bfbd111d40e78805db4696e080fb8 (patch)
tree4d72d1df66079b3937776da41a78d71189719dad /macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
parent1903b598f8dda613f5c584bb18ccfd2fd8c278bb (diff)
CTAN sync 202201050300
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex')
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex88
1 files changed, 67 insertions, 21 deletions
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 78e98afa8f..b6b2b80005 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
@@ -1,5 +1,5 @@
% tkz-obj-eu-circles.tex
-% Copyright 2020 Alain Matthes
+% Copyright 2022 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.
@@ -7,15 +7,12 @@
% 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.06c}
-\def\filedate{2020/03/18}
-\typeout{2020/03/18 3.06c tkz-obj-eu-circles.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-circles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzCircle center and one point
@@ -42,7 +39,7 @@
\def\tkz@numc{8}},
spieker/.code = \def\tkz@numc{9},
K/.code = \def\tkz@koeff{#1},
- K = 1,
+ K = 1,
through
}
\def\tkzDefCircle{\pgfutil@ifnextchar[{\tkz@DefCircle}{\tkz@DefCircle[]}}
@@ -72,13 +69,40 @@
\fi
\endgroup
}
+%for compatibility
+%<--------------------------------------------------------------------------–>
+\def\tkzDefCircleR(#1,#2){%
+\begingroup
+ \edef\tkzLengthResult{\fpeval{round(#2,5)}}
+ \global\let\tkzLengthResult\tkzLengthResult
+ \tkzRenamePoint(#1){tkzPointResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Through Circle center and point
+%<--------------------------------------------------------------------------–>
+\def\tkzDefCircleThrough(#1,#2){%
+\begingroup
+ \tkz@@CalcLengthcm(#1,#2){tkzLengthResult}
+ \tkzRenamePoint(#1){tkzPointResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Diameter Circle
+%<--------------------------------------------------------------------------–>
+\def\tkzDefCircleD(#1,#2){%
+\begingroup
+ \tkzDefMidPoint(#1,#2)
+ \tkz@@CalcLengthcm(#1,tkzPointResult){tkzLengthResult}
+\endgroup
+}
%<--------------------------------------------------------------------------–>
% Circum Circle
%<--------------------------------------------------------------------------–>
\def\tkzDefCircumCircle(#1,#2,#3){%
\begingroup
\tkzCircumCenter(#1,#2,#3)
- \tkzCalcLength(#1,tkzPointResult)
+ \tkz@@CalcLengthcm(#1,tkzPointResult){tkzLengthResult}%3.06 add [cm]
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -90,7 +114,7 @@
\pgfnodealias{tkz@incenter}{tkzPointResult}
\tkzUProjection(#1,#3)(tkz@incenter)
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
- \tkzCalcLength(tkzPointResult,tkz@incenter)
+ \tkz@@CalcLengthcm(tkzPointResult,tkz@incenter){tkzLengthResult}
\pgfnodealias{tkzPointResult}{tkz@incenter}
\pgfnodealias{tkzFirstPointResult}{tkz@incenter}
\endgroup
@@ -104,7 +128,7 @@
\pgfnodealias{tkz@excenter}{tkzPointResult}
\tkzUProjection(#1,#3)(tkz@excenter)
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
- \tkzCalcLength(tkzPointResult,tkz@excenter)% for tkzGetLength
+ \tkz@@CalcLengthcm(tkzPointResult,tkz@excenter){tkzLengthResult}% for tkzGetLength
\pgfnodealias{tkzPointResult}{tkz@excenter}
\pgfnodealias{tkzFirstPointResult}{tkz@excenter}
\endgroup
@@ -128,7 +152,7 @@
\tkzDefMidPoint(#2,#3) \pgfnodealias{tkz@e2}{tkzPointResult}
\tkzDefMidPoint(#1,#3) \pgfnodealias{tkz@e3}{tkzPointResult}
\tkzCircumCenter(tkz@e1,tkz@e2,tkz@e3)
- \tkzCalcLength(tkzPointResult,tkz@e1)
+ \tkz@@CalcLengthcm(tkzPointResult,tkz@e1){tkzLengthResult}
\endgroup
}
\let\tkzDefNinePointsCircle\tkzEulerCircle%
@@ -139,7 +163,7 @@
\tkzEulerCenter(#1,#2,#3)
\pgfnodealias{eur@pta}{tkzPointResult}
\tkzDefMidPoint(#1,#2)
- \tkzCalcLength(eur@pta,tkzPointResult)
+ \tkz@@CalcLengthcm(eur@pta,tkzPointResult){tkzLengthResult}
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -152,7 +176,7 @@
\tkz@VecK[\tkz@koeff/(\tkz@koeff-1)](#1,#2)
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
\tkzDefMidPoint(tkzFirstPointResult,tkzSecondPointResult)
- \tkzCalcLength(tkzPointResult,tkzFirstPointResult)
+ \tkz@@CalcLengthcm(tkzPointResult,tkzFirstPointResult){tkzLengthResult}
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -172,7 +196,7 @@
\tkz@VecK[\tkz@koeff/(\tkz@koeff-1)](#2,#3)
\pgfnodealias{apo@ptb}{tkzPointResult}
\tkzDefMidPoint(apo@pta,apo@ptb)
- \tkzCalcLength(tkzPointResult,apo@pta)
+ \tkz@@CalcLengthcm(tkzPointResult,apo@pta){tkzLengthResult}
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -212,18 +236,18 @@
\def\tkzDefOrthogonalCircle(#1,#2,#3){%
\begingroup
\tkzTgtFromP(#1,#2)(#3)
- \tkzCalcLength[cm](#1,tkzFirstPointResult)
+ \tkz@@CalcLengthcm(#1,tkzFirstPointResult){tkzLengthResult}
\endgroup
}
%<--------------------------------------------------------------------------–>
\def\tkzDefOrthoThroughCircle(#1,#2,#3,#4){%
\begingroup
- \tkzCalcLength[cm](#1,#3)\tkzGetLength{tkz@lnb}%
- \edef\tkz@lnc{\fpeval{1/\tkz@lnb}}
+ \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)
- \tkzCalcLength(tkzPointResult,#3)
+ \tkz@@CalcLength(tkzPointResult,#3){tkzLengthResult}
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -235,11 +259,33 @@
\pgfnodealias{tkz@spka}{tkzPointResult}
\tkzDefMidPoint(#1,#2)
\tkzUProjection(#1,#2)(tkzPointResult)
- \tkzCalcLength(tkz@spka,tkzPointResult)
+ \tkz@@CalcLength(tkz@spka,tkzPointResult){tkzLengthResult}
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDefInversionCircle(#1,#2,#3,#4){%
+\begingroup
+ \tkzInterLC(#3,#1)(#1,#2) \tkzGetPoints{tkz@p1}{tkz@p2}
+ \tkzUInversePoint(#3,#4)(tkz@p1)
+ \pgfnodealias{tkzFirstPointResult}{tkzPointResult}
+ \tkzUInversePoint(#3,#4)(tkz@p2)
+ \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
%<--------------------------------------------------------------------------–>
- \makeatother
+\makeatother
\endinput \ No newline at end of file