diff options
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex')
-rw-r--r-- | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-intersections.tex | 53 |
1 files changed, 46 insertions, 7 deletions
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 } %<--------------------------------------------------------------------------–> |