summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_libCS.tex
blob: 9fedcc11f80f439d5c66424efad827fcdca5f477 (plain)
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
%\subsection{\texorpdfstring{\ding{224} Color Schemes Library}{colorschemes}}
\subsection*{}{\normalfont\large\bfseries\raisebox{1.25pt}{$\mathbf{\blacktriangleright}$}\ Color Schemes Library}%
\label{command:pgfPTpreviewcell}\addcontentsline{toc}{subsection}{\texorpdfstring{Color Schemes Library}{colorschemes}}%
\index{LIBRARIES@\textbf{\cyan{LIBRARIES}}!colorschemes@\textbf{\red{Color Schemes Library}}}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Color Schemes Library
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\\ [4pt]\pgfPTlib{colorschemes}{This library extends the features provided by the command \bs{\mbox{pgfPTnewColorScheme}}.
It defines a set of commands that automatically generate a new color scheme.
\begin{itemize}
\item\bs{pgfPTGroupColors}\lb\red{name of the new color scheme}\rb\lb\red{list of colors,options}\rb%
\item\bs{pgfPTPeriodColors}\lb\red{name of the new color scheme}\rb\lb\red{list of colors,options}\rb%
\item\bs{pgfPTCScombine}\lp\red{proportion,mode}\rp\lb\red{name of the first color scheme,name of the second color scheme,name of the new color scheme}\rb%
\item\bs{pgfPTCSwrite}\lp\red{filename}\rp\lb\red{list of color schemes names}\rb%
\end{itemize}
Color arguments for this library's commands can use both the base package syntax -- \red{namedColor} or \red{namedColorA!\#\#!namedColorB<!\#\#><!named\myldots>} -- or any color model supported by the \txttt{xcolor} package\footnote{See \textit{Table 3: Supported color models} on page 10 of the documentation of \href{https://ctan.org/pkg/xcolor}{xcolor} v2.14 2022/06/12} using the \textit{special syntax} \red{*[model:values]}, \eg, \red{*[rgb:.5;.2;.3]} or \red{*[cmyk:.5;.2;.3;.3]} or \red{*[HTML:5FA287]}. \textbf{The values for the individual color components of a color specified this way must be separated by semicolons instead of commas}, except for the HTML, Gray and wave color models as explained in the \txttt{xcolor} package.
}% \pgfPTlib
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\tmpSectionI{\bs{pgfPTGroupColors}}%
\def\tmpSection{\bs{pgfPTGroupColors}\lp\red{default group color}\rp\lb\red{name of the new color scheme}\rb\lb\red{list of \mbox{colors},options}\rb}%
\subsubsection*{}{\pgfPTMlibsubsubsection{\tmpSection}}%
\label{command:pgfPTGroupColors}\addcontentsline{toc}{subsubsection}{\texorpdfstring{\tmpSectionI{}}{\textbackslash pgfPTGroupColors}}%
\index{LIBRARIES@\textbf{\cyan{LIBRARIES}}!colorschemes@\textbf{\red{Color Schemes Library}}!\tmpSectionI}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\\ [10pt]This command \textbf{creates a Color Scheme} with the name \red{name of the new color scheme}. \textbf{Group colors} can be configured in three different ways:
\vspace{4pt}
\begin{itemlist}
\item\textbf{setting the colors one by one}, using the \textit{\red{key=value}} mechanism in the \red{list of colors}. For example:
\mymfbox{\bs{pgfPTGroupColors}\lb\red{name of the new color scheme}\rb\gray{\%}
\\ \lb\red{\textbf{G1=red,G2=red!50,G3=orange,<\myldots>,G18=blue},options}\rb}
\dcyan{\textit{This will set the specified color for each group. If no color is specified for a group, \red{default group color} will be used}.}
\\ [3pt]\blue{\textbf{NOTE}}: \red{default group color} is initially set to white.
\item\textbf{defining a gradient} using the keys \red{left color=<color>}, \red{middle color=<color>} and \red{right color=<color>} as the \red{list of colors}. Note that all the keys are optional, but at least one of them is required. This produces a gradient starting from group 1, with \textit{left color}, to group 18, with \textit{right color}. If the \textit{middle color} key is used then the gradient starts at group 1 with \textit{left color}, goes to the middle position of the groups (between groups 9 and 10) with \textit{middle color} and ends at group 18 with \textit{right color}. For example:
\mymfbox{\bs{pgfPTGroupColors}\lb\red{name of the new color scheme}\rb\gray{\%}
\\ \lb\red{\textbf{left color=red,right color=blue},options}\rb}
\dcyan{\textit{defines a gradient from red (group 1) to blue (group 18)}.}
\item\textbf{defining a custom gradient} as the \red{list of colors} by using the \textit{\red{key=value}} mechanism inside the \red{gradient} key. For example:
\mymfbox{\bs{pgfPTGroupColors}\lb\red{name of the new color scheme}\rb\gray{\%}
\\ \lb\red{\textbf{gradient=\{G1=red,G4=red!50,G18=blue\}},options\rb}}
\dcyan{\textit{defines a gradient from red (group 1) to red!50 (group 4) and to blue (group 18)}.}
\end{itemlist}
\vspace{10pt}
The \red{options} available to this command are:
\vspace{4pt}
\begin{itemlist}
\item\red{H=<color>}, sets the color of the \textit{hydrogen} cell. If not set, group 1's color will be used. If set, the color of the \textit{hydrogen} cell won't be affected by period blending.
\item\red{La=<color>}, sets the color of the \textit{lanthanum} cell. If not set, group 3's color will be used.
\item\red{Lanta=<color>}, sets the color of the \textit{lanthanoids} cells. If not set, \textit{lanthanum}'s color will be used.
\item\red{Ac=<color>}, sets the color of the \textit{actinium} cell. If not set, group 3's color will be used.
\item\red{Actin=<color>}, sets the color of the \textit{actinoids} cells. If not set, \textit{actinium}'s color will be used.
\item\red{period blending=\{color=<color>, percentage=<positive or negative integer>, mode=<add|sub|linear>\}}, performs a \textit{mode} blend over the periods up to the specified percentage with the provided color.
\\ [3pt]\blue{\textbf{NOTES}}:
\begin{itembar}
\item \red{percentage} refers to how much of the color, in total, was mixed over the 7 periods. For example 60\% adds 10\% to each period: P1\raisebox{.8pt}{$\blacktriangleright$}0\% $\rightsquigarrow$ P2\raisebox{.8pt}{$\blacktriangleright$}10\% $\rightsquigarrow$ P3\raisebox{.8pt}{$\blacktriangleright$}20\% $\rightsquigarrow$ \myldots\ $\rightsquigarrow$ P7\raisebox{.8pt}{$\blacktriangleright$}60\%. If the percentage is positive, the mixing is done in descending order (from P1 to P7); if the percentage is negative, the mixing is done in ascending order (from P7 to P1).
\item The \red{mode}'s values are \red{add} for \textit{additive} blending, \red{sub} for \textit{subtractive} blending and \red{linear} for \textit{linear} blending (as in the \texttt{\small xcolor} package).
\item \textbf{If \red{period blending} is used without further options} all the default values are used, so \red{period blending} is equivalent to \red{period blending=\{color=white,percentage=60,mode=linear\}}.
\item None of the keys \red{color}, \red{percentage} and \red{mode} are mandatory. If omitted the default value is used.
\end{itembar}
\end{itemlist}
\newpage%
% examples --------
\pgfPTGroupColors{example}{G1=purple!10,G3=red!10}%
\pgfPTMlibexample{%
\bs{pgfPTGroupColors}\lb\red{example}\rb\lb\red{G1=purple!10,G3=red!10}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\\ \pgfPTGroupColors[black!10]{example}{G1=purple!10,G3=red!10}%
\pgfPTMlibexample{%
\bs{pgfPTGroupColors}\lp\red{black!10}\rp\lb\red{example}\rb\lb\red{G1=purple!10,G3=red!10}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\\ \pgfPTGroupColors{example}{G1=*[HTML:FFAAAA],G2=*[HTML:AA3939],G3=*[HTML:FFD1AA],G4=*[HTML:D49A6A],G5=*[HTML:AA6C39],G6=*[HTML:804515],G7=*[HTML:552700],G8=*[HTML:003333],G9=*[HTML:0D4D4D],G10=*[HTML:226666],G11=*[HTML:407F7F],G12=*[HTML:669999],G13=*[HTML:88CC88],G14=*[HTML:55AA55],G15=*[HTML:2D882D],G16=*[HTML:116611],G17=*[HTML:004400],G18=*[HTML:801515]}%
\pgfPTMlibexample{%
\bs{pgfPTGroupColors}\lb\red{example}\rb\lb\red{G1=*[HTML:FFAAAA],G2=*[HTML:AA3939],
G3=*[HTML:FFD1AA],G4=*[HTML:D49A6A],G5=*[HTML:AA6C39],
G6=*[HTML:804515],G7=*[HTML:552700],G8=*[HTML:003333],
G9=*[HTML:0D4D4D],G10=*[HTML:226666],G11=*[HTML:407F7F],
G12=*[HTML:669999],G13=*[HTML:88CC88],G14=*[HTML:55AA55],
G15=*[HTML:2D882D],G16=*[HTML:116611],G17=*[HTML:004400],
G18=*[HTML:801515]
}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\newpage\pgfPTGroupColors{example}{left color=teal!70,right color=cyan!30}%
\pgfPTMlibexample{%
\bs{pgfPTGroupColors}\lb\red{example}\rb\lb\red{left color=teal!70,right color=cyan!30}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\vfill\pgfPTGroupColors{example}{left color=teal!70,middle color=yellow!30,right color=cyan!30,La=teal!70!yellow!50,%
Ac=teal!60!yellow!50,Lanta=teal!70!yellow!50!white!50,Actin=teal!60!yellow!50!white!50}%
\pgfPTGroupColors{example}{left color=teal!70,right color=cyan!30,period blending}%
\pgfPTMlibexample{%
\bs{pgfPTGroupColors}\lb\red{example}\rb\lb\red{left color=teal!70,right color=cyan!30,period blending}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\vfill\pgfPTGroupColors{example}{left color=teal!70,right color=cyan!30,period blending={color=orange!50,percentage=-40}}%
\pgfPTMlibexample{%
\bs{pgfPTGroupColors}\lb\red{example}\rb\lb\red{left color=teal!70,right color=cyan!30,\\ %
period blending=\{color=orange!50,percentage=-40\}}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\newpage\pgfPTGroupColors{example}{left color=teal!70,right color=cyan!30,period blending={color=orange!50,percentage=-40,mode=add},H={*[cmyk:.071,0,.055,.035]}}%
\pgfPTMlibexample{%
\bs{pgfPTGroupColors}\lb\red{example}\rb\lb\red{left color=teal!70,right color=cyan!30,\\ %
period blending=\{color=orange!50,percentage=-40,mode=add\},\\ %
H=\{*[cmyk:.071,0,.055,.035]\}}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\pgfPTGroupColors{example}{left color=teal!70,right color=cyan!30,period blending={color=orange!50,percentage=-40,mode=sub},H=*[cmyk:.071;0;.055;.035]}%
\pgfPTMlibexample{%
\bs{pgfPTGroupColors}\lb\red{example}\rb\lb\red{left color=teal!70,right color=cyan!30,\\ %
period blending=\{color=orange!50,percentage=-40,mode=sub\},\\ %
H=*[cmyk:.071;0;.055;.035]}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\\ \pgfPTGroupColors{example}{left color=teal!70,middle color=yellow!30,right color=cyan!30,La=teal!70!yellow!50,%
Ac=teal!60!yellow!50,Lanta=teal!70!yellow!50!white!50,Actin=teal!60!yellow!50!white!50}%
\pgfPTMlibexample{%
\bs{pgfPTGroupColors}\lb\red{example}\rb\lb\red{left color=teal!70,middle color=yellow!30,right color=cyan!30,%
La=teal!70!yellow!50,Ac=teal!60!yellow!50, Lanta=teal!70!yellow!50!white!50,Actin=teal!60!yellow!50!white!50}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\newpage%
\pgfPTGroupColors{example}{gradient={G1=teal!50!black,G2=teal,G10=green,G14=orange,G18=blue},period blending={mode=add}}%
\pgfPTMlibexample{%
\bs{pgfPTGroupColors}\lb\red{example}\rb\lb\red{gradient=\{G1=teal!50!black,G2=teal,G10=green,
G14=orange,G18=blue\},period blending=\{mode=add\}}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\vfill\pgfPTGroupColors{example}{gradient={G3=teal!80!black,G16=teal!80!black,G8=green}}%
\pgfPTMlibexample{%
\bs{pgfPTGroupColors}\lb\red{example}\rb\lb\red{gradient=\{G3=teal!80!black,G16=teal!80!black,
G8=green\}}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
\\ [6pt]\tikz{\node[text width=\linewidth-.6666em,text justified,font=\small\itshape] {\textbf{Note: the group numbers can be specified in any order and the gradient can start or end in any group}. In this example, the smallest group number is 3 and the greatest is 16, so the gradient is built from group 3 to group 16 and the colors from group 1 to 3 are equal to group 3's color, just like the colors from group 16 to 18 are equal to group 16's color.
};}
}% -----
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\tmpSectionII{\bs{pgfPTPeriodColors}}%
\def\tmpSection{\bs{pgfPTPeriodColors}\lp\red{default period color}\rp\lb\red{name of the new color scheme}\rb\lb\red{list of \mbox{colors},options}\rb}%
\subsubsection*{}{\pgfPTMlibsubsubsection{\tmpSection}}%
\label{command:pgfPTPeriodColors}\addcontentsline{toc}{subsubsection}{\texorpdfstring{\tmpSectionII{}}{\textbackslash pgfPTPeriodColors}}%
\index{LIBRARIES@\textbf{\cyan{LIBRARIES}}!colorschemes@\textbf{\red{Color Schemes Library}}!\tmpSectionII}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\\ [10pt]This command \textbf{creates a Color Scheme} with the name \red{name of the new color scheme}. \textbf{Period colors} can be configured in three different ways:
\vspace{4pt}
\begin{itemlist}
\item\textbf{setting the colors one by one}, using the \textit{\red{key=value}} mechanism in the \red{list of colors}. For example:
\mymfbox{\bs{pgfPTPeriodColors}\lb\red{name of the new color scheme}\rb\gray{\%}
\\ \lb\red{\textbf{P1=red,P2=red!50,<\myldots>,P7=blue},options}\rb}
\dcyan{\textit{This will set the specified color for each period. If no color is specified for a period, \red{default period color} will be used}.}
\\ [3pt]\blue{\textbf{NOTE}}: \red{default period color} is initially set to white.
\item\textbf{defining a gradient} using the keys \red{top color=<color>}, \red{middle color=<color>} and \red{bottom color=<color>} as the \red{list of colors}. Note that all the keys are optional, but at least one of them is required. This produces a gradient starting from period 1, with \textit{top color}, to period 7, with \textit{bottom color}. If the \textit{middle color} key is used then the gradient starts at period 1 with \textit{top color}, goes to the middle position of the periods (period 4) with \textit{middle color} and ends at period 7 with \textit{bottom color}. For example:
\mymfbox{\bs{pgfPTPeriodColors}\lb\red{name of the new color scheme}\rb\gray{\%}
\\ \lb\red{\textbf{top color=red,middle color=yellow,bottom color=blue},options}\rb}
\dcyan{\textit{defines a gradient from red (period 1) to yellow (period 4) and from yellow (period 4) to blue (period 7)}.}
\item\textbf{defining a custom gradient} as the \red{list of colors} by using the \textit{\red{key=value}} mechanism inside the \red{gradient} key. For example:
\mymfbox{\bs{pgfPTPeriodColors}\lb\red{name of the new color scheme}\rb\gray{\%}
\\ \lb\red{\textbf{gradient=\{P1=red,P3=red!50,P7=blue\}},options\rb}}
\dcyan{\textit{defines a gradient from red (period 1) to red!50 (period 3) and to blue (period 7)}.}
\end{itemlist}
\vspace{10pt}
The \red{options} available to this command are:
\vspace{4pt}
\begin{itemlist}
\item\red{H=<color>}, sets the color of the \textit{hydrogen} cell. If not set, period 1's color will be used. If set, the color of the \textit{hydrogen} cell won't be affected by group blending.
\item\red{La=<color>}, sets the color of the \textit{lanthanum} cell. If not set, period 6's color will be used.
\item\red{Lanta=<color>}, sets the color of the \textit{lanthanoids} cells. If not set, \textit{lanthanum}'s color will be used.
\item\red{Ac=<color>}, sets the color of the \textit{actinium} cell. If not set, period 7's color will be used.
\item\red{Actin=<color>}, sets the color of the \textit{actinoids} cells. If not set, \textit{actinium}'s color will be used.
\item\red{group blending=\{color=<color>, percentage=<positive or negative integer>, mode=<add|sub|linear>\}}, performs a \textit{mode} blend over the groups up to the specified percentage with the provided color.
\\ [3pt]\blue{\textbf{NOTES}}:
\begin{itembar}
\item \red{percentage} refers to how much of the color, in total, was mixed over the 18 groups. For example 68\% adds 4\% to each period: G1\raisebox{.8pt}{$\blacktriangleright$}0\% $\rightsquigarrow$ G2\raisebox{.8pt}{$\blacktriangleright$}4\% $\rightsquigarrow$ G3\raisebox{.8pt}{$\blacktriangleright$}8\% $\rightsquigarrow$ \myldots\ $\rightsquigarrow$ G18\raisebox{.8pt}{$\blacktriangleright$}68\%. If the percentage is positive, the mixing is done from left to right (from G1 to G18); if the percentage is negative, the mixing is done from right to left (from G18 to G1).
\item The \red{mode}'s values are \red{add} for \textit{additive} blending, \red{sub} for \textit{subtractive} blending and \red{linear} for \textit{linear} blending (as in the \texttt{\small xcolor} package).
\item \textbf{If \red{group blending} is used without further options} all the default values are used, so \red{group blending} is equivalent to \red{group blending=\{color=white,percentage=68,mode=linear\}}.
\item None of the keys \red{color}, \red{percentage} and \red{mode} are mandatory. If omitted the default value is used.
\end{itembar}
\end{itemlist}
\newpage
% examples --------
\pgfPTPeriodColors{example}{P1=*[RGB:86;139;137],P2=*[RGB:49;114;112],P3=*[RGB:23;91;88],P4=*[RGB:5;67;64],P5=*[RGB:35;54;100],P6=*[RGB:62;82;126],P7=*[RGB:101;117;153]}%
\pgfPTMlibexample{%
\bs{pgfPTPeriodColors}\lb\red{example}\rb\lb\red{P1=*[RGB:86;139;137],P2=*[RGB:49;114;112],
P3=*[RGB:23;91;88],P4=*[RGB:5;67;64],P5=*[RGB:35;54;100],
P6=*[RGB:62;82;126],P7=*[RGB:101;117;153]}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\vfill\pgfPTPeriodColors{example}{top color=*[Hsb:117;.57;.6]}%
\pgfPTMlibexample{%
\bs{pgfPTPeriodColors}\lb\red{example}\rb\lb\red{top color=*[Hsb:117;.57;.6]}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\vfill\pgfPTPeriodColors{example}{gradient={P1=*[Hsb:117;.57;.6],P5=*[Hsb:178;.57;.45]}}%
\pgfPTMlibexample{%
\bs{pgfPTPeriodColors}\lb\red{example}\rb\lb\red{gradient=\{P1=*[Hsb:117;.57;.6], P5=*[Hsb:178;.57;.45]\}}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=example,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=example,show title=false]}%
}% -----
\newpage%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\tmpSectionIII{\bs{pgfPTCScombine}}%
\def\tmpSection{\bs{pgfPTCScombine}\lp\red{prop1:prop2,mode}\rp\lb\red{name of color scheme one,name of color\\ \hfill scheme two,name of the new color scheme}\rb}%
\subsubsection*{}{\pgfPTMlibsubsubsection{\tmpSection}}%
\label{command:pgfPTCScombine}\addcontentsline{toc}{subsubsection}{\texorpdfstring{\tmpSectionIII{}}{\textbackslash pgfPTCScombine}}%
\index{LIBRARIES@\textbf{\cyan{LIBRARIES}}!colorschemes@\textbf{\red{Color Schemes Library}}!\tmpSectionIII}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\\ [10pt]This command \textbf{combines two named Color Schemes} and merges the result in a new Color Scheme with \red{name of the new color scheme}.
\\ For example \bs{pgfPTCScombine}\lb\red{myCSA,myCSB,myCSC}\rb\ adds the color scheme \red{myCSA} to the color scheme \red{myCSB} and their sum will be available as the color scheme \red{myCSC}.
\\ [3pt]\blue{\textbf{NOTE}}: if the Color Schemes have different sizes (\ie, different number of colors), the last color from the color scheme that ends first will be used until the other color scheme also ends.
\\ [3pt]The optional parameters \lp\red{prop1:prop2,mode}\rp\ are for controlling how the two Color Schemes are combined:
\vspace{4pt}%
\begin{itemlist}
\item The first parameter -- \red{prop1:prop2} -- controls the proportions used to mix the color schemes: \red{prop1} parts of \red{name of color scheme one} and \red{prop2} parts of \red{name of color} \red{scheme two}.  Both \red{prop1} and \red{prop2} must be integer values between 1 and 999.
\\ [3pt]\blue{\textbf{NOTE}}: default proportion is \red{1:1}.
\\ For example, \red{1:4} \dcyan{\textit{will mix each color in the ratio of 1 to 4, \ie, the nth-color from the first color scheme is used as 1/5 of the mixed color and the nth-color from the second color scheme is used as 4/5 of the mixed color}}.
\item The \red{mode} refers to how the colors are mixed: use \red{add} for \textit{additive} mixing, \red{sub} for \textit{subtractive} mixing and \red{linear} for \textit{linear} mixing (as in the \texttt{\large xcolor} package).
\\ [3pt]\blue{\textbf{NOTE}}: default mode is \red{linear}.
\end{itemlist}
\vspace{4pt}%
% examples --------
\pgfPTPeriodColors{period}{top color=red}%
\pgfPTGroupColors{group}{right color=green}%
\pgfPTCScombine{period,group,mix}%
\pgfPTMlibexample{%
\bs{pgfPTPeriodColors}\lb\red{period}\rb\lb\red{top color=red}\rb%
\\ \bs{pgfPTGroupColors}\lb\red{group}\rb\lb\red{right color=green}\rb%
\\ \bs{pgfPTCScombine}\lb\red{period,group,mix}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=mix,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=mix,show title=false]}%
}% -----
\newpage\pgfPTCScombine[sub]{period,group,mix}%
\pgfPTMlibexample{%
\bs{pgfPTCScombine}\lp\red{sub}\rp\lb\red{period,group,mix}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=mix,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=mix,show title=false]}%
}% -----
\vfill\pgfPTCScombine[add]{period,group,mix}%
\pgfPTMlibexample{%
\bs{pgfPTCScombine}\lp\red{add}\rp\lb\red{period,group,mix}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=mix,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=mix,show title=false]}%
}% -----
\vfill\pgfPTCScombine[3:1]{period,group,mix}%
\pgfPTMlibexample{%
\bs{pgfPTCScombine}\lp\red{3:1}\rp\lb\red{period,group,mix}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=mix,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=mix,show title=false]}%
}% -----
\newpage\pgfPTCScombine[3:1,add]{period,group,mix}%
\pgfPTMlibexample{%
\bs{pgfPTCScombine}\lp\red{3:1,add}\rp\lb\red{period,group,mix}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=mix,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=mix,show title=false]}%
}% -----
\vfill\pgfPTCScombine[add,2:3]{period,group,mix}%
\pgfPTMlibexample{%
\bs{pgfPTCScombine}\lp\red{add,2:3}\rp\lb\red{period,group,mix}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=mix,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=mix,show title=false]}%
}% -----
\vfill\pgfPTCScombine[add]{Soft,group,mix}%
\textit{Built-in color schemes can also be mixed}:
\\ [10pt]\pgfPTMlibexample{%
\bs{pgfPTCScombine}\lp\red{add}\rp\lb\red{Soft,group,mix}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=mix,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=mix,show title=false]}%
}% -----
\newpage\pgfPTCScombine[add,3:1]{Soft,PS,mix}%
\pgfPTMlibexample{%
\bs{pgfPTCScombine}\lp\red{add,3:1}\rp\lb\red{Soft,PS,mix}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=mix,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=mix,show title=false]}%
}% -----
\\ [4pt]\pgfPTCScombine{Radio,Wikipedia,mix}%
\pgfPTMlibexample{%
\bs{pgfPTCScombine}\lp\red{add}\rp\lb\red{Radio,Wikipedia,mix}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=mix,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=mix,show title=false]}%
}% -----
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\tmpSectionIV{\bs{pgfPTCSwrite}}%
\def\tmpSection{\bs{pgfPTCSwrite}\lp\red{filename}\rp\lb\red{list of color schemes names}\rb}%
\subsubsection*{}{\pgfPTMlibsubsubsection{\tmpSection}}%
\label{command:pgfPTGroupColors}\addcontentsline{toc}{subsubsection}{\texorpdfstring{\tmpSectionIV{}}{\textbackslash pgfPTCSwrite}}%
\index{LIBRARIES@\textbf{\cyan{LIBRARIES}}!colorschemes@\textbf{\red{Color Schemes Library}}!\tmpSectionIV}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\\ [10pt]This command \textbf{writes the provided Color Schemes to a file} for later use without loading this library. It has a mandatory argument, the \red{list of the color schemes names} to be written and an optional argument, the \red{filename}. If no \red{filename} is provided the first name on the \red{list of the color schemes names} is used.
\\ For example, \bs{pgfPTCSwrite}\lp\red{myGroupColors}\rp\lb\red{myGroupGradGreenToRed,myGroupGreens, myGroupGradYellowToRed}\rb, \dcyan{\textit{will create (or overwrite), in the current working directory, a file with name} \texttt{\large myGroupColors.tex} \textit{with the follwing contents}}:
\mymfbox{\textsf{%
\textbackslash pgfPTnewColorScheme\{myGroupGradGreenToRed\}\{0/1/0,\myldots%
\\ \textbackslash pgfPTnewColorScheme\{myGroupGreens\}\{0/1/.1,\myldots%
\\ \textbackslash pgfPTnewColorScheme\{myGroupGradYellowToRed\}\{1/1/0,\myldots}%
}%
After that, it's possible to use \texttt{\large\textbackslash input\{myGroupColors.tex\}}, anywhere in any document (in the same working directory). The named color schemes defined in the loaded file are now available for use as usual:
% examples --------
\\ \pgfPTGroupColors{myGroupGradGreenToRed}{gradient={G1=green!50!black,G18=red!30!black},H=green!40!white}%
\pgfPTGroupColors{myGroupGreens}{gradient={G1=green!50!black,G18=green!50!white},H=green!40!white}%
\pgfPTGroupColors{myGroupGradYellowToRed}{gradient={G1=yellow!50!white,G18=red!30!black},H=yellow!40!white}%
\pgfPTCSwrite[myGroupColors]{myGroupGradGreenToRed,myGroupGreens,myGroupGradYellowToRed}%
\begin{tikzpicture}%
\node[below right,text width=\textwidth-.6666em,draw=cyan!50!black,rounded corners=2pt,left color=black!10,right color=black!14] (a) at (0,0) {%
\bs{pgfPTPeriodColors}\lb\red{myGroupGradGreenToRed}\rb\lb\red{gradient=\{G1=green!50!black, G18=red!30!black\},H=green!40!white}\rb%
\\ \bs{pgfPTPeriodColors}\lb\red{myGroupGreens}\rb\lb\red{gradient=\{G1=green!50!black, G18=green!50!white\},H=green!40!white}\rb%
\\ \bs{pgfPTPeriodColors}\lb\red{myGroupGradYellowToRed}\rb\lb\red{gradient=\{G1=yellow!50!white, G18=red!30!black\},H=yellow!40!white}\rb%
\\ \bs{pgfPTCSwrite}\lp\red{myGroupColors}\rp\lb\red{myGroupGradGreenToRed,myGroupGreens, myGroupGradYellowToRed}\rb
};%
\end{tikzpicture}%
\\ [4pt]\pgfPTMlibexample{%
\gray{\%\textbackslash usepgfPTlibrary\{colorschemes\}}%
\\ \bs{input}\lb\dcyan{myGroupColors.tex}\rb\gray{\%}%
\\ \pgfPTMmacro{pgfPT}[back color scheme=myGroupGreens,show title=false]%
}{%
\scalebox{.5}{\pgfPT[back color scheme=myGroupGreens,show title=false]}%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput