summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-07-16 03:00:55 +0000
committerNorbert Preining <norbert@preining.info>2022-07-16 03:00:55 +0000
commit24ae0c3844b308d81bc4684e57817d43c0b29a13 (patch)
tree91058aa850845b445f48d52794ce128c9b0d419f /macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
parent672664411215c14fc71db763da169731d3c6a361 (diff)
CTAN sync 202207160300
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex')
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex74
1 files changed, 52 insertions, 22 deletions
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 9dce18f48e..b07f40bc10 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,29 +10,29 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25}
-\typeout{2022/02/25 4.051b tkz-obj-eu-lines.tex}
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14}
+\typeout{2022/07/14 4.2c tkz-obj-eu-lines.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% les lignes
%<--------------------------------------------------------------------------–>
-\def\tkz@numl{0}
-\pgfkeys{/tkzDefLine/.cd,
- mediator/.code = \def\tkz@numl{0},
- perpendicular/.code args = {through #1} {\def\tkz@numl{1}%
+\def\tkz@numline{0}
+\pgfkeys{/tkzdefline/.cd,
+ mediator/.code = \def\tkz@numline{0},
+ perpendicular/.code args = {through #1} {\def\tkz@numline{1}%
\def\tkz@through{#1}},
- orthogonal/.code args = {through #1} {\def\tkz@numl{1}%
+ orthogonal/.code args = {through #1} {\def\tkz@numline{1}%
\def\tkz@through{#1}},
- parallel/.code args = {through #1}{\def\tkz@numl{2}%
+ parallel/.code args = {through #1}{\def\tkz@numline{2}%
\def\tkz@through{#1}},
- 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},
+ bisector/.code = \def\tkz@numline{3},
+ bisector out/.code = \def\tkz@numline{4},
+ symmedian/.code = \def\tkz@numline{5},
+ altitude/.code = \def\tkz@numline{6},
+ euler/.code = \def\tkz@numline{7},
+ tangent from/.code = \def\tkz@numline{8} \def\tkz@ptfrom{#1},
+ tangent at/.code = \def\tkz@numline{9} \def\tkz@ptat{#1},
K/.code = \def\tkz@koeff{#1},
K = 1,
normed/.is if = tkz@line@normed,
@@ -43,9 +43,9 @@
\def\tkzDefLine{\pgfutil@ifnextchar[{\tkz@DefLine}{\tkz@DefLine[]}}
\def\tkz@DefLine[#1](#2){%
\begingroup
-\pgfkeys{/tkzDefLine/.cd,K=1}
-\pgfqkeys{/tkzDefLine}{#1}
-\ifcase\tkz@numl%
+%\pgfkeys{/tkzdefline/.cd,K=1}
+\pgfqkeys{/tkzdefline}{#1}
+\ifcase\tkz@numline%
% first case 0
\tkzDefMediatorLine(#2)
\or% 1
@@ -58,10 +58,14 @@
\tkzDefBisectorOutLine(#2)
\or% 5
\tkzDefSymmedianLine(#2)
- \or% 6
- \tkzTgtAt(#1)(#2)
+ \or% 6
+ \tkzDefAltitudeLine(#2)
\or% 7
- \tkzTgtFromP(#1)(#2)
+ \tkzDefEulerLine(#2)
+ \or% 8
+ \tkzTgtFromP(#2)(\tkz@ptfrom)
+ \or% 9
+ \tkzTgtAt(#2)(\tkz@ptat)
\fi
\endgroup
}
@@ -194,6 +198,32 @@
\endgroup
}
%<--------------------------------------------------------------------------–>
+% Altitude Line
+%<--------------------------------------------------------------------------–>
+\def\tkzDefAltitudeLine(#1,#2,#3){%
+\begingroup
+ \pgfinterruptboundingbox
+ \tkzUProjection(#1,#3)(#2)
+ \pgfnodealias{ort@pta}{tkzPointResult}
+ \endpgfinterruptboundingbox
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Euler Line
+%<--------------------------------------------------------------------------–>
+\def\tkzDefEulerLine(#1,#2,#3){%
+\begingroup
+ \pgfinterruptboundingbox
+ \tkzOrthoCenter(#1,#2,#3)
+ \pgfnodealias{euler@pt1}{tkzPointResult}
+ \tkzEulerCenter(#1,#2,#3)
+ \pgfnodealias{euler@pt2}{tkzPointResult}
+ \pgfnodealias{tkzSecondPointResult}{euler@pt2}
+ \pgfnodealias{tkzFirstPointResult}{euler@pt1}
+ \endpgfinterruptboundingbox
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
% tangente à cercle passant par un point donné
%<--------------------------------------------------------------------------–>