1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
% 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{1.16 c}
\def\filedate{2011/06/01}
%<-------------------------------------------------------------------------–>
% Setup Marks
%<-------------------------------------------------------------------------–>
%<--------------------------------------------------------------------------–>
% DefSetOfPoints
%<--------------------------------------------------------------------------–>
\newif\iftkz@sop@show
\newcount\tkz@cntmk
\pgfkeys{
/tkzSoPt/.cd,
prefix/.code = {\global\edef\tkz@pref{#1}},
/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
\pgfkeys{%
/tkzSoPt/.cd,
prefix=tkzPt}
\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 %
\global\edef\tkz@@cnt{\the\tkz@cntmk}
}%
\endgroup}%
%<-------------------------------------------------------------------------–>
\pgfkeys{
/tkzjoinmk/.cd,
prefix/.code = {\global\edef\tkz@pref{#1}},
/tkzjoinmk/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
\pgfkeysalso{\searchname/.try=#1,
/tikz/\searchname/.retry=#1}}
}
\def\tkzJoinSetOfPoints{\pgfutil@ifnextchar[{\tkz@JoinSetOfPoints}{%
\tkz@JoinSetOfPoints[]}}
\def\tkz@JoinSetOfPoints[#1]{%
\begingroup
\pgfkeys{%
/tkzjoinmk/.cd,
prefix=tkzPt}
\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/.code = {\global\edef\tkz@pref{#1}},
/tkzdrawmk/.unknown/.code = {\let\searchname=\pgfkeyscurrentname
\pgfkeysalso{\searchname/.try=#1,
/tikz/\searchname/.retry=#1}}
}
\def\tkzDrawSetOfPoints{\pgfutil@ifnextchar[{\tkz@DrawSetOfPoints}{
\tkz@DrawSetOfPoints[]}}
\def\tkz@DrawSetOfPoints[#1]{%
\begingroup
\pgfkeys{/tkzdrawmk/.cd, prefix=tkzPt}
\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/.code = {\global\edef\tkz@sum@mk@size{#1}},
color/.code = {\global\edef\tkz@sum@mk@color{#1}},
fill/.code = {\global\edef\tkz@sum@mk@fill{#1}},
mark/.code = {\global\edef\tkz@sum@mk@mark{#1}}
}
\def\tkzSetUpMark{\pgfutil@ifnextchar[{\tkzActivOff\tkz@SetUpMark}{%
\tkzActivOff\tkz@SetUpMark[]}}
\def\tkz@SetUpMark[#1]{%
\pgfkeys{%
/setupmk/.cd,
mark = \tkz@mk@mark,
color = \tkz@mk@color,
fill = \tkz@mk@color!50,
size = \tkz@mk@size}
\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}}}
}%
%<--------------------------------------------------------------------------–>
\endinput
|