summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex')
-rw-r--r--macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex117
1 files changed, 117 insertions, 0 deletions
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex
new file mode 100644
index 0000000000..3eec108b22
--- /dev/null
+++ b/macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex
@@ -0,0 +1,117 @@
+%tkz-obj-marks.tex
+% Copyright 2011 by Alain Matthes
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+\def\fileversion{3.01c}
+\def\filedate{2020/01/23}
+\typeout{2020/01/23 3.01c tkz-obj-marks.tex}
+\makeatletter
+%<-------------------------------------------------------------------------–>
+% Setup Marks
+%<-------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
+% DefSetOfPoints
+%<--------------------------------------------------------------------------–>
+\pgfkeys{/tkzSoPt/.cd,
+ prefix/.store in = \tkz@pref,
+ prefix = tkzPt,
+ /tkzSoPt/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
+ \pgfkeysalso{\searchname/.try=#1,
+ /tikz/\searchname/.retry=#1}}
+}
+\def\tkzDefSetOfPoints{\pgfutil@ifnextchar[{\tkz@SetOfPoints}{%
+ \tkz@SetOfPoints[]}}
+\def\tkz@SetOfPoints[#1]#2{%
+\begingroup
+\pgfqkeys{/tkzSoPt}{#1}
+ \tkz@cntmk1 %
+ \edef\tkz@@cnt{\the\tkz@cntmk}
+ \foreach \x/\y in {#2}{%
+ \tkz@cntmk=\tkz@@cnt %
+ \tkzDefPoint(\x,\y){\tkz@pref\the\tkz@cntmk}
+ \advance\tkz@cntmk by1 %
+ \xdef\tkz@@cnt{\the\tkz@cntmk}
+ }%
+\endgroup
+}%
+%<-------------------------------------------------------------------------–>
+\pgfkeys{/tkzjoinmk/.cd,
+ prefix/.store in = \tkz@pref,
+ prefix=tkzPt,
+ /tkzjoinmk/.search also={/tikz}
+}
+\def\tkzJoinSetOfPoints{\pgfutil@ifnextchar[{\tkz@JoinSetOfPoints}{%
+ \tkz@JoinSetOfPoints[]}}
+\def\tkz@JoinSetOfPoints[#1]{%
+\begingroup
+ \pgfqkeys{/tkzjoinmk}{#1}
+ \pgfmathsetcount{\tkz@cntmk}{\tkz@@cnt-2}
+ \edef\tkz@@cnt{\the\tkz@cntmk}
+ \foreach \nb in {1,...,\tkz@@cnt}{%
+ \tkz@cntmk=\nb
+ \advance\tkz@cntmk by1
+ \draw[line cap=round,/tkzjoinmk/.cd,#1]
+ (\tkz@pref\nb) -- (\tkz@pref\the\tkz@cntmk);}
+\endgroup}
+%<-------------------------------------------------------------------------–>
+% ShowSetOfMark
+%<-------------------------------------------------------------------------–>
+\pgfkeys{/tkzdrawmk/.cd,
+ prefix/.store in = \tkz@pref,
+ prefix=tkzPt,
+ /tkzdrawmk/.search also = {/tikz}
+}
+\def\tkzDrawSetOfPoints{\pgfutil@ifnextchar[{\tkz@DrawSetOfPoints}{
+ \tkz@DrawSetOfPoints[]}}
+\def\tkz@DrawSetOfPoints[#1]{%
+\begingroup
+\pgfqkeys{/tkzdrawmk}{#1}
+\pgfmathsetcount{\tkz@cntmk}{\tkz@@cnt-1}
+\foreach \nb in {1,...,\tkz@cntmk}{\tkzDrawMark[#1](\tkz@pref\nb)}
+\endgroup}
+%<-------------------------------------------------------------------------–>
+% tkzmark
+%<-------------------------------------------------------------------------–>
+\def\tkzDrawMark{\pgfutil@ifnextchar[{\tkz@DrawMark}{\tkz@DrawMark[]}}
+\def\tkz@DrawMark[#1](#2){%
+ \draw plot[mark style,#1] coordinates {(#2)};
+}
+%<---------------------------------------------------------–>
+%<---------------------------------------------------------–>
+\def\tkzDrawMarks{\pgfutil@ifnextchar[{\tkz@DrawMarks}{\tkz@DrawMarks[]}}
+\def\tkz@DrawMarks[#1](#2){%
+ \foreach \point in {#2}{%
+ \draw plot[mark style,#1] coordinates {(\point)};% StyleMark,
+}}
+%<------------------------------------------------------------–>
+% Init pour mark
+%<------------------------------------------------------------–>
+\pgfkeys{/setupmk/.cd,
+ size/.store in = \tkz@sum@mk@size,
+ color/.store in = \tkz@sum@mk@color,
+ fill/.store in = \tkz@sum@mk@fill,
+ mark/.store in = \tkz@sum@mk@mark,
+ mark = \tkz@mk@mark,
+ color = \tkz@mk@color,
+ fill = \tkz@mk@color!50,
+ size = \tkz@mk@size
+}
+\def\tkzSetUpMark{\pgfutil@ifnextchar[{\tkzActivOff\tkz@SetUpMark}{%
+ \tkzActivOff\tkz@SetUpMark[]}}
+
+\def\tkz@SetUpMark[#1]{%
+\pgfqkeys{/setupmk}{#1}
+\tikzset{mark style/.style={%
+ inner sep = 0pt,
+ mark = \tkz@sum@mk@mark,
+ mark size = \tkz@sum@mk@size,
+ mark options = {color = \tkz@sum@mk@color,
+ fill = \tkz@sum@mk@fill}}}
+}%
+\makeatother
+%<--------------------------------------- ------------------–>
+\endinput
+ \ No newline at end of file