summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex')
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex99
1 files changed, 52 insertions, 47 deletions
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex
index c8137bcc6e8..6bdecebee9a 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-lines.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-lines.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-lines.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% les lignes
@@ -32,6 +29,10 @@
bisector/.code = \def\tkz@numl{3},
bisector out/.code = \def\tkz@numl{4},
symmedian/.code = \def\tkz@numl{5},
+ tangent at/.code = {#1}{\def\tkz@numl{6} \def\tkz@ptat{#1}},
+ tangent from/.code = {#1}{\def\tkz@numl{7} \def\tkz@ptfrom{#1}},
+ median/.code = \def\tkz@numl{8},
+ altitude/.code = \def\tkz@numl{9},
K/.code = \def\tkz@koeff{#1},
K = 1,
normed/.is if = tkz@line@normed,
@@ -39,7 +40,6 @@
normed = false,
mediator
}
-
\def\tkzDefLine{\pgfutil@ifnextchar[{\tkz@DefLine}{\tkz@DefLine[]}}
\def\tkz@DefLine[#1](#2){%
\begingroup
@@ -49,7 +49,7 @@
% first case 0
\tkzDefMediatorLine(#2)
\or% 1
- \tkzDefOrthLine[\tkz@koeff](#2)(\tkz@through)
+ \tkzDefOrthLine[\tkz@koeff](#2)
\or% 2
\tkzDefLineLL(#2)
\or% 3
@@ -58,6 +58,10 @@
\tkzDefBisectorOutLine(#2)
\or% 5
\tkzDefSymmedianLine(#2)
+ \or% 6
+ \tkzTgtAt(#1)(#2)
+ \or% 7
+ \tkzTgtFromP(#1)(#2)
\fi
\endgroup
}
@@ -74,7 +78,7 @@
\pgfinterruptboundingbox
\path[coordinate](\tkz@through)--++(\tkz@koeff\pgf@xa,\tkz@koeff\pgf@ya)%
coordinate (tkzPointResult);
- \endpgfinterruptboundingbox
+ \endpgfinterruptboundingbox
\iftkz@line@normed
\tkzVecKNorm(\tkz@through,tkzPointResult)
\fi
@@ -90,9 +94,9 @@
\pgfnodealias{tkz@OLtmp}{tkzPointResult}
\tkz@VecKCoLinear[\tkz@koeff](#2,tkz@OLtmp,\tkz@through)
\iftkz@line@normed
- \pgfinterruptboundingbox
+ \pgfinterruptboundingbox
\tkzVecKNorm(\tkz@through,tkzPointResult)
- \endpgfinterruptboundingbox
+ \endpgfinterruptboundingbox
\fi
\endgroup}%
%<--------------------------------------------------------------------------–>
@@ -105,7 +109,7 @@
\begingroup
\tkzDefEquilateral(#2,#3)
\pgfnodealias{tkzFirstPointResult}{tkzPointResult}
- \tkzDefEquilateral(#3,#2)
+ \tkzDefEquilateral(#3,#2)
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
\ifx\tkz@koeff=1 %
\else
@@ -119,12 +123,12 @@
\iftkz@line@normed
\tkzDefMidPoint(#2,#3)
\pgfnodealias{tkz@mid}{tkzPointResult}
- \pgfinterruptboundingbox
+ % \pgfinterruptboundingbox
\tkzVecKNorm[\tkz@koeff](tkz@mid,tkzFirstPointResult)
\pgfnodealias{tkzFirstPointResult}{tkzPointResult}
\tkzVecKNorm[\tkz@koeff](tkz@mid,tkzSecondPointResult)
\pgfnodealias{tkzSecondPointResult}{tkzPointResult}
- \endpgfinterruptboundingbox
+ % \endpgfinterruptboundingbox
\fi
\endgroup}
% autre possibilité
@@ -134,10 +138,11 @@
%<--------------------------------------------------------------------------–>
\def\tkzDefBisectorLine(#1,#2,#3){%
\begingroup
- \pgfinterruptboundingbox
+ \pgfinterruptboundingbox
\tkzDuplicateSegment(#2,#1)(#2,#3)
\pgfnodealias{bi@tmp}{tkzPointResult}
- \tkzDefEquilateral(bi@tmp,#1)
+ \tkzDefMidPoint(bi@tmp,#1)
+% \tkzDefEquilateral(bi@tmp,#1)
\ifx\tkz@koeff=1 %
\else
\tkzVecK[\tkz@koeff](#2,tkzPointResult)
@@ -145,7 +150,7 @@
\iftkz@line@normed
\tkzVecKNorm[\tkz@koeff](#2,tkzPointResult)
\fi
- \endpgfinterruptboundingbox
+ \endpgfinterruptboundingbox
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -153,7 +158,7 @@
%<--------------------------------------------------------------------------–>
\def\tkzDefBisectorOutLine(#1,#2,#3){%
\begingroup
- \pgfinterruptboundingbox
+ \pgfinterruptboundingbox
\tkzDuplicateLength(#2,#1)(#2,#3)
\pgfnodealias{out@tmp}{tkzPointResult}
\tkzDefMidPoint(#1,out@tmp)
@@ -166,7 +171,7 @@
\iftkz@line@normed
\tkzVecKNorm[\tkz@koeff](#2,tkzPointResult)
\fi
- \endpgfinterruptboundingbox
+ \endpgfinterruptboundingbox
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -178,7 +183,7 @@
\pgfnodealias{sym@pt1}{tkzPointResult}
\tkzDefMidPoint(#1,#3)
\pgfnodealias{sym@pt2}{tkzPointResult}
- \tkzUSymOrth(#2,sym@pt1)(sym@pt2)
+ \tkzUSymOrth(#2,sym@pt1)(sym@pt2)
\ifx\tkz@koeff=1 %
\else
\tkzVecK[\tkz@koeff](#2,tkzPointResult)
@@ -188,43 +193,43 @@
\fi
\endgroup
}
-%<-------------------------------------------------------------------------–>
%<--------------------------------------------------------------------------–>
% tangente à cercle passant par un point donné
%<--------------------------------------------------------------------------–>
-\def\tkzTgtFromPR(#1,#2)(#3){%
- \begingroup
- \tkzDefMidPoint(#1,#3)
- \tkzCalcLength(tkzPointResult,#1)
- \tkzInterCCR(#1,#2)(tkzPointResult,\tkzLengthResult pt){%
- tkzFirstPointResult}{%
- tkzSecondPointResult}%
- \endgroup
+
+\def\tkzTgtAt(#1)(#2){%
+\begingroup
+ \tkz@VecKOrthNorm[-1](#2,#1)
+ \endgroup
}
-
+%<-------------------------------------------------------------------------–>
\def\tkzTgtFromP(#1,#2)(#3){%
- \begingroup
+\begingroup
\tkzDefMidPoint(#1,#3)
- \tkzCalcLength(#1,#2)
- \tkzGetLength{tkz@radone}%
- \tkzCalcLength(tkzPointResult,#1)
- \tkzGetLength{tkz@radtwo}%
- \tkzInterCCR(#1,\tkz@radone pt)(tkzPointResult,\tkz@radtwo pt){%
+ \tkz@@CalcLengthcm(#1,#2){tkz@radone}
+ \tkz@@CalcLengthcm(tkzPointResult,#1){tkz@radtwo}
+ \tkzInterCCR(#1,\tkz@radone)(tkzPointResult,\tkz@radtwo){%
tkzFirstPointResult}{%
tkzSecondPointResult}%
- \endgroup
-}
-\def\tkzTgtAt(#1)(#2){%
+\endgroup
+}
+%<-------------------------------------------------------------------------–>
+\def\tkzTgtFromPR(#1,#2)(#3){%
\begingroup
- \tkz@VecKOrthNorm[-1](#2,#1)
- \endgroup
-} %<--------------------------------------------------------------------------–> %<--------------------------------------------------------------------------–>
+ \tkzDefMidPoint(#1,#3)
+ \tkz@@CalcLengthcm(tkzPointResult,#1){tkzLengthResult}
+ \tkzInterCCR(#1,#2)(tkzPointResult,\tkzLengthResult){%
+ tkzFirstPointResult}{%
+ tkzSecondPointResult}%
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
\def\tkz@numtang{0}
\pgfkeys{/tkz@tang/.cd,
- at/.code = {\def\tkz@numtang{0}\def\tkz@ptat{#1}},
- from/.code = {\def\tkz@numtang{1}\def\tkz@ptfrom{#1}},
- from with R/.code = {\def\tkz@numtang{2}\def\tkz@ptfrom{#1}}
- }
+ at/.code = {\def\tkz@numtang{0}\def\tkz@ptat{#1}},
+ from/.code = {\def\tkz@numtang{1}\def\tkz@ptfrom{#1}},
+ from with R/.code = {\def\tkz@numtang{2}\def\tkz@ptfrom{#1}}
+ }
%<--------------------------------------------------------------------------–>
\def\tkzDefTangent{\pgfutil@ifnextchar[{\tkz@Tangent}{\tkz@Tangent[]}}