From b06c6695162b493aeec3b594c6beb518c15c98ba Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 24 Jan 2023 03:02:57 +0000 Subject: CTAN sync 202301240302 --- .../latex/drawings/tkz-draw-eu-polygons.tex | 106 +++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-polygons.tex (limited to 'macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-polygons.tex') diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-polygons.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-polygons.tex new file mode 100644 index 0000000000..a0f59a0a65 --- /dev/null +++ b/macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-polygons.tex @@ -0,0 +1,106 @@ +% tkz-obj-eu-polygons.tex +% Copyright 2023 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. +% The latest version of this license is in +% 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. + +\def\fileversion{5.00c} +\def\filedate{2023/01/23} +\typeout{2023/01/23 5.00c tkz-obj-eu-polygons.tex} +\makeatletter +%<--------------------------------------------------------------------------–> +% Polygon +%<--------------------------------------------------------------------------–> +%<---------------------------- Draw --------------------------------–> +% +%<--------------------------------------------------------------------------–> +\def\tkzDrawPolygon{\pgfutil@ifnextchar[{\tkz@DrawPolygon}{% + \tkz@DrawPolygon[]}} +\def\tkz@DrawPolygon[#1](#2,#3){% + \begingroup + \draw[line style,line join=round,#1] (#2) + \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 --------------------------------–> +% +%<--------------------------------------------------------------------------–> +\def\tkzFillPolygon{\pgfutil@ifnextchar[{\tkz@FillPolygon}{% + \tkz@FillPolygon[]}} +\def\tkz@FillPolygon[#1](#2,#3){% + \begingroup + \fill[#1] (#2) + \foreach \pt in {#2,#3}{--(\pt)}--cycle;% +\endgroup +} +%<--------------------------------------------------------------------------–> +%<-------------- Labels for Regular Polygon -------------------------–> +% +%<--------------------------------------------------------------------------–> +\pgfkeys{/deflabelregpoly/.cd, + name/.store in = \tkz@regpolname, + sep/.store in = \tkz@regpolsep, + name = P, + sep = 1.1 +} + +\def\tkzLabelRegPolygon{\pgfutil@ifnextchar[{\tkz@labelPolygon}{% + \tkz@labelPolygon[]}} +\def\tkz@labelPolygon[#1](#2)#3{% +\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} + } +\endgroup +} +%<---------------------------- CLIP --------------------------------–> +% +%<--------------------------------------------------------------------------–> + +\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 -- cgit v1.2.3