diff options
author | Norbert Preining <norbert@preining.info> | 2022-01-05 03:00:57 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-01-05 03:00:57 +0000 |
commit | c03c0d515f1bfbd111d40e78805db4696e080fb8 (patch) | |
tree | 4d72d1df66079b3937776da41a78d71189719dad /macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex | |
parent | 1903b598f8dda613f5c584bb18ccfd2fd8c278bb (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.tex | 88 |
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 |