texlive[62006] Master/texmf-dist: ninecolors (13feb22)

commits+karl at tug.org commits+karl at tug.org
Sun Feb 13 22:25:53 CET 2022


Revision: 62006
          http://tug.org/svn/texlive?view=revision&revision=62006
Author:   karl
Date:     2022-02-13 22:25:53 +0100 (Sun, 13 Feb 2022)
Log Message:
-----------
ninecolors (13feb22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/ninecolors/ninecolors.pdf
    trunk/Master/texmf-dist/doc/latex/ninecolors/ninecolors.tex
    trunk/Master/texmf-dist/tex/latex/ninecolors/ninecolors.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/ninecolors/README.txt

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/ninecolors/README

Deleted: trunk/Master/texmf-dist/doc/latex/ninecolors/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ninecolors/README	2022-02-13 21:25:26 UTC (rev 62005)
+++ trunk/Master/texmf-dist/doc/latex/ninecolors/README	2022-02-13 21:25:53 UTC (rev 62006)
@@ -1,4 +0,0 @@
-Ninecolors: Select colors with proper WCAG color contrast
-Author    : Jianrui Lyu <tolvjr at 163.com>
-Repository: https://github.com/lvjr/ninecolors
-License   : The LaTeX Project Public License 1.3

Added: trunk/Master/texmf-dist/doc/latex/ninecolors/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ninecolors/README.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/ninecolors/README.txt	2022-02-13 21:25:53 UTC (rev 62006)
@@ -0,0 +1,4 @@
+Ninecolors: Select Colors with Proper WCAG Color Contrast
+Author    : Jianrui Lyu <tolvjr at 163.com> and Nan Geng <nangeng at nwafu.edu.cn>
+Repository: https://github.com/lvjr/ninecolors
+License   : The LaTeX Project Public License 1.3


Property changes on: trunk/Master/texmf-dist/doc/latex/ninecolors/README.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/ninecolors/ninecolors.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/ninecolors/ninecolors.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ninecolors/ninecolors.tex	2022-02-13 21:25:26 UTC (rev 62005)
+++ trunk/Master/texmf-dist/doc/latex/ninecolors/ninecolors.tex	2022-02-13 21:25:53 UTC (rev 62006)
@@ -2,9 +2,14 @@
 \documentclass{article}
 \usepackage[a4paper,margin=1.5cm]{geometry}
 
+\newcommand*{\myversion}{2022D}
+\newcommand*{\mydate}{Version \myversion\ (\the\year-\mylpad\month-\mylpad\day)}
+\newcommand*{\mylpad}[1]{\ifnum#1<10 0\the#1\else\the#1\fi}
+
 \usepackage{ninecolors}
 \usepackage{arev}
 \usepackage{pgffor}
+\usepackage{l3draw}
 \usepackage{hyperref}
 \hypersetup{
   colorlinks=true,
@@ -11,25 +16,10 @@
   urlcolor=blue3,
 }
 
-\newcommand*{\myversion}{2021C}
-\newcommand*{\mydate}{Version \myversion\ (\the\year-\mylpad\month-\mylpad\day)}
-\newcommand*{\mylpad}[1]{\ifnum#1<10 0\the#1\else\the#1\fi}
+\setlength{\parindent}{0pt}
+%\setlength{\parskip}{4pt plus 1pt minus 1pt}
 
-\begin{document}
-
-\title{\textcolor{blue3}{Ninecolors: select colors with proper WCAG color contrast}%
-       \footnote{\url{https://github.com/lvjr/ninecolors}}}
-\author{Jianrui Lyu (tolvjr at 163.com)}
-\date{\mydate}
-\maketitle
-
-\textcolor{red4}{Ninecolors} package carefully selects and defines 9 colors for 13 hues each.
-All colors with the same suffix number have equal luminance level.
-Also color black is of level 0, and color white is of level 10.
-
-\bigskip
-
-\newcommand{\NineTestBack}{%
+\newcommand\NineTestBack{%
 \foreach \l in {1,...,9}
 {
   \noindent
@@ -36,15 +26,12 @@
   \foreach \n in {gray,red,brown,yellow,olive,green,teal,cyan,azure,blue,violet,magenta,purple}
   {%
     \xdef\mycolor{\ifnum \l < 5 white\else black\fi}%
-    \colorbox{\n\l}{\color{\mycolor}\texttt\strut\n\l}%
+    \colorbox{\n\l}{\color{\mycolor}\strut\n\l}%
   }
   \par
 }}
-\NineTestBack
 
-\bigskip
-
-\newcommand{\NineTestFore}{%
+\newcommand\NineTestFore{%
 \foreach \l in {1,...,9}
 {
   \noindent
@@ -51,23 +38,12 @@
   \foreach \n in {gray,red,brown,yellow,olive,green,teal,cyan,azure,blue,violet,magenta,purple}
   {%
     \xdef\mycolor{\ifnum \l < 5 gray9\else black\fi}%
-    \colorbox{\mycolor}{\color{\n\l}\texttt\strut\n\l}%
+    \colorbox{\mycolor}{\color{\n\l}\strut\n\l}%
   }
   \par
 }}
-\NineTestFore
 
-\bigskip
-\hrule
-\bigskip
-
-By simply choosing two colors in the above list, which differ in level by at least 5,
-as foreground and background colors, you will get proper
-\href{https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html}{WCAG Color Contrast}.
-
-\bigskip
-
-\newcommand{\NineTestContrast}{%
+\newcommand\NineTestContrast{%
 \colorbox{blue9}{%
   \strut\color{green3}The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
 }
@@ -83,25 +59,110 @@
 \colorbox{brown3}{%
   \strut\color{violet9}The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
 }}
-\NineTestContrast
 
+\newcommand\NineTestSaturation[1]{{%
+  \NineColors{saturation=#1}
+  \noindent\centering
+  \colorbox{white}{\makebox[4em]{\strut #1}}%
+  \foreach \n in {red,brown,yellow,olive,green,teal,cyan,azure,blue,violet,magenta,purple}
+  {%
+    \colorbox{\n5}{\makebox[3em]{\strut\rule[-2ex]{0pt}{5.5ex}TEST}}%
+  }
+  \par
+}}
+
+\newcommand\NineTestAllSaturations{%
+  \NineTestSaturation{high}%
+  \NineTestSaturation{medium}%
+  \NineTestSaturation{low}%
+}
+
+\ExplSyntaxOn
+
+\cs_generate_variant:Nn \color_fill:n { x }
+\cs_generate_variant:Nn \color_stroke:n { x }
+
+\newcommand\NineTestDraw{
+  \foreach \l [evaluate=\l~as~\m~using~int(10-\l)] in {1,...,9}
+  {
+    \noindent
+    \foreach \n in {gray,red,brown,yellow,olive,green,teal,
+                    cyan,azure,blue,violet,magenta,purple}
+    {
+      \draw_begin:
+        \draw_scope_begin:
+          \color_stroke:x { \n\m }
+          \color_fill:x { \n\l }
+          \draw_path_circle:nn { 0, 0 } { 10pt }
+          \draw_path_use_clear:n { stroke, fill }
+        \draw_scope_end:
+      \draw_end:
+      \qquad
+    }
+    \par
+    \vspace*{0.5ex}
+  }
+}
+
+\ExplSyntaxOff
+
+\begin{document}
+
+\title{\textcolor{blue3}{Ninecolors: Select Colors with Proper WCAG Color Contrast}%
+       \footnote{\url{https://github.com/lvjr/ninecolors}}}
+\author{Jianrui Lyu (tolvjr at 163.com) \\ Nan Geng (nangeng at nwafu.edu.cn)}
+\date{\mydate}
+\maketitle
+
+\section{LaTeX2 Colors with Medium Saturation}
+
+\textcolor{red4}{Ninecolors} package carefully selects and defines 9 colors for 13 hues each.
+All colors with the same suffix number have equal luminance level.
+Also color black is of level 0, and color white is of level 10.
+
 \bigskip
-\hrule
+
+\NineTestBack
+
+\medskip
+
+\NineTestFore
+
 \bigskip
 
+By simply choosing two colors in the above list, which differ in level by at least 5,
+as foreground and background colors, you will get proper
+\href{https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html}{WCAG Color Contrast}.
+
+\bigskip
+
+\NineTestContrast
+
+\bigskip
+
 If you need to select more contrasting foreground and background colors, which may have other hues,
 you could visit \href{https://lvjr.bitbucket.io/contrast.html}{WCAG Color Contrast Tool}
-page which is designed by the author.
+page which is designed by the first author.
 
-\newpage\vspace*{31mm}
-\NineColors{saturation=low}
+\newpage
 
+\section{LaTeX2 Colors with Low Saturation}
+
 You can change the saturation of colors by {\color{red3}\verb!\NineColors!} command.
 By default {\color{red3}\verb!saturation=medium!}.
-Colors in this page have been changed by {\color{red3}\verb!\NineColors{saturation=low}!}.
 
 \bigskip
 
+\NineTestAllSaturations
+
+\bigskip
+
+\NineColors{saturation=low}
+Colors in the remaining part of the page have been changed by
+{\color{red3}\verb!\NineColors{saturation=low}!}.
+
+\bigskip
+
 \textcolor{red4}{Ninecolors} package carefully selects and defines 9 colors for 13 hues each.
 All colors with the same suffix number have equal luminance level.
 Also color black is of level 0, and color white is of level 10.
@@ -110,13 +171,11 @@
 
 \NineTestBack
 
-\bigskip
+\medskip
 
 \NineTestFore
 
 \bigskip
-\hrule
-\bigskip
 
 By simply choosing two colors in the above list, which differ in level by at least 5,
 as foreground and background colors, you will get proper
@@ -127,22 +186,30 @@
 \NineTestContrast
 
 \bigskip
-\hrule
-\bigskip
 
 If you need to select more contrasting foreground and background colors, which may have other hues,
 you could visit \href{https://lvjr.bitbucket.io/contrast.html}{WCAG Color Contrast Tool}
-page which is designed by the author.
+page which is designed by the first author.
 
-\newpage\vspace*{31mm}
-\NineColors{saturation=high}
+\newpage
 
+\section{LaTeX2 Colors with High Saturation}
+
 You can change the saturation of colors by {\color{red3}\verb!\NineColors!} command.
 By default {\color{red3}\verb!saturation=medium!}.
-Colors in this page have been changed by {\color{red3}\verb!\NineColors{saturation=high}!}.
 
 \bigskip
 
+\NineTestAllSaturations
+
+\bigskip
+
+\NineColors{saturation=high}
+Colors in the remaining part of the page have been changed by
+{\color{red3}\verb!\NineColors{saturation=high}!}.
+
+\bigskip
+
 \textcolor{red4}{Ninecolors} package carefully selects and defines 9 colors for 13 hues each.
 All colors with the same suffix number have equal luminance level.
 Also color black is of level 0, and color white is of level 10.
@@ -151,13 +218,11 @@
 
 \NineTestBack
 
-\bigskip
+\medskip
 
 \NineTestFore
 
 \bigskip
-\hrule
-\bigskip
 
 By simply choosing two colors in the above list, which differ in level by at least 5,
 as foreground and background colors, you will get proper
@@ -168,11 +233,32 @@
 \NineTestContrast
 
 \bigskip
-\hrule
-\bigskip
 
 If you need to select more contrasting foreground and background colors, which may have other hues,
 you could visit \href{https://lvjr.bitbucket.io/contrast.html}{WCAG Color Contrast Tool}
-page which is designed by the author.
+page which is designed by the first author.
 
+\newpage
+
+\section{LaTeX3 Colors for Fun}
+
+\NineColors{saturation=medium}
+
+If you are using a LaTeX3 release not older than 2021-07-12,
+\textcolor{red4}{Ninecolors} package will define LaTeX3 colors of the same names for you.
+
+\bigskip
+
+For example, you can change the color of drawing operations by
+{\color{red3}\verb!\color_fill:n {⟨color expression⟩}!} command
+for fills,
+{\color{red3}\verb!\color_stroke:n {⟨color expression⟩}!} command
+for strokes.
+%between {\color{red3}\verb!\ExplSyntaxOn!} and
+%{\color{red3}\verb!\ExplSyntaxOff!}.
+
+\bigskip
+
+\NineTestDraw
+
 \end{document}

Modified: trunk/Master/texmf-dist/tex/latex/ninecolors/ninecolors.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ninecolors/ninecolors.sty	2022-02-13 21:25:26 UTC (rev 62005)
+++ trunk/Master/texmf-dist/tex/latex/ninecolors/ninecolors.sty	2022-02-13 21:25:53 UTC (rev 62006)
@@ -1,379 +1,412 @@
 %%%  -*- coding: utf-8 -*-
 %%% ----------------------------------------------------------------------------
 %%% Ninecolors: Select colors with proper WCAG color contrast
-%%% Author    : Jianrui Lyu <tolvjr at 163.com>
+%%% Author    : Jianrui Lyu <tolvjr at 163.com> and Nan Geng <nangeng at nwafu.edu.cn>
 %%% Repository: https://github.com/lvjr/ninecolors
 %%% License   : The LaTeX Project Public License 1.3
 %%% ----------------------------------------------------------------------------
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{ninecolors}[2021/05/24 v2021C Select colors with proper color contrast]
+\ProvidesExplPackage{ninecolors}{2022-02-13}{v2022D}
+  {Select colors with proper color contrast}
+
+%% We have to make ninecolors package support TeX Live 2020,
+%% because tabularray still supports TeX Live 2020 and it depends on this package.
+%% Therefore we need to load xparse package first.
+
 \RequirePackage{xcolor}
 \RequirePackage{xparse}
 
-\ExplSyntaxOn
+%% Old versions of l3color don't work if color model contains a colon.
+%% This bug has been fixed in LaTeX3 release 2021-07-12.
+%% See https://github.com/latex3/latex3/issues/962
+%% and https://github.com/lvjr/ninecolors/issues/1
+%% Therefore we only define latex3 colors in newer LaTeX3 releases.
+%% Note that l3color was moved from l3experimental to l3kernel on 2021-02-18,
+%% hence we don't need to load l3color package first.
 
-\tl_new:N \l__ninecolors_sat_tl
+\bool_new:N \l__ninecolors_define_latex_three_bool
 
-\keys_define:nn {ninecolors}
+\@ifpackagelater{expl3}{2021-07-12} % need expl3 which is loaded by xparse
+  { \bool_set_true:N \l__ninecolors_define_latex_three_bool } { }
+
+\cs_new_protected_nopar:Npn \__ninecolors_define_colors_mono:
   {
-    saturation .tl_set:N = \l__ninecolors_sat_tl,
-    saturation .initial:n = medium,
+    \__ninecolors_define_one:nnn {gray1} {gray} {0.14}
+    \__ninecolors_define_one:nnn {gray2} {gray} {0.23}
+    \__ninecolors_define_one:nnn {gray3} {gray} {0.30}
+    \__ninecolors_define_one:nnn {gray4} {gray} {0.38}
+    \__ninecolors_define_one:nnn {gray5} {gray} {0.46}
+    \__ninecolors_define_one:nnn {gray6} {gray} {0.55}
+    \__ninecolors_define_one:nnn {gray7} {gray} {0.64}
+    \__ninecolors_define_one:nnn {gray8} {gray} {0.75}
+    \__ninecolors_define_one:nnn {gray9} {gray} {0.87}
   }
 
-\NewDocumentCommand \NineColors {m}
+\cs_new_protected_nopar:Npn \__ninecolors_define_colors_low:
   {
-    \keys_set:nn {ninecolors} {#1}
-    \cs:w ninecolors at define@color@ \l__ninecolors_sat_tl \cs_end:
+    \__ninecolors_define_one:nnn {red1} {rgb:Hsb} {0,0.67,0.26}
+    \__ninecolors_define_one:nnn {red2} {rgb:Hsb} {0,0.67,0.41}
+    \__ninecolors_define_one:nnn {red3} {rgb:Hsb} {0,0.67,0.54}
+    \__ninecolors_define_one:nnn {red4} {rgb:Hsb} {0,0.67,0.67}
+    \__ninecolors_define_one:nnn {red5} {rgb:Hsb} {0,0.60,0.77}
+    \__ninecolors_define_one:nnn {red6} {rgb:Hsb} {0,0.46,0.81}
+    \__ninecolors_define_one:nnn {red7} {rgb:Hsb} {0,0.34,0.86}
+    \__ninecolors_define_one:nnn {red8} {rgb:Hsb} {0,0.22,0.90}
+    \__ninecolors_define_one:nnn {red9} {rgb:Hsb} {0,0.11,0.95}
+    \__ninecolors_define_one:nnn {brown1} {rgb:Hsb} {30,0.67,0.19}
+    \__ninecolors_define_one:nnn {brown2} {rgb:Hsb} {30,0.67,0.31}
+    \__ninecolors_define_one:nnn {brown3} {rgb:Hsb} {30,0.67,0.41}
+    \__ninecolors_define_one:nnn {brown4} {rgb:Hsb} {30,0.67,0.51}
+    \__ninecolors_define_one:nnn {brown5} {rgb:Hsb} {30,0.67,0.62}
+    \__ninecolors_define_one:nnn {brown6} {rgb:Hsb} {30,0.67,0.74}
+    \__ninecolors_define_one:nnn {brown7} {rgb:Hsb} {30,0.49,0.80}
+    \__ninecolors_define_one:nnn {brown8} {rgb:Hsb} {30,0.32,0.86}
+    \__ninecolors_define_one:nnn {brown9} {rgb:Hsb} {30,0.15,0.93}
+    \__ninecolors_define_one:nnn {yellow1} {rgb:Hsb} {60,0.67,0.15}
+    \__ninecolors_define_one:nnn {yellow2} {rgb:Hsb} {60,0.67,0.23}
+    \__ninecolors_define_one:nnn {yellow3} {rgb:Hsb} {60,0.67,0.31}
+    \__ninecolors_define_one:nnn {yellow4} {rgb:Hsb} {60,0.67,0.39}
+    \__ninecolors_define_one:nnn {yellow5} {rgb:Hsb} {60,0.67,0.47}
+    \__ninecolors_define_one:nnn {yellow6} {rgb:Hsb} {60,0.67,0.56}
+    \__ninecolors_define_one:nnn {yellow7} {rgb:Hsb} {60,0.67,0.66}
+    \__ninecolors_define_one:nnn {yellow8} {rgb:Hsb} {60,0.59,0.77}
+    \__ninecolors_define_one:nnn {yellow9} {rgb:Hsb} {60,0.27,0.88}
+    \__ninecolors_define_one:nnn {olive1} {rgb:Hsb} {90,0.67,0.16}
+    \__ninecolors_define_one:nnn {olive2} {rgb:Hsb} {90,0.67,0.25}
+    \__ninecolors_define_one:nnn {olive3} {rgb:Hsb} {90,0.67,0.33}
+    \__ninecolors_define_one:nnn {olive4} {rgb:Hsb} {90,0.67,0.42}
+    \__ninecolors_define_one:nnn {olive5} {rgb:Hsb} {90,0.67,0.51}
+    \__ninecolors_define_one:nnn {olive6} {rgb:Hsb} {90,0.67,0.60}
+    \__ninecolors_define_one:nnn {olive7} {rgb:Hsb} {90,0.67,0.71}
+    \__ninecolors_define_one:nnn {olive8} {rgb:Hsb} {90,0.48,0.81}
+    \__ninecolors_define_one:nnn {olive9} {rgb:Hsb} {90,0.22,0.90}
+    \__ninecolors_define_one:nnn {green1} {rgb:Hsb} {120,0.67,0.16}
+    \__ninecolors_define_one:nnn {green2} {rgb:Hsb} {120,0.67,0.26}
+    \__ninecolors_define_one:nnn {green3} {rgb:Hsb} {120,0.67,0.35}
+    \__ninecolors_define_one:nnn {green4} {rgb:Hsb} {120,0.67,0.44}
+    \__ninecolors_define_one:nnn {green5} {rgb:Hsb} {120,0.67,0.53}
+    \__ninecolors_define_one:nnn {green6} {rgb:Hsb} {120,0.67,0.63}
+    \__ninecolors_define_one:nnn {green7} {rgb:Hsb} {120,0.67,0.74}
+    \__ninecolors_define_one:nnn {green8} {rgb:Hsb} {120,0.42,0.83}
+    \__ninecolors_define_one:nnn {green9} {rgb:Hsb} {120,0.19,0.91}
+    \__ninecolors_define_one:nnn {teal1} {rgb:Hsb} {150,0.67,0.16}
+    \__ninecolors_define_one:nnn {teal2} {rgb:Hsb} {150,0.67,0.26}
+    \__ninecolors_define_one:nnn {teal3} {rgb:Hsb} {150,0.67,0.34}
+    \__ninecolors_define_one:nnn {teal4} {rgb:Hsb} {150,0.67,0.43}
+    \__ninecolors_define_one:nnn {teal5} {rgb:Hsb} {150,0.67,0.52}
+    \__ninecolors_define_one:nnn {teal6} {rgb:Hsb} {150,0.67,0.62}
+    \__ninecolors_define_one:nnn {teal7} {rgb:Hsb} {150,0.67,0.73}
+    \__ninecolors_define_one:nnn {teal8} {rgb:Hsb} {150,0.44,0.82}
+    \__ninecolors_define_one:nnn {teal9} {rgb:Hsb} {150,0.20,0.91}
+    \__ninecolors_define_one:nnn {cyan1} {rgb:Hsb} {180,0.67,0.16}
+    \__ninecolors_define_one:nnn {cyan2} {rgb:Hsb} {180,0.67,0.25}
+    \__ninecolors_define_one:nnn {cyan3} {rgb:Hsb} {180,0.67,0.33}
+    \__ninecolors_define_one:nnn {cyan4} {rgb:Hsb} {180,0.67,0.42}
+    \__ninecolors_define_one:nnn {cyan5} {rgb:Hsb} {180,0.67,0.51}
+    \__ninecolors_define_one:nnn {cyan6} {rgb:Hsb} {180,0.67,0.60}
+    \__ninecolors_define_one:nnn {cyan7} {rgb:Hsb} {180,0.67,0.71}
+    \__ninecolors_define_one:nnn {cyan8} {rgb:Hsb} {180,0.47,0.81}
+    \__ninecolors_define_one:nnn {cyan9} {rgb:Hsb} {180,0.21,0.90}
+    \__ninecolors_define_one:nnn {azure1} {rgb:Hsb} {210,0.67,0.22}
+    \__ninecolors_define_one:nnn {azure2} {rgb:Hsb} {210,0.67,0.35}
+    \__ninecolors_define_one:nnn {azure3} {rgb:Hsb} {210,0.67,0.47}
+    \__ninecolors_define_one:nnn {azure4} {rgb:Hsb} {210,0.67,0.59}
+    \__ninecolors_define_one:nnn {azure5} {rgb:Hsb} {210,0.67,0.71}
+    \__ninecolors_define_one:nnn {azure6} {rgb:Hsb} {210,0.56,0.78}
+    \__ninecolors_define_one:nnn {azure7} {rgb:Hsb} {210,0.41,0.83}
+    \__ninecolors_define_one:nnn {azure8} {rgb:Hsb} {210,0.27,0.88}
+    \__ninecolors_define_one:nnn {azure9} {rgb:Hsb} {210,0.13,0.94}
+    \__ninecolors_define_one:nnn {blue1} {rgb:Hsb} {240,0.67,0.34}
+    \__ninecolors_define_one:nnn {blue2} {rgb:Hsb} {240,0.67,0.53}
+    \__ninecolors_define_one:nnn {blue3} {rgb:Hsb} {240,0.67,0.70}
+    \__ninecolors_define_one:nnn {blue4} {rgb:Hsb} {240,0.58,0.77}
+    \__ninecolors_define_one:nnn {blue5} {rgb:Hsb} {240,0.48,0.81}
+    \__ninecolors_define_one:nnn {blue6} {rgb:Hsb} {240,0.39,0.84}
+    \__ninecolors_define_one:nnn {blue7} {rgb:Hsb} {240,0.29,0.87}
+    \__ninecolors_define_one:nnn {blue8} {rgb:Hsb} {240,0.19,0.91}
+    \__ninecolors_define_one:nnn {blue9} {rgb:Hsb} {240,0.10,0.95}
+    \__ninecolors_define_one:nnn {violet1} {rgb:Hsb} {270,0.67,0.29}
+    \__ninecolors_define_one:nnn {violet2} {rgb:Hsb} {270,0.67,0.45}
+    \__ninecolors_define_one:nnn {violet3} {rgb:Hsb} {270,0.67,0.60}
+    \__ninecolors_define_one:nnn {violet4} {rgb:Hsb} {270,0.67,0.75}
+    \__ninecolors_define_one:nnn {violet5} {rgb:Hsb} {270,0.54,0.79}
+    \__ninecolors_define_one:nnn {violet6} {rgb:Hsb} {270,0.43,0.82}
+    \__ninecolors_define_one:nnn {violet7} {rgb:Hsb} {270,0.32,0.86}
+    \__ninecolors_define_one:nnn {violet8} {rgb:Hsb} {270,0.21,0.90}
+    \__ninecolors_define_one:nnn {violet9} {rgb:Hsb} {270,0.11,0.95}
+    \__ninecolors_define_one:nnn {magenta1} {rgb:Hsb} {300,0.67,0.23}
+    \__ninecolors_define_one:nnn {magenta2} {rgb:Hsb} {300,0.67,0.37}
+    \__ninecolors_define_one:nnn {magenta3} {rgb:Hsb} {300,0.67,0.49}
+    \__ninecolors_define_one:nnn {magenta4} {rgb:Hsb} {300,0.67,0.61}
+    \__ninecolors_define_one:nnn {magenta5} {rgb:Hsb} {300,0.67,0.74}
+    \__ninecolors_define_one:nnn {magenta6} {rgb:Hsb} {300,0.51,0.80}
+    \__ninecolors_define_one:nnn {magenta7} {rgb:Hsb} {300,0.37,0.84}
+    \__ninecolors_define_one:nnn {magenta8} {rgb:Hsb} {300,0.24,0.89}
+    \__ninecolors_define_one:nnn {magenta9} {rgb:Hsb} {300,0.12,0.94}
+    \__ninecolors_define_one:nnn {purple1} {rgb:Hsb} {330,0.67,0.25}
+    \__ninecolors_define_one:nnn {purple2} {rgb:Hsb} {330,0.67,0.39}
+    \__ninecolors_define_one:nnn {purple3} {rgb:Hsb} {330,0.67,0.52}
+    \__ninecolors_define_one:nnn {purple4} {rgb:Hsb} {330,0.67,0.65}
+    \__ninecolors_define_one:nnn {purple5} {rgb:Hsb} {330,0.63,0.76}
+    \__ninecolors_define_one:nnn {purple6} {rgb:Hsb} {330,0.48,0.81}
+    \__ninecolors_define_one:nnn {purple7} {rgb:Hsb} {330,0.35,0.85}
+    \__ninecolors_define_one:nnn {purple8} {rgb:Hsb} {330,0.23,0.90}
+    \__ninecolors_define_one:nnn {purple9} {rgb:Hsb} {330,0.11,0.95}
   }
 
-\@namedef{ninecolors at define@mono}{%
-  \definecolor{gray1}{gray}{0.14}
-  \definecolor{gray2}{gray}{0.23}
-  \definecolor{gray3}{gray}{0.30}
-  \definecolor{gray4}{gray}{0.38}
-  \definecolor{gray5}{gray}{0.46}
-  \definecolor{gray6}{gray}{0.55}
-  \definecolor{gray7}{gray}{0.64}
-  \definecolor{gray8}{gray}{0.75}
-  \definecolor{gray9}{gray}{0.87}
-}
+\cs_new_protected_nopar:Npn \__ninecolors_define_colors_medium:
+  {
+    \__ninecolors_define_one:nnn {red1} {rgb:Hsb} {0,0.79,0.28}
+    \__ninecolors_define_one:nnn {red2} {rgb:Hsb} {0,0.79,0.44}
+    \__ninecolors_define_one:nnn {red3} {rgb:Hsb} {0,0.79,0.58}
+    \__ninecolors_define_one:nnn {red4} {rgb:Hsb} {0,0.79,0.72}
+    \__ninecolors_define_one:nnn {red5} {rgb:Hsb} {0,0.72,0.84}
+    \__ninecolors_define_one:nnn {red6} {rgb:Hsb} {0,0.54,0.87}
+    \__ninecolors_define_one:nnn {red7} {rgb:Hsb} {0,0.40,0.90}
+    \__ninecolors_define_one:nnn {red8} {rgb:Hsb} {0,0.26,0.93}
+    \__ninecolors_define_one:nnn {red9} {rgb:Hsb} {0,0.13,0.97}
+    \__ninecolors_define_one:nnn {brown1} {rgb:Hsb} {30,0.79,0.21}
+    \__ninecolors_define_one:nnn {brown2} {rgb:Hsb} {30,0.79,0.33}
+    \__ninecolors_define_one:nnn {brown3} {rgb:Hsb} {30,0.79,0.43}
+    \__ninecolors_define_one:nnn {brown4} {rgb:Hsb} {30,0.79,0.54}
+    \__ninecolors_define_one:nnn {brown5} {rgb:Hsb} {30,0.79,0.66}
+    \__ninecolors_define_one:nnn {brown6} {rgb:Hsb} {30,0.79,0.78}
+    \__ninecolors_define_one:nnn {brown7} {rgb:Hsb} {30,0.63,0.86}
+    \__ninecolors_define_one:nnn {brown8} {rgb:Hsb} {30,0.41,0.90}
+    \__ninecolors_define_one:nnn {brown9} {rgb:Hsb} {30,0.20,0.95}
+    \__ninecolors_define_one:nnn {yellow1} {rgb:Hsb} {60,0.79,0.15}
+    \__ninecolors_define_one:nnn {yellow2} {rgb:Hsb} {60,0.79,0.23}
+    \__ninecolors_define_one:nnn {yellow3} {rgb:Hsb} {60,0.79,0.31}
+    \__ninecolors_define_one:nnn {yellow4} {rgb:Hsb} {60,0.79,0.39}
+    \__ninecolors_define_one:nnn {yellow5} {rgb:Hsb} {60,0.79,0.48}
+    \__ninecolors_define_one:nnn {yellow6} {rgb:Hsb} {60,0.79,0.57}
+    \__ninecolors_define_one:nnn {yellow7} {rgb:Hsb} {60,0.79,0.66}
+    \__ninecolors_define_one:nnn {yellow8} {rgb:Hsb} {60,0.79,0.77}
+    \__ninecolors_define_one:nnn {yellow9} {rgb:Hsb} {60,0.46,0.89}
+    \__ninecolors_define_one:nnn {olive1} {rgb:Hsb} {90,0.79,0.16}
+    \__ninecolors_define_one:nnn {olive2} {rgb:Hsb} {90,0.79,0.25}
+    \__ninecolors_define_one:nnn {olive3} {rgb:Hsb} {90,0.79,0.34}
+    \__ninecolors_define_one:nnn {olive4} {rgb:Hsb} {90,0.79,0.42}
+    \__ninecolors_define_one:nnn {olive5} {rgb:Hsb} {90,0.79,0.51}
+    \__ninecolors_define_one:nnn {olive6} {rgb:Hsb} {90,0.79,0.61}
+    \__ninecolors_define_one:nnn {olive7} {rgb:Hsb} {90,0.79,0.72}
+    \__ninecolors_define_one:nnn {olive8} {rgb:Hsb} {90,0.76,0.83}
+    \__ninecolors_define_one:nnn {olive9} {rgb:Hsb} {90,0.34,0.92}
+    \__ninecolors_define_one:nnn {green1} {rgb:Hsb} {120,0.79,0.17}
+    \__ninecolors_define_one:nnn {green2} {rgb:Hsb} {120,0.79,0.26}
+    \__ninecolors_define_one:nnn {green3} {rgb:Hsb} {120,0.79,0.35}
+    \__ninecolors_define_one:nnn {green4} {rgb:Hsb} {120,0.79,0.44}
+    \__ninecolors_define_one:nnn {green5} {rgb:Hsb} {120,0.79,0.53}
+    \__ninecolors_define_one:nnn {green6} {rgb:Hsb} {120,0.79,0.63}
+    \__ninecolors_define_one:nnn {green7} {rgb:Hsb} {120,0.79,0.74}
+    \__ninecolors_define_one:nnn {green8} {rgb:Hsb} {120,0.64,0.85}
+    \__ninecolors_define_one:nnn {green9} {rgb:Hsb} {120,0.28,0.93}
+    \__ninecolors_define_one:nnn {teal1} {rgb:Hsb} {150,0.79,0.16}
+    \__ninecolors_define_one:nnn {teal2} {rgb:Hsb} {150,0.79,0.26}
+    \__ninecolors_define_one:nnn {teal3} {rgb:Hsb} {150,0.79,0.35}
+    \__ninecolors_define_one:nnn {teal4} {rgb:Hsb} {150,0.79,0.43}
+    \__ninecolors_define_one:nnn {teal5} {rgb:Hsb} {150,0.79,0.53}
+    \__ninecolors_define_one:nnn {teal6} {rgb:Hsb} {150,0.79,0.62}
+    \__ninecolors_define_one:nnn {teal7} {rgb:Hsb} {150,0.79,0.73}
+    \__ninecolors_define_one:nnn {teal8} {rgb:Hsb} {150,0.68,0.85}
+    \__ninecolors_define_one:nnn {teal9} {rgb:Hsb} {150,0.30,0.93}
+    \__ninecolors_define_one:nnn {cyan1} {rgb:Hsb} {180,0.79,0.16}
+    \__ninecolors_define_one:nnn {cyan2} {rgb:Hsb} {180,0.79,0.25}
+    \__ninecolors_define_one:nnn {cyan3} {rgb:Hsb} {180,0.79,0.34}
+    \__ninecolors_define_one:nnn {cyan4} {rgb:Hsb} {180,0.79,0.42}
+    \__ninecolors_define_one:nnn {cyan5} {rgb:Hsb} {180,0.79,0.51}
+    \__ninecolors_define_one:nnn {cyan6} {rgb:Hsb} {180,0.79,0.61}
+    \__ninecolors_define_one:nnn {cyan7} {rgb:Hsb} {180,0.79,0.71}
+    \__ninecolors_define_one:nnn {cyan8} {rgb:Hsb} {180,0.77,0.83}
+    \__ninecolors_define_one:nnn {cyan9} {rgb:Hsb} {180,0.32,0.92}
+    \__ninecolors_define_one:nnn {azure1} {rgb:Hsb} {210,0.79,0.24}
+    \__ninecolors_define_one:nnn {azure2} {rgb:Hsb} {210,0.79,0.38}
+    \__ninecolors_define_one:nnn {azure3} {rgb:Hsb} {210,0.79,0.51}
+    \__ninecolors_define_one:nnn {azure4} {rgb:Hsb} {210,0.79,0.64}
+    \__ninecolors_define_one:nnn {azure5} {rgb:Hsb} {210,0.79,0.77}
+    \__ninecolors_define_one:nnn {azure6} {rgb:Hsb} {210,0.67,0.85}
+    \__ninecolors_define_one:nnn {azure7} {rgb:Hsb} {210,0.50,0.88}
+    \__ninecolors_define_one:nnn {azure8} {rgb:Hsb} {210,0.33,0.92}
+    \__ninecolors_define_one:nnn {azure9} {rgb:Hsb} {210,0.17,0.96}
+    \__ninecolors_define_one:nnn {blue1} {rgb:Hsb} {240,0.79,0.41}
+    \__ninecolors_define_one:nnn {blue2} {rgb:Hsb} {240,0.79,0.64}
+    \__ninecolors_define_one:nnn {blue3} {rgb:Hsb} {240,0.77,0.83}
+    \__ninecolors_define_one:nnn {blue4} {rgb:Hsb} {240,0.65,0.85}
+    \__ninecolors_define_one:nnn {blue5} {rgb:Hsb} {240,0.54,0.87}
+    \__ninecolors_define_one:nnn {blue6} {rgb:Hsb} {240,0.43,0.90}
+    \__ninecolors_define_one:nnn {blue7} {rgb:Hsb} {240,0.33,0.92}
+    \__ninecolors_define_one:nnn {blue8} {rgb:Hsb} {240,0.22,0.94}
+    \__ninecolors_define_one:nnn {blue9} {rgb:Hsb} {240,0.11,0.97}
+    \__ninecolors_define_one:nnn {violet1} {rgb:Hsb} {270,0.79,0.33}
+    \__ninecolors_define_one:nnn {violet2} {rgb:Hsb} {270,0.79,0.52}
+    \__ninecolors_define_one:nnn {violet3} {rgb:Hsb} {270,0.79,0.69}
+    \__ninecolors_define_one:nnn {violet4} {rgb:Hsb} {270,0.76,0.83}
+    \__ninecolors_define_one:nnn {violet5} {rgb:Hsb} {270,0.62,0.86}
+    \__ninecolors_define_one:nnn {violet6} {rgb:Hsb} {270,0.49,0.88}
+    \__ninecolors_define_one:nnn {violet7} {rgb:Hsb} {270,0.37,0.91}
+    \__ninecolors_define_one:nnn {violet8} {rgb:Hsb} {270,0.25,0.94}
+    \__ninecolors_define_one:nnn {violet9} {rgb:Hsb} {270,0.13,0.97}
+    \__ninecolors_define_one:nnn {magenta1} {rgb:Hsb} {300,0.79,0.25}
+    \__ninecolors_define_one:nnn {magenta2} {rgb:Hsb} {300,0.79,0.39}
+    \__ninecolors_define_one:nnn {magenta3} {rgb:Hsb} {300,0.79,0.52}
+    \__ninecolors_define_one:nnn {magenta4} {rgb:Hsb} {300,0.79,0.65}
+    \__ninecolors_define_one:nnn {magenta5} {rgb:Hsb} {300,0.79,0.78}
+    \__ninecolors_define_one:nnn {magenta6} {rgb:Hsb} {300,0.62,0.86}
+    \__ninecolors_define_one:nnn {magenta7} {rgb:Hsb} {300,0.44,0.89}
+    \__ninecolors_define_one:nnn {magenta8} {rgb:Hsb} {300,0.29,0.93}
+    \__ninecolors_define_one:nnn {magenta9} {rgb:Hsb} {300,0.14,0.96}
+    \__ninecolors_define_one:nnn {purple1} {rgb:Hsb} {330,0.79,0.27}
+    \__ninecolors_define_one:nnn {purple2} {rgb:Hsb} {330,0.79,0.42}
+    \__ninecolors_define_one:nnn {purple3} {rgb:Hsb} {330,0.79,0.56}
+    \__ninecolors_define_one:nnn {purple4} {rgb:Hsb} {330,0.79,0.70}
+    \__ninecolors_define_one:nnn {purple5} {rgb:Hsb} {330,0.76,0.83}
+    \__ninecolors_define_one:nnn {purple6} {rgb:Hsb} {330,0.57,0.87}
+    \__ninecolors_define_one:nnn {purple7} {rgb:Hsb} {330,0.42,0.90}
+    \__ninecolors_define_one:nnn {purple8} {rgb:Hsb} {330,0.27,0.93}
+    \__ninecolors_define_one:nnn {purple9} {rgb:Hsb} {330,0.14,0.96}
+  }
 
-\@namedef{ninecolors at define@color at low}{%
-  \definecolor{red1}{rgb:Hsb}{0,0.67,0.26}
-  \definecolor{red2}{rgb:Hsb}{0,0.67,0.41}
-  \definecolor{red3}{rgb:Hsb}{0,0.67,0.54}
-  \definecolor{red4}{rgb:Hsb}{0,0.67,0.67}
-  \definecolor{red5}{rgb:Hsb}{0,0.60,0.77}
-  \definecolor{red6}{rgb:Hsb}{0,0.46,0.81}
-  \definecolor{red7}{rgb:Hsb}{0,0.34,0.86}
-  \definecolor{red8}{rgb:Hsb}{0,0.22,0.90}
-  \definecolor{red9}{rgb:Hsb}{0,0.11,0.95}
-  \definecolor{brown1}{rgb:Hsb}{30,0.67,0.19}
-  \definecolor{brown2}{rgb:Hsb}{30,0.67,0.31}
-  \definecolor{brown3}{rgb:Hsb}{30,0.67,0.41}
-  \definecolor{brown4}{rgb:Hsb}{30,0.67,0.51}
-  \definecolor{brown5}{rgb:Hsb}{30,0.67,0.62}
-  \definecolor{brown6}{rgb:Hsb}{30,0.67,0.74}
-  \definecolor{brown7}{rgb:Hsb}{30,0.49,0.80}
-  \definecolor{brown8}{rgb:Hsb}{30,0.32,0.86}
-  \definecolor{brown9}{rgb:Hsb}{30,0.15,0.93}
-  \definecolor{yellow1}{rgb:Hsb}{60,0.67,0.15}
-  \definecolor{yellow2}{rgb:Hsb}{60,0.67,0.23}
-  \definecolor{yellow3}{rgb:Hsb}{60,0.67,0.31}
-  \definecolor{yellow4}{rgb:Hsb}{60,0.67,0.39}
-  \definecolor{yellow5}{rgb:Hsb}{60,0.67,0.47}
-  \definecolor{yellow6}{rgb:Hsb}{60,0.67,0.56}
-  \definecolor{yellow7}{rgb:Hsb}{60,0.67,0.66}
-  \definecolor{yellow8}{rgb:Hsb}{60,0.59,0.77}
-  \definecolor{yellow9}{rgb:Hsb}{60,0.27,0.88}
-  \definecolor{olive1}{rgb:Hsb}{90,0.67,0.16}
-  \definecolor{olive2}{rgb:Hsb}{90,0.67,0.25}
-  \definecolor{olive3}{rgb:Hsb}{90,0.67,0.33}
-  \definecolor{olive4}{rgb:Hsb}{90,0.67,0.42}
-  \definecolor{olive5}{rgb:Hsb}{90,0.67,0.51}
-  \definecolor{olive6}{rgb:Hsb}{90,0.67,0.60}
-  \definecolor{olive7}{rgb:Hsb}{90,0.67,0.71}
-  \definecolor{olive8}{rgb:Hsb}{90,0.48,0.81}
-  \definecolor{olive9}{rgb:Hsb}{90,0.22,0.90}
-  \definecolor{green1}{rgb:Hsb}{120,0.67,0.16}
-  \definecolor{green2}{rgb:Hsb}{120,0.67,0.26}
-  \definecolor{green3}{rgb:Hsb}{120,0.67,0.35}
-  \definecolor{green4}{rgb:Hsb}{120,0.67,0.44}
-  \definecolor{green5}{rgb:Hsb}{120,0.67,0.53}
-  \definecolor{green6}{rgb:Hsb}{120,0.67,0.63}
-  \definecolor{green7}{rgb:Hsb}{120,0.67,0.74}
-  \definecolor{green8}{rgb:Hsb}{120,0.42,0.83}
-  \definecolor{green9}{rgb:Hsb}{120,0.19,0.91}
-  \definecolor{teal1}{rgb:Hsb}{150,0.67,0.16}
-  \definecolor{teal2}{rgb:Hsb}{150,0.67,0.26}
-  \definecolor{teal3}{rgb:Hsb}{150,0.67,0.34}
-  \definecolor{teal4}{rgb:Hsb}{150,0.67,0.43}
-  \definecolor{teal5}{rgb:Hsb}{150,0.67,0.52}
-  \definecolor{teal6}{rgb:Hsb}{150,0.67,0.62}
-  \definecolor{teal7}{rgb:Hsb}{150,0.67,0.73}
-  \definecolor{teal8}{rgb:Hsb}{150,0.44,0.82}
-  \definecolor{teal9}{rgb:Hsb}{150,0.20,0.91}
-  \definecolor{cyan1}{rgb:Hsb}{180,0.67,0.16}
-  \definecolor{cyan2}{rgb:Hsb}{180,0.67,0.25}
-  \definecolor{cyan3}{rgb:Hsb}{180,0.67,0.33}
-  \definecolor{cyan4}{rgb:Hsb}{180,0.67,0.42}
-  \definecolor{cyan5}{rgb:Hsb}{180,0.67,0.51}
-  \definecolor{cyan6}{rgb:Hsb}{180,0.67,0.60}
-  \definecolor{cyan7}{rgb:Hsb}{180,0.67,0.71}
-  \definecolor{cyan8}{rgb:Hsb}{180,0.47,0.81}
-  \definecolor{cyan9}{rgb:Hsb}{180,0.21,0.90}
-  \definecolor{azure1}{rgb:Hsb}{210,0.67,0.22}
-  \definecolor{azure2}{rgb:Hsb}{210,0.67,0.35}
-  \definecolor{azure3}{rgb:Hsb}{210,0.67,0.47}
-  \definecolor{azure4}{rgb:Hsb}{210,0.67,0.59}
-  \definecolor{azure5}{rgb:Hsb}{210,0.67,0.71}
-  \definecolor{azure6}{rgb:Hsb}{210,0.56,0.78}
-  \definecolor{azure7}{rgb:Hsb}{210,0.41,0.83}
-  \definecolor{azure8}{rgb:Hsb}{210,0.27,0.88}
-  \definecolor{azure9}{rgb:Hsb}{210,0.13,0.94}
-  \definecolor{blue1}{rgb:Hsb}{240,0.67,0.34}
-  \definecolor{blue2}{rgb:Hsb}{240,0.67,0.53}
-  \definecolor{blue3}{rgb:Hsb}{240,0.67,0.70}
-  \definecolor{blue4}{rgb:Hsb}{240,0.58,0.77}
-  \definecolor{blue5}{rgb:Hsb}{240,0.48,0.81}
-  \definecolor{blue6}{rgb:Hsb}{240,0.39,0.84}
-  \definecolor{blue7}{rgb:Hsb}{240,0.29,0.87}
-  \definecolor{blue8}{rgb:Hsb}{240,0.19,0.91}
-  \definecolor{blue9}{rgb:Hsb}{240,0.10,0.95}
-  \definecolor{violet1}{rgb:Hsb}{270,0.67,0.29}
-  \definecolor{violet2}{rgb:Hsb}{270,0.67,0.45}
-  \definecolor{violet3}{rgb:Hsb}{270,0.67,0.60}
-  \definecolor{violet4}{rgb:Hsb}{270,0.67,0.75}
-  \definecolor{violet5}{rgb:Hsb}{270,0.54,0.79}
-  \definecolor{violet6}{rgb:Hsb}{270,0.43,0.82}
-  \definecolor{violet7}{rgb:Hsb}{270,0.32,0.86}
-  \definecolor{violet8}{rgb:Hsb}{270,0.21,0.90}
-  \definecolor{violet9}{rgb:Hsb}{270,0.11,0.95}
-  \definecolor{magenta1}{rgb:Hsb}{300,0.67,0.23}
-  \definecolor{magenta2}{rgb:Hsb}{300,0.67,0.37}
-  \definecolor{magenta3}{rgb:Hsb}{300,0.67,0.49}
-  \definecolor{magenta4}{rgb:Hsb}{300,0.67,0.61}
-  \definecolor{magenta5}{rgb:Hsb}{300,0.67,0.74}
-  \definecolor{magenta6}{rgb:Hsb}{300,0.51,0.80}
-  \definecolor{magenta7}{rgb:Hsb}{300,0.37,0.84}
-  \definecolor{magenta8}{rgb:Hsb}{300,0.24,0.89}
-  \definecolor{magenta9}{rgb:Hsb}{300,0.12,0.94}
-  \definecolor{purple1}{rgb:Hsb}{330,0.67,0.25}
-  \definecolor{purple2}{rgb:Hsb}{330,0.67,0.39}
-  \definecolor{purple3}{rgb:Hsb}{330,0.67,0.52}
-  \definecolor{purple4}{rgb:Hsb}{330,0.67,0.65}
-  \definecolor{purple5}{rgb:Hsb}{330,0.63,0.76}
-  \definecolor{purple6}{rgb:Hsb}{330,0.48,0.81}
-  \definecolor{purple7}{rgb:Hsb}{330,0.35,0.85}
-  \definecolor{purple8}{rgb:Hsb}{330,0.23,0.90}
-  \definecolor{purple9}{rgb:Hsb}{330,0.11,0.95}
-}
+\cs_new_protected_nopar:Npn \__ninecolors_define_colors_high:
+  {
+    \__ninecolors_define_one:nnn {red1} {rgb:Hsb} {0,0.89,0.30}
+    \__ninecolors_define_one:nnn {red2} {rgb:Hsb} {0,0.89,0.46}
+    \__ninecolors_define_one:nnn {red3} {rgb:Hsb} {0,0.89,0.61}
+    \__ninecolors_define_one:nnn {red4} {rgb:Hsb} {0,0.89,0.76}
+    \__ninecolors_define_one:nnn {red5} {rgb:Hsb} {0,0.87,0.90}
+    \__ninecolors_define_one:nnn {red6} {rgb:Hsb} {0,0.62,0.93}
+    \__ninecolors_define_one:nnn {red7} {rgb:Hsb} {0,0.45,0.95}
+    \__ninecolors_define_one:nnn {red8} {rgb:Hsb} {0,0.30,0.96}
+    \__ninecolors_define_one:nnn {red9} {rgb:Hsb} {0,0.15,0.98}
+    \__ninecolors_define_one:nnn {brown1} {rgb:Hsb} {30,0.89,0.22}
+    \__ninecolors_define_one:nnn {brown2} {rgb:Hsb} {30,0.89,0.34}
+    \__ninecolors_define_one:nnn {brown3} {rgb:Hsb} {30,0.89,0.46}
+    \__ninecolors_define_one:nnn {brown4} {rgb:Hsb} {30,0.89,0.57}
+    \__ninecolors_define_one:nnn {brown5} {rgb:Hsb} {30,0.89,0.69}
+    \__ninecolors_define_one:nnn {brown6} {rgb:Hsb} {30,0.89,0.82}
+    \__ninecolors_define_one:nnn {brown7} {rgb:Hsb} {30,0.77,0.91}
+    \__ninecolors_define_one:nnn {brown8} {rgb:Hsb} {30,0.51,0.94}
+    \__ninecolors_define_one:nnn {brown9} {rgb:Hsb} {30,0.25,0.97}
+    \__ninecolors_define_one:nnn {yellow1} {rgb:Hsb} {60,0.89,0.15}
+    \__ninecolors_define_one:nnn {yellow2} {rgb:Hsb} {60,0.89,0.23}
+    \__ninecolors_define_one:nnn {yellow3} {rgb:Hsb} {60,0.89,0.31}
+    \__ninecolors_define_one:nnn {yellow4} {rgb:Hsb} {60,0.89,0.39}
+    \__ninecolors_define_one:nnn {yellow5} {rgb:Hsb} {60,0.89,0.48}
+    \__ninecolors_define_one:nnn {yellow6} {rgb:Hsb} {60,0.89,0.57}
+    \__ninecolors_define_one:nnn {yellow7} {rgb:Hsb} {60,0.89,0.66}
+    \__ninecolors_define_one:nnn {yellow8} {rgb:Hsb} {60,0.89,0.77}
+    \__ninecolors_define_one:nnn {yellow9} {rgb:Hsb} {60,0.89,0.90}
+    \__ninecolors_define_one:nnn {olive1} {rgb:Hsb} {90,0.89,0.16}
+    \__ninecolors_define_one:nnn {olive2} {rgb:Hsb} {90,0.89,0.26}
+    \__ninecolors_define_one:nnn {olive3} {rgb:Hsb} {90,0.89,0.34}
+    \__ninecolors_define_one:nnn {olive4} {rgb:Hsb} {90,0.89,0.43}
+    \__ninecolors_define_one:nnn {olive5} {rgb:Hsb} {90,0.89,0.52}
+    \__ninecolors_define_one:nnn {olive6} {rgb:Hsb} {90,0.89,0.61}
+    \__ninecolors_define_one:nnn {olive7} {rgb:Hsb} {90,0.89,0.72}
+    \__ninecolors_define_one:nnn {olive8} {rgb:Hsb} {90,0.89,0.84}
+    \__ninecolors_define_one:nnn {olive9} {rgb:Hsb} {90,0.52,0.94}
+    \__ninecolors_define_one:nnn {green1} {rgb:Hsb} {120,0.89,0.17}
+    \__ninecolors_define_one:nnn {green2} {rgb:Hsb} {120,0.89,0.27}
+    \__ninecolors_define_one:nnn {green3} {rgb:Hsb} {120,0.89,0.35}
+    \__ninecolors_define_one:nnn {green4} {rgb:Hsb} {120,0.89,0.44}
+    \__ninecolors_define_one:nnn {green5} {rgb:Hsb} {120,0.89,0.54}
+    \__ninecolors_define_one:nnn {green6} {rgb:Hsb} {120,0.89,0.64}
+    \__ninecolors_define_one:nnn {green7} {rgb:Hsb} {120,0.89,0.75}
+    \__ninecolors_define_one:nnn {green8} {rgb:Hsb} {120,0.89,0.87}
+    \__ninecolors_define_one:nnn {green9} {rgb:Hsb} {120,0.39,0.95}
+    \__ninecolors_define_one:nnn {teal1} {rgb:Hsb} {150,0.89,0.17}
+    \__ninecolors_define_one:nnn {teal2} {rgb:Hsb} {150,0.89,0.26}
+    \__ninecolors_define_one:nnn {teal3} {rgb:Hsb} {150,0.89,0.35}
+    \__ninecolors_define_one:nnn {teal4} {rgb:Hsb} {150,0.89,0.44}
+    \__ninecolors_define_one:nnn {teal5} {rgb:Hsb} {150,0.89,0.53}
+    \__ninecolors_define_one:nnn {teal6} {rgb:Hsb} {150,0.89,0.63}
+    \__ninecolors_define_one:nnn {teal7} {rgb:Hsb} {150,0.89,0.74}
+    \__ninecolors_define_one:nnn {teal8} {rgb:Hsb} {150,0.89,0.86}
+    \__ninecolors_define_one:nnn {teal9} {rgb:Hsb} {150,0.43,0.95}
+    \__ninecolors_define_one:nnn {cyan1} {rgb:Hsb} {180,0.89,0.16}
+    \__ninecolors_define_one:nnn {cyan2} {rgb:Hsb} {180,0.89,0.25}
+    \__ninecolors_define_one:nnn {cyan3} {rgb:Hsb} {180,0.89,0.34}
+    \__ninecolors_define_one:nnn {cyan4} {rgb:Hsb} {180,0.89,0.42}
+    \__ninecolors_define_one:nnn {cyan5} {rgb:Hsb} {180,0.89,0.51}
+    \__ninecolors_define_one:nnn {cyan6} {rgb:Hsb} {180,0.89,0.61}
+    \__ninecolors_define_one:nnn {cyan7} {rgb:Hsb} {180,0.89,0.71}
+    \__ninecolors_define_one:nnn {cyan8} {rgb:Hsb} {180,0.89,0.83}
+    \__ninecolors_define_one:nnn {cyan9} {rgb:Hsb} {180,0.50,0.94}
+    \__ninecolors_define_one:nnn {azure1} {rgb:Hsb} {210,0.89,0.26}
+    \__ninecolors_define_one:nnn {azure2} {rgb:Hsb} {210,0.89,0.41}
+    \__ninecolors_define_one:nnn {azure3} {rgb:Hsb} {210,0.89,0.55}
+    \__ninecolors_define_one:nnn {azure4} {rgb:Hsb} {210,0.89,0.69}
+    \__ninecolors_define_one:nnn {azure5} {rgb:Hsb} {210,0.89,0.83}
+    \__ninecolors_define_one:nnn {azure6} {rgb:Hsb} {210,0.77,0.91}
+    \__ninecolors_define_one:nnn {azure7} {rgb:Hsb} {210,0.58,0.93}
+    \__ninecolors_define_one:nnn {azure8} {rgb:Hsb} {210,0.39,0.95}
+    \__ninecolors_define_one:nnn {azure9} {rgb:Hsb} {210,0.20,0.98}
+    \__ninecolors_define_one:nnn {blue1} {rgb:Hsb} {240,0.89,0.48}
+    \__ninecolors_define_one:nnn {blue2} {rgb:Hsb} {240,0.89,0.73}
+    \__ninecolors_define_one:nnn {blue3} {rgb:Hsb} {240,0.84,0.90}
+    \__ninecolors_define_one:nnn {blue4} {rgb:Hsb} {240,0.70,0.92}
+    \__ninecolors_define_one:nnn {blue5} {rgb:Hsb} {240,0.58,0.93}
+    \__ninecolors_define_one:nnn {blue6} {rgb:Hsb} {240,0.47,0.94}
+    \__ninecolors_define_one:nnn {blue7} {rgb:Hsb} {240,0.36,0.96}
+    \__ninecolors_define_one:nnn {blue8} {rgb:Hsb} {240,0.25,0.97}
+    \__ninecolors_define_one:nnn {blue9} {rgb:Hsb} {240,0.13,0.98}
+    \__ninecolors_define_one:nnn {violet1} {rgb:Hsb} {270,0.89,0.37}
+    \__ninecolors_define_one:nnn {violet2} {rgb:Hsb} {270,0.89,0.57}
+    \__ninecolors_define_one:nnn {violet3} {rgb:Hsb} {270,0.89,0.75}
+    \__ninecolors_define_one:nnn {violet4} {rgb:Hsb} {270,0.85,0.90}
+    \__ninecolors_define_one:nnn {violet5} {rgb:Hsb} {270,0.68,0.92}
+    \__ninecolors_define_one:nnn {violet6} {rgb:Hsb} {270,0.54,0.94}
+    \__ninecolors_define_one:nnn {violet7} {rgb:Hsb} {270,0.41,0.95}
+    \__ninecolors_define_one:nnn {violet8} {rgb:Hsb} {270,0.28,0.97}
+    \__ninecolors_define_one:nnn {violet9} {rgb:Hsb} {270,0.14,0.98}
+    \__ninecolors_define_one:nnn {magenta1} {rgb:Hsb} {300,0.89,0.26}
+    \__ninecolors_define_one:nnn {magenta2} {rgb:Hsb} {300,0.89,0.41}
+    \__ninecolors_define_one:nnn {magenta3} {rgb:Hsb} {300,0.89,0.54}
+    \__ninecolors_define_one:nnn {magenta4} {rgb:Hsb} {300,0.89,0.67}
+    \__ninecolors_define_one:nnn {magenta5} {rgb:Hsb} {300,0.89,0.80}
+    \__ninecolors_define_one:nnn {magenta6} {rgb:Hsb} {300,0.76,0.91}
+    \__ninecolors_define_one:nnn {magenta7} {rgb:Hsb} {300,0.52,0.94}
+    \__ninecolors_define_one:nnn {magenta8} {rgb:Hsb} {300,0.33,0.96}
+    \__ninecolors_define_one:nnn {magenta9} {rgb:Hsb} {300,0.17,0.98}
+    \__ninecolors_define_one:nnn {purple1} {rgb:Hsb} {330,0.89,0.29}
+    \__ninecolors_define_one:nnn {purple2} {rgb:Hsb} {330,0.89,0.45}
+    \__ninecolors_define_one:nnn {purple3} {rgb:Hsb} {330,0.89,0.59}
+    \__ninecolors_define_one:nnn {purple4} {rgb:Hsb} {330,0.89,0.73}
+    \__ninecolors_define_one:nnn {purple5} {rgb:Hsb} {330,0.89,0.88}
+    \__ninecolors_define_one:nnn {purple6} {rgb:Hsb} {330,0.66,0.92}
+    \__ninecolors_define_one:nnn {purple7} {rgb:Hsb} {330,0.47,0.94}
+    \__ninecolors_define_one:nnn {purple8} {rgb:Hsb} {330,0.31,0.96}
+    \__ninecolors_define_one:nnn {purple9} {rgb:Hsb} {330,0.16,0.98}
+  }
 
-\@namedef{ninecolors at define@color at medium}{%
-  \definecolor{red1}{rgb:Hsb}{0,0.79,0.28}
-  \definecolor{red2}{rgb:Hsb}{0,0.79,0.44}
-  \definecolor{red3}{rgb:Hsb}{0,0.79,0.58}
-  \definecolor{red4}{rgb:Hsb}{0,0.79,0.72}
-  \definecolor{red5}{rgb:Hsb}{0,0.72,0.84}
-  \definecolor{red6}{rgb:Hsb}{0,0.54,0.87}
-  \definecolor{red7}{rgb:Hsb}{0,0.40,0.90}
-  \definecolor{red8}{rgb:Hsb}{0,0.26,0.93}
-  \definecolor{red9}{rgb:Hsb}{0,0.13,0.97}
-  \definecolor{brown1}{rgb:Hsb}{30,0.79,0.21}
-  \definecolor{brown2}{rgb:Hsb}{30,0.79,0.33}
-  \definecolor{brown3}{rgb:Hsb}{30,0.79,0.43}
-  \definecolor{brown4}{rgb:Hsb}{30,0.79,0.54}
-  \definecolor{brown5}{rgb:Hsb}{30,0.79,0.66}
-  \definecolor{brown6}{rgb:Hsb}{30,0.79,0.78}
-  \definecolor{brown7}{rgb:Hsb}{30,0.63,0.86}
-  \definecolor{brown8}{rgb:Hsb}{30,0.41,0.90}
-  \definecolor{brown9}{rgb:Hsb}{30,0.20,0.95}
-  \definecolor{yellow1}{rgb:Hsb}{60,0.79,0.15}
-  \definecolor{yellow2}{rgb:Hsb}{60,0.79,0.23}
-  \definecolor{yellow3}{rgb:Hsb}{60,0.79,0.31}
-  \definecolor{yellow4}{rgb:Hsb}{60,0.79,0.39}
-  \definecolor{yellow5}{rgb:Hsb}{60,0.79,0.48}
-  \definecolor{yellow6}{rgb:Hsb}{60,0.79,0.57}
-  \definecolor{yellow7}{rgb:Hsb}{60,0.79,0.66}
-  \definecolor{yellow8}{rgb:Hsb}{60,0.79,0.77}
-  \definecolor{yellow9}{rgb:Hsb}{60,0.46,0.89}
-  \definecolor{olive1}{rgb:Hsb}{90,0.79,0.16}
-  \definecolor{olive2}{rgb:Hsb}{90,0.79,0.25}
-  \definecolor{olive3}{rgb:Hsb}{90,0.79,0.34}
-  \definecolor{olive4}{rgb:Hsb}{90,0.79,0.42}
-  \definecolor{olive5}{rgb:Hsb}{90,0.79,0.51}
-  \definecolor{olive6}{rgb:Hsb}{90,0.79,0.61}
-  \definecolor{olive7}{rgb:Hsb}{90,0.79,0.72}
-  \definecolor{olive8}{rgb:Hsb}{90,0.76,0.83}
-  \definecolor{olive9}{rgb:Hsb}{90,0.34,0.92}
-  \definecolor{green1}{rgb:Hsb}{120,0.79,0.17}
-  \definecolor{green2}{rgb:Hsb}{120,0.79,0.26}
-  \definecolor{green3}{rgb:Hsb}{120,0.79,0.35}
-  \definecolor{green4}{rgb:Hsb}{120,0.79,0.44}
-  \definecolor{green5}{rgb:Hsb}{120,0.79,0.53}
-  \definecolor{green6}{rgb:Hsb}{120,0.79,0.63}
-  \definecolor{green7}{rgb:Hsb}{120,0.79,0.74}
-  \definecolor{green8}{rgb:Hsb}{120,0.64,0.85}
-  \definecolor{green9}{rgb:Hsb}{120,0.28,0.93}
-  \definecolor{teal1}{rgb:Hsb}{150,0.79,0.16}
-  \definecolor{teal2}{rgb:Hsb}{150,0.79,0.26}
-  \definecolor{teal3}{rgb:Hsb}{150,0.79,0.35}
-  \definecolor{teal4}{rgb:Hsb}{150,0.79,0.43}
-  \definecolor{teal5}{rgb:Hsb}{150,0.79,0.53}
-  \definecolor{teal6}{rgb:Hsb}{150,0.79,0.62}
-  \definecolor{teal7}{rgb:Hsb}{150,0.79,0.73}
-  \definecolor{teal8}{rgb:Hsb}{150,0.68,0.85}
-  \definecolor{teal9}{rgb:Hsb}{150,0.30,0.93}
-  \definecolor{cyan1}{rgb:Hsb}{180,0.79,0.16}
-  \definecolor{cyan2}{rgb:Hsb}{180,0.79,0.25}
-  \definecolor{cyan3}{rgb:Hsb}{180,0.79,0.34}
-  \definecolor{cyan4}{rgb:Hsb}{180,0.79,0.42}
-  \definecolor{cyan5}{rgb:Hsb}{180,0.79,0.51}
-  \definecolor{cyan6}{rgb:Hsb}{180,0.79,0.61}
-  \definecolor{cyan7}{rgb:Hsb}{180,0.79,0.71}
-  \definecolor{cyan8}{rgb:Hsb}{180,0.77,0.83}
-  \definecolor{cyan9}{rgb:Hsb}{180,0.32,0.92}
-  \definecolor{azure1}{rgb:Hsb}{210,0.79,0.24}
-  \definecolor{azure2}{rgb:Hsb}{210,0.79,0.38}
-  \definecolor{azure3}{rgb:Hsb}{210,0.79,0.51}
-  \definecolor{azure4}{rgb:Hsb}{210,0.79,0.64}
-  \definecolor{azure5}{rgb:Hsb}{210,0.79,0.77}
-  \definecolor{azure6}{rgb:Hsb}{210,0.67,0.85}
-  \definecolor{azure7}{rgb:Hsb}{210,0.50,0.88}
-  \definecolor{azure8}{rgb:Hsb}{210,0.33,0.92}
-  \definecolor{azure9}{rgb:Hsb}{210,0.17,0.96}
-  \definecolor{blue1}{rgb:Hsb}{240,0.79,0.41}
-  \definecolor{blue2}{rgb:Hsb}{240,0.79,0.64}
-  \definecolor{blue3}{rgb:Hsb}{240,0.77,0.83}
-  \definecolor{blue4}{rgb:Hsb}{240,0.65,0.85}
-  \definecolor{blue5}{rgb:Hsb}{240,0.54,0.87}
-  \definecolor{blue6}{rgb:Hsb}{240,0.43,0.90}
-  \definecolor{blue7}{rgb:Hsb}{240,0.33,0.92}
-  \definecolor{blue8}{rgb:Hsb}{240,0.22,0.94}
-  \definecolor{blue9}{rgb:Hsb}{240,0.11,0.97}
-  \definecolor{violet1}{rgb:Hsb}{270,0.79,0.33}
-  \definecolor{violet2}{rgb:Hsb}{270,0.79,0.52}
-  \definecolor{violet3}{rgb:Hsb}{270,0.79,0.69}
-  \definecolor{violet4}{rgb:Hsb}{270,0.76,0.83}
-  \definecolor{violet5}{rgb:Hsb}{270,0.62,0.86}
-  \definecolor{violet6}{rgb:Hsb}{270,0.49,0.88}
-  \definecolor{violet7}{rgb:Hsb}{270,0.37,0.91}
-  \definecolor{violet8}{rgb:Hsb}{270,0.25,0.94}
-  \definecolor{violet9}{rgb:Hsb}{270,0.13,0.97}
-  \definecolor{magenta1}{rgb:Hsb}{300,0.79,0.25}
-  \definecolor{magenta2}{rgb:Hsb}{300,0.79,0.39}
-  \definecolor{magenta3}{rgb:Hsb}{300,0.79,0.52}
-  \definecolor{magenta4}{rgb:Hsb}{300,0.79,0.65}
-  \definecolor{magenta5}{rgb:Hsb}{300,0.79,0.78}
-  \definecolor{magenta6}{rgb:Hsb}{300,0.62,0.86}
-  \definecolor{magenta7}{rgb:Hsb}{300,0.44,0.89}
-  \definecolor{magenta8}{rgb:Hsb}{300,0.29,0.93}
-  \definecolor{magenta9}{rgb:Hsb}{300,0.14,0.96}
-  \definecolor{purple1}{rgb:Hsb}{330,0.79,0.27}
-  \definecolor{purple2}{rgb:Hsb}{330,0.79,0.42}
-  \definecolor{purple3}{rgb:Hsb}{330,0.79,0.56}
-  \definecolor{purple4}{rgb:Hsb}{330,0.79,0.70}
-  \definecolor{purple5}{rgb:Hsb}{330,0.76,0.83}
-  \definecolor{purple6}{rgb:Hsb}{330,0.57,0.87}
-  \definecolor{purple7}{rgb:Hsb}{330,0.42,0.90}
-  \definecolor{purple8}{rgb:Hsb}{330,0.27,0.93}
-  \definecolor{purple9}{rgb:Hsb}{330,0.14,0.96}
-}
+\cs_new_protected_nopar:Npn \__ninecolors_define_colors:n #1
+  {
+    \cs_set_eq:NN \__ninecolors_define_one:nnn \definecolor
+    \use:c { __ninecolors_define_colors_ #1 : }
+    \bool_if:NT \l__ninecolors_define_latex_three_bool
+      {
+        \cs_set_eq:NN \__ninecolors_define_one:nnn \color_set:nnn
+        \use:c { __ninecolors_define_colors_ #1 : }
+      }
+  }
 
-\@namedef{ninecolors at define@color at high}{%
-  \definecolor{red1}{rgb:Hsb}{0,0.89,0.30}
-  \definecolor{red2}{rgb:Hsb}{0,0.89,0.46}
-  \definecolor{red3}{rgb:Hsb}{0,0.89,0.61}
-  \definecolor{red4}{rgb:Hsb}{0,0.89,0.76}
-  \definecolor{red5}{rgb:Hsb}{0,0.87,0.90}
-  \definecolor{red6}{rgb:Hsb}{0,0.62,0.93}
-  \definecolor{red7}{rgb:Hsb}{0,0.45,0.95}
-  \definecolor{red8}{rgb:Hsb}{0,0.30,0.96}
-  \definecolor{red9}{rgb:Hsb}{0,0.15,0.98}
-  \definecolor{brown1}{rgb:Hsb}{30,0.89,0.22}
-  \definecolor{brown2}{rgb:Hsb}{30,0.89,0.34}
-  \definecolor{brown3}{rgb:Hsb}{30,0.89,0.46}
-  \definecolor{brown4}{rgb:Hsb}{30,0.89,0.57}
-  \definecolor{brown5}{rgb:Hsb}{30,0.89,0.69}
-  \definecolor{brown6}{rgb:Hsb}{30,0.89,0.82}
-  \definecolor{brown7}{rgb:Hsb}{30,0.77,0.91}
-  \definecolor{brown8}{rgb:Hsb}{30,0.51,0.94}
-  \definecolor{brown9}{rgb:Hsb}{30,0.25,0.97}
-  \definecolor{yellow1}{rgb:Hsb}{60,0.89,0.15}
-  \definecolor{yellow2}{rgb:Hsb}{60,0.89,0.23}
-  \definecolor{yellow3}{rgb:Hsb}{60,0.89,0.31}
-  \definecolor{yellow4}{rgb:Hsb}{60,0.89,0.39}
-  \definecolor{yellow5}{rgb:Hsb}{60,0.89,0.48}
-  \definecolor{yellow6}{rgb:Hsb}{60,0.89,0.57}
-  \definecolor{yellow7}{rgb:Hsb}{60,0.89,0.66}
-  \definecolor{yellow8}{rgb:Hsb}{60,0.89,0.77}
-  \definecolor{yellow9}{rgb:Hsb}{60,0.89,0.90}
-  \definecolor{olive1}{rgb:Hsb}{90,0.89,0.16}
-  \definecolor{olive2}{rgb:Hsb}{90,0.89,0.26}
-  \definecolor{olive3}{rgb:Hsb}{90,0.89,0.34}
-  \definecolor{olive4}{rgb:Hsb}{90,0.89,0.43}
-  \definecolor{olive5}{rgb:Hsb}{90,0.89,0.52}
-  \definecolor{olive6}{rgb:Hsb}{90,0.89,0.61}
-  \definecolor{olive7}{rgb:Hsb}{90,0.89,0.72}
-  \definecolor{olive8}{rgb:Hsb}{90,0.89,0.84}
-  \definecolor{olive9}{rgb:Hsb}{90,0.52,0.94}
-  \definecolor{green1}{rgb:Hsb}{120,0.89,0.17}
-  \definecolor{green2}{rgb:Hsb}{120,0.89,0.27}
-  \definecolor{green3}{rgb:Hsb}{120,0.89,0.35}
-  \definecolor{green4}{rgb:Hsb}{120,0.89,0.44}
-  \definecolor{green5}{rgb:Hsb}{120,0.89,0.54}
-  \definecolor{green6}{rgb:Hsb}{120,0.89,0.64}
-  \definecolor{green7}{rgb:Hsb}{120,0.89,0.75}
-  \definecolor{green8}{rgb:Hsb}{120,0.89,0.87}
-  \definecolor{green9}{rgb:Hsb}{120,0.39,0.95}
-  \definecolor{teal1}{rgb:Hsb}{150,0.89,0.17}
-  \definecolor{teal2}{rgb:Hsb}{150,0.89,0.26}
-  \definecolor{teal3}{rgb:Hsb}{150,0.89,0.35}
-  \definecolor{teal4}{rgb:Hsb}{150,0.89,0.44}
-  \definecolor{teal5}{rgb:Hsb}{150,0.89,0.53}
-  \definecolor{teal6}{rgb:Hsb}{150,0.89,0.63}
-  \definecolor{teal7}{rgb:Hsb}{150,0.89,0.74}
-  \definecolor{teal8}{rgb:Hsb}{150,0.89,0.86}
-  \definecolor{teal9}{rgb:Hsb}{150,0.43,0.95}
-  \definecolor{cyan1}{rgb:Hsb}{180,0.89,0.16}
-  \definecolor{cyan2}{rgb:Hsb}{180,0.89,0.25}
-  \definecolor{cyan3}{rgb:Hsb}{180,0.89,0.34}
-  \definecolor{cyan4}{rgb:Hsb}{180,0.89,0.42}
-  \definecolor{cyan5}{rgb:Hsb}{180,0.89,0.51}
-  \definecolor{cyan6}{rgb:Hsb}{180,0.89,0.61}
-  \definecolor{cyan7}{rgb:Hsb}{180,0.89,0.71}
-  \definecolor{cyan8}{rgb:Hsb}{180,0.89,0.83}
-  \definecolor{cyan9}{rgb:Hsb}{180,0.50,0.94}
-  \definecolor{azure1}{rgb:Hsb}{210,0.89,0.26}
-  \definecolor{azure2}{rgb:Hsb}{210,0.89,0.41}
-  \definecolor{azure3}{rgb:Hsb}{210,0.89,0.55}
-  \definecolor{azure4}{rgb:Hsb}{210,0.89,0.69}
-  \definecolor{azure5}{rgb:Hsb}{210,0.89,0.83}
-  \definecolor{azure6}{rgb:Hsb}{210,0.77,0.91}
-  \definecolor{azure7}{rgb:Hsb}{210,0.58,0.93}
-  \definecolor{azure8}{rgb:Hsb}{210,0.39,0.95}
-  \definecolor{azure9}{rgb:Hsb}{210,0.20,0.98}
-  \definecolor{blue1}{rgb:Hsb}{240,0.89,0.48}
-  \definecolor{blue2}{rgb:Hsb}{240,0.89,0.73}
-  \definecolor{blue3}{rgb:Hsb}{240,0.84,0.90}
-  \definecolor{blue4}{rgb:Hsb}{240,0.70,0.92}
-  \definecolor{blue5}{rgb:Hsb}{240,0.58,0.93}
-  \definecolor{blue6}{rgb:Hsb}{240,0.47,0.94}
-  \definecolor{blue7}{rgb:Hsb}{240,0.36,0.96}
-  \definecolor{blue8}{rgb:Hsb}{240,0.25,0.97}
-  \definecolor{blue9}{rgb:Hsb}{240,0.13,0.98}
-  \definecolor{violet1}{rgb:Hsb}{270,0.89,0.37}
-  \definecolor{violet2}{rgb:Hsb}{270,0.89,0.57}
-  \definecolor{violet3}{rgb:Hsb}{270,0.89,0.75}
-  \definecolor{violet4}{rgb:Hsb}{270,0.85,0.90}
-  \definecolor{violet5}{rgb:Hsb}{270,0.68,0.92}
-  \definecolor{violet6}{rgb:Hsb}{270,0.54,0.94}
-  \definecolor{violet7}{rgb:Hsb}{270,0.41,0.95}
-  \definecolor{violet8}{rgb:Hsb}{270,0.28,0.97}
-  \definecolor{violet9}{rgb:Hsb}{270,0.14,0.98}
-  \definecolor{magenta1}{rgb:Hsb}{300,0.89,0.26}
-  \definecolor{magenta2}{rgb:Hsb}{300,0.89,0.41}
-  \definecolor{magenta3}{rgb:Hsb}{300,0.89,0.54}
-  \definecolor{magenta4}{rgb:Hsb}{300,0.89,0.67}
-  \definecolor{magenta5}{rgb:Hsb}{300,0.89,0.80}
-  \definecolor{magenta6}{rgb:Hsb}{300,0.76,0.91}
-  \definecolor{magenta7}{rgb:Hsb}{300,0.52,0.94}
-  \definecolor{magenta8}{rgb:Hsb}{300,0.33,0.96}
-  \definecolor{magenta9}{rgb:Hsb}{300,0.17,0.98}
-  \definecolor{purple1}{rgb:Hsb}{330,0.89,0.29}
-  \definecolor{purple2}{rgb:Hsb}{330,0.89,0.45}
-  \definecolor{purple3}{rgb:Hsb}{330,0.89,0.59}
-  \definecolor{purple4}{rgb:Hsb}{330,0.89,0.73}
-  \definecolor{purple5}{rgb:Hsb}{330,0.89,0.88}
-  \definecolor{purple6}{rgb:Hsb}{330,0.66,0.92}
-  \definecolor{purple7}{rgb:Hsb}{330,0.47,0.94}
-  \definecolor{purple8}{rgb:Hsb}{330,0.31,0.96}
-  \definecolor{purple9}{rgb:Hsb}{330,0.16,0.98}
-}
+\__ninecolors_define_colors:n { mono }
+\__ninecolors_define_colors:n { medium }
 
-\@nameuse{ninecolors at define@mono}
-\@nameuse{ninecolors at define@color at medium}
+\tl_new:N \l__ninecolors_sat_tl
 
-\ExplSyntaxOff
+\keys_define:nn {ninecolors}
+  {
+    saturation .choice:,
+    saturation .value_required:n = true,
+    saturation .choices:nn = { low, medium, high }
+      { \tl_set_eq:NN \l__ninecolors_sat_tl \l_keys_choice_tl },
+    saturation .initial:n = medium,
+  }
 
+\NewDocumentCommand \NineColors {m}
+  {
+    \keys_set:nn {ninecolors} {#1}
+    \exp_args:NV \__ninecolors_define_colors:n \l__ninecolors_sat_tl
+  }
+



More information about the tex-live-commits mailing list.