summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex')
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex75
1 files changed, 58 insertions, 17 deletions
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex
index 9388916c429..0bad413a37b 100644
--- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-draw-polygons.tex
@@ -1,5 +1,5 @@
% tkz-obj-eu-polygons.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-polygons.tex}
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-obj-eu-polygons.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Polygon
@@ -31,6 +28,27 @@
\foreach \pt in {#2,#3}{--(\pt)}--cycle;%
\endgroup
}
+%<--------------------------------------------------------------------------–>
+\def\tkz@multipolygons#1 #2\@nil{%
+\protected@edef\tkz@temp{
+\noexpand \tkzDrawPolygon[\tkz@optpolygon](#1)}\tkz@temp%
+\def\tkz@nextArg{#2}%
+\ifx\tkzutil@empty\tkz@nextArg
+ \let\next\@gobble
+\fi
+\next#2\@nil
+}
+%<--------------------------------------------------------------------------–>
+\def\tkzDrawPolygons{\pgfutil@ifnextchar[{\tkz@DrawPolygons}{\tkz@DrawPolygons[]}}
+\def\tkz@DrawPolygons[#1](#2){%
+\xdef\tkz@optpolygon{#1}
+\begingroup
+ \let\next\tkz@multipolygons
+ \next#2 \@nil %
+\endgroup
+}%
+%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
%<---------------------------- FILL --------------------------------–>
%
%<--------------------------------------------------------------------------–>
@@ -39,7 +57,7 @@
\def\tkz@FillPolygon[#1](#2,#3){%
\begingroup
\fill[#1] (#2)
- \foreach \pt in {#2,#3}{--(\pt)}--cycle;%
+ \foreach \pt in {#2,#3}{--(\pt)}--cycle;%
\endgroup
}
%<--------------------------------------------------------------------------–>
@@ -52,7 +70,7 @@
}
%<--------------------------------------------------------------------------–>
\def\tkzDrawRectangle{\pgfutil@ifnextchar[{\tkz@DrawRectangle}%
- {\tkz@DrawRectangle[]}}
+ {\tkz@DrawRectangle[]}}
\def\tkz@DrawRectangle[#1](#2,#3){%
\begingroup
\draw[#1](#2) -| (#3) -| (#2);
@@ -61,20 +79,23 @@
%<-------------------------- gold rectangle -------------------------------–>
%
%<--------------------------------------------------------------------------–>
+\def\tkzDrawGoldRectangle{\pgfutil@ifnextchar[{\tkz@DrawGoldRectangle}{%
+ \tkz@DrawGoldRectangle[]}}
\def\tkz@DrawGoldRectangle[#1](#2,#3){
\begingroup
- \tkzDefGoldRectangle(#2,#3)
- \tkzDrawPolygon[#1](#2,#3,tkzFirstPointResult,tkzSecondPointResult)
+ \tkzDefGoldRectangle(#2,#3)
+ \tkzDrawPolygon[#1](#2,#3,tkzFirstPointResult,tkzSecondPointResult)
\endgroup
}
+\let\tkzDrawGoldenRectangle\tkzDrawGoldRectangle
%<-------------- Labels for Regular Polygon -------------------------–>
%
%<--------------------------------------------------------------------------–>
\pgfkeys{/deflabelregpoly/.cd,
- name/.store in = \tkz@regpolname,
- sep/.store in = \tkz@regpolsep,
- name = P,
- sep = 1.1
+ name/.store in = \tkz@regpolname,
+ sep/.store in = \tkz@regpolsep,
+ name = P,
+ sep = 1.1
}
\def\tkzLabelRegPolygon{\pgfutil@ifnextchar[{\tkz@labelPolygon}{%
@@ -83,11 +104,31 @@
\begingroup
\pgfqkeys{/deflabelregpoly}{#1}
\foreach \v [count=\vi from 1] in {#3} {%
- \path (#2) to [pos=1.1] node {$\v$} (\tkz@regpolname\vi) ;
- \pgfnodealias{\v}{\tkz@regpolname\vi}
+ \path (#2) to [pos=1.1] node {$\v$} (\tkz@regpolname\vi) ;
+ \pgfnodealias{\v}{\tkz@regpolname\vi}
}
\endgroup
}
+%<---------------------------- CLIP --------------------------------–>
+%
+%<--------------------------------------------------------------------------–>
+
+\newif\iftkzClipOutPoly%
+\pgfkeys{tkzclippolygon/.cd,
+ out code/.is if = tkzClipOutPoly,
+ out/.code = \tkzClipOutPolyfalse}
+\def\tkzClipPolygon{\pgfutil@ifnextchar[{\tkz@ClipPolygon}{\tkz@ClipPolygon[]}}
+\def\tkz@ClipPolygon[#1](#2,#3){%
+\tkzClipOutPolytrue
+\pgfqkeys{/tkzclippolygon}{#1}%
+\iftkzClipOutPoly
+\clip (#2)
+ \foreach \pt in {#2,#3}{--(\pt)}--cycle;
+\else
+ \clip(#2)
+ \foreach \pt in {#2,#3}{--(\pt)}--cycle[tkzreverseclip] ;
+\fi
+}%
\makeatother
\endinput \ No newline at end of file