\subsection*{}{\normalfont\large\bfseries\raisebox{1.25pt}{$\mathbf{\blacktriangleright}$}\ Color Schemes Library}%
\label{lib:pgfPT_CS}\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\tmpSectionCSI{\bs{pgfPTGroupColors}}%
\def\tmpSectionCS{\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{\tmpSectionCS}}\vspace{6pt}%
\label{command:pgfPTGroupColors}\addcontentsline{toc}{subsubsection}{\texorpdfstring{\tmpSectionCSI{}}{\textbackslash pgfPTGroupColors}}%
\index{LIBRARIES@\textbf{\cyan{LIBRARIES}}!colorschemes@\textbf{\red{Color Schemes Library}}!\tmpSectionCSI}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\\ [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\tmpSectionCSII{\bs{pgfPTPeriodColors}}%
\def\tmpSectionCS{\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{\tmpSectionCS}}\vspace{6pt}%
\label{command:pgfPTPeriodColors}\addcontentsline{toc}{subsubsection}{\texorpdfstring{\tmpSectionCSII{}}{\textbackslash pgfPTPeriodColors}}%
\index{LIBRARIES@\textbf{\cyan{LIBRARIES}}!colorschemes@\textbf{\red{Color Schemes Library}}!\tmpSectionCSII}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\\ [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\tmpSectionCSIII{\bs{pgfPTCScombine}}%
\def\tmpSectionCS{\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{\tmpSectionCS}}\vspace{6pt}%
\label{command:pgfPTCScombine}\addcontentsline{toc}{subsubsection}{\texorpdfstring{\tmpSectionCSIII{}}{\textbackslash pgfPTCScombine}}%
\index{LIBRARIES@\textbf{\cyan{LIBRARIES}}!colorschemes@\textbf{\red{Color Schemes Library}}!\tmpSectionCSIII}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\\ [10pt]This command \textbf{combines two named Color Schemes} and merges the result into 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]{pgfPTSoft,group,mix}%
\textit{Built-in color schemes can also be mixed}:
\\ [10pt]\pgfPTMlibexample{%
\bs{pgfPTCScombine}\lp\red{add}\rp\lb\red{pgfPTSoft,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]{pgfPTSoft,pgfPTPS,mix}%
\pgfPTMlibexample{%
\bs{pgfPTCScombine}\lp\red{add,3:1}\rp\lb\red{pgfPTSoft,pgfPTPS,mix}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=mix,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=mix,show title=false]}%
}% -----
\\ [4pt]\pgfPTCScombine{pgfPTRadio,pgfPTWikipedia,mix}%
\pgfPTMlibexample{%
\bs{pgfPTCScombine}\lp\red{add}\rp\lb\red{pgfPTRadio,pgfPTWikipedia,mix}\rb%
\\ \pgfPTMmacro{pgfPT}[back color scheme=mix,show title=false]%
}{%
\scalebox{.425}{\pgfPT[back color scheme=mix,show title=false]}%
}% -----
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\tmpSectionCSIV{\bs{pgfPTCSwrite}}%
\def\tmpSectionCS{\bs{pgfPTCSwrite}\lp\red{filename}\rp\lb\red{list of color schemes names}\rb}%
\subsubsection*{}{\pgfPTMlibsubsubsection{\tmpSectionCS}}\vspace{6pt}%
\label{command:pgfPTCSwrite}\addcontentsline{toc}{subsubsection}{\texorpdfstring{\tmpSectionCSIV{}}{\textbackslash pgfPTCSwrite}}%
\index{LIBRARIES@\textbf{\cyan{LIBRARIES}}!colorschemes@\textbf{\red{Color Schemes Library}}!\tmpSectionCSIV}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\\ [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 following 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
