
Deseo tener una lista de códigos de color HTML predefinidos y convertirlos en una variable reutilizable numerada a la que se pueda hacer referencia más adelante. Esto es útil cuando tiene una cantidad determinada de variables o categorías que desea colorear en línea sin tener que recordar el nombre de la definición, o crear grandes cantidades de definiciones y escribirlas \textcolour{colname}{text}
cada vez.
Definición:
cols = ['#222','#ffc','#123']
Uso:
\c1 {text in firstcolour} and then \c2{text in secondcolour}
Respuesta1
Podemos usar un contador junto con una macro de nuevo comando para generar en el futuro nuevos comandos que puedan colorear el texto. A continuación se ofrece un ejemplo sencillo:
%define colours pre document
\newcounter{cnt}
\newcommand{\cdef}[1]{%
\stepcounter{cnt}%
\xglobal \definecolor{#1}{HTML}{#1}
\expandafter\newcommand\csname c\Roman{cnt}\endcsname{\textcolor{#1}}%
}
%start the main body
\begin{document}
% Define list of colours to run here, reference with \cI \cII \cIII etc...
\cdef{00CCFF}
\cdef{99CC99}
%write away within the document
\cI {test c1} and then \cII{test c2}
Esto produce lo siguiente:
Respuesta2
Puede crear una lista referenciada por números:
\documentclass{article}
\usepackage{xparse}
\usepackage{xcolor}
\ExplSyntaxOn
\NewDocumentCommand{\colorlist}{m}
{
\clist_map_inline:nn {#1}
{
\seq_gput_right:Nn \g_colorlist_list_seq { ##1 }
}
}
\NewDocumentCommand{\usecolor}{mm}
{
\textcolor[HTML]{ \seq_item:Nn \g_colorlist_list_seq { #1 } } { #2 }
}
\seq_new:N \g_colorlist_list_seq
\ExplSyntaxOff
\colorlist{828282,FF0000,00FF00}
\begin{document}
\usecolor{1}{text in first color}
\usecolor{2}{text in second color}
\usecolor{3}{text in third color}
\end{document}
Tenga en cuenta que xcolor
requiere que los colores HTML se proporcionen como una cadena deseisdígitos hexadecimales, mayúsculas o minúsculas.
Respuesta3
Pides un comando \c
.
\c
ya está definido por el kernel LaTeX 2e para entregar una carta con cedilla.
Por lo tanto, en los ejemplos siguientes \ColorNumber
se define un comando.
Aquí viene una variación de lo que proporcionó como su propia respuesta:
\documentclass{article}
\usepackage{xcolor}
\makeatletter
% define colours pre document
\newcommand\MYNAMESPACEDefinedColorTotal{0}%
\newcommand\cdef[1]{%
\@bsphack
\begingroup
\@tempcnta=\MYNAMESPACEDefinedColorTotal\relax
\advance\@tempcnta by 1\relax
\xdef\MYNAMESPACEDefinedColorTotal{\number\@tempcnta}%
\endgroup
\xglobal\definecolor{%
MYNAMESPACEDefinedColor\MYNAMESPACEDefinedColorTotal%
}{HTML}{#1}%
\@esphack
}
\newcommand\ColorNumber[1]{\textcolor{MYNAMESPACEDefinedColor#1}}%
\makeatother
%start the main body
\begin{document}
\cdef{00CCFF}
\cdef{99CC99}
%write away within the document
\ColorNumber{1}{test c1} and then \ColorNumber{2}{test c2}
\end{document}
Aquí viene otra variación de lo que proporcionó como su propia respuesta, el \ColorNumber
primer argumento de aquí está delimitado por una llave mediante #1#
la notación -en el texto del parámetro; esto se acerca más a la notación que solicitó en su pregunta:
\documentclass{article}
\usepackage{xcolor}
\makeatletter
% define colours pre document
\newcommand\MYNAMESPACEDefinedColorTotal{0}%
\newcommand\cdef[1]{%
\@bsphack
\begingroup
\@tempcnta=\MYNAMESPACEDefinedColorTotal\relax
\advance\@tempcnta by 1\relax
\xdef\MYNAMESPACEDefinedColorTotal{\number\@tempcnta}%
\endgroup
\xglobal\definecolor{%
MYNAMESPACEDefinedColor\MYNAMESPACEDefinedColorTotal%
}{HTML}{#1}%
\@esphack
}
\newcommand\ColorNumber{}%
\def\ColorNumber#1#{\textcolor{MYNAMESPACEDefinedColor#1}}%
\makeatother
%start the main body
\begin{document}
\cdef{00CCFF}
\cdef{99CC99}
%write away within the document
\ColorNumber1{test c1} and then \ColorNumber2{test c2}
\end{document}
Aquí viene otra variación en la que se eliminan los espacios que siguen al número:
\documentclass{article}
\usepackage{xcolor}
\makeatletter
%%=============================================================================
%% Paraphernalia:
%% \UD@firstoftwo, \UD@secondoftwo,\UD@CheckWhetherNull,
%%=============================================================================
\newcommand\UD@firstoftwo[2]{#1}%
\newcommand\UD@secondoftwo[2]{#2}%
%%-----------------------------------------------------------------------------
%% Check whether argument is empty:
%%.............................................................................
%% \UD@CheckWhetherNull{<Argument which is to be checked>}%
%% {<Tokens to be delivered in case that argument
%% which is to be checked is empty>}%
%% {<Tokens to be delivered in case that argument
%% which is to be checked is not empty>}%
%%
%% The gist of this macro comes from Robert R. Schneck's \ifempty-macro:
%% <https://groups.google.com/forum/#!original/comp.text.tex/kuOEIQIrElc/lUg37FmhA74J>
\newcommand\UD@CheckWhetherNull[1]{%
\romannumeral0\expandafter\UD@secondoftwo\string{\expandafter
\UD@secondoftwo\expandafter{\expandafter{\string#1}\expandafter
\UD@secondoftwo\string}\expandafter\UD@firstoftwo\expandafter{\expandafter
\UD@secondoftwo\string}\expandafter\expandafter\UD@firstoftwo{ }{}%
\UD@secondoftwo}{\expandafter\expandafter\UD@firstoftwo{ }{}\UD@firstoftwo}%
}%
%%-----------------------------------------------------------------------------
%% \UD@RemoveTrailingSpaces{<argument>} removes trailing spaces from <argument>.
%% !!!! <argument> must not contain the token \UD@seldom !!!!
%%.............................................................................
\begingroup
\newcommand\UD@RemoveTrailingSpaces[1]{%
\endgroup
\newcommand\UD@RemoveTrailingSpaces[1]{%
\romannumeral0%
\UD@trimtrailspaceloop.##1\UD@seldom#1\UD@seldom\UD@seldom#1{.##1}%
}%
\newcommand\UD@trimtrailspaceloop{}%
\long\def\UD@trimtrailspaceloop##1#1\UD@seldom##2\UD@seldom#1##3{%
\UD@CheckWhetherNull{##2}{%
\UD@firstoftwo{ }##3%
}{%
\UD@trimtrailspaceloop##1\UD@seldom#1\UD@seldom\UD@seldom#1{##1}%
}%
}%
}%
\UD@RemoveTrailingSpaces{ }%
% define colours pre document
\newcommand\MYNAMESPACEDefinedColorTotal{0}%
\newcommand\cdef[1]{%
\@bsphack
\begingroup
\@tempcnta=\MYNAMESPACEDefinedColorTotal\relax
\advance\@tempcnta by 1\relax
\xdef\MYNAMESPACEDefinedColorTotal{\number\@tempcnta}%
\endgroup
\xglobal\definecolor{%
MYNAMESPACEDefinedColor\MYNAMESPACEDefinedColorTotal%
}{HTML}{#1}%
\@esphack
}
\newcommand\ColorNumber{}%
\def\ColorNumber#1#{%
\expandafter\expandafter\expandafter\@ColorNumber
\expandafter\expandafter\expandafter{\UD@RemoveTrailingSpaces{#1}}%
}%
\newcommand*\@ColorNumber[1]{%
\textcolor{MYNAMESPACEDefinedColor#1}%
}%
\makeatother
%start the main body
\begin{document}
\cdef{00CCFF}
\cdef{99CC99}
%write away within the document
\ColorNumber1{test c1} and then \ColorNumber2{test c2}
\ColorNumber 1 {test c1} and then \ColorNumber 2 {test c2}
\end{document}
Si la lista de colores es pequeña, podrías usar algo como \UD@PassKthArg
extraer el elemento K-ésimo de esa lista y pasarlo a \textcolor
; de esta manera puedes llamar \textcolor
incluso sin la necesidad de definir el color a través de \definecolor
:
\documentclass{article}
\usepackage{xcolor}%
\makeatletter
%% Code for \UD@PassKthArg
%%=============================================================================
%% Paraphernalia:
%% \UD@firstoftwo, \UD@secondoftwo, UD@Exchange, \UD@PassFirstToSecond,
%% \UD@CheckWhetherNull, UD@CheckWhetherBlank
%%=============================================================================
\newcommand\UD@firstoftwo[2]{#1}%
\newcommand\UD@secondoftwo[2]{#2}%
\newcommand\UD@Exchange[2]{#2#1}%
\newcommand\UD@PassFirstToSecond[2]{#2{#1}}%
%%-----------------------------------------------------------------------------
%% Check whether argument is empty:
%%.............................................................................
%% \UD@CheckWhetherNull{<Argument which is to be checked>}%
%% {<Tokens to be delivered in case that argument
%% which is to be checked is empty>}%
%% {<Tokens to be delivered in case that argument
%% which is to be checked is not empty>}%
%%
%% The gist of this macro comes from Robert R. Schneck's \ifempty-macro:
%% <https://groups.google.com/forum/#!original/comp.text.tex/kuOEIQIrElc/lUg37FmhA74J>
\newcommand\UD@CheckWhetherNull[1]{%
\romannumeral0\expandafter\UD@secondoftwo\string{\expandafter
\UD@secondoftwo\expandafter{\expandafter{\string#1}\expandafter
\UD@secondoftwo\string}\expandafter\UD@firstoftwo\expandafter{\expandafter
\UD@secondoftwo\string}\expandafter\expandafter\UD@firstoftwo{ }{}%
\UD@secondoftwo}{\expandafter\expandafter\UD@firstoftwo{ }{}\UD@firstoftwo}%
}%
%%------------------------------------------------------------------------------
%% Check whether argument is blank (empty or only spaces):
%%..............................................................................
%% -- Take advantage of the fact that TeX discards space tokens when
%% "fetching" _un_delimited arguments: --
%% \UD@CheckWhetherBlank{<Argument which is to be checked>}%
%% {<Tokens to be delivered in case that
%% argument which is to be checked is blank>}%
%% {<Tokens to be delivered in case that argument
%% which is to be checked is not blank}%
\newcommand\UD@CheckWhetherBlank[1]{%
\romannumeral\expandafter\expandafter\expandafter\UD@secondoftwo
\expandafter\UD@CheckWhetherNull\expandafter{\UD@firstoftwo#1{}.}%
}%
%%=============================================================================
%% Put K-th inner undelimited argument behind sequence of tokens:
%%
%% \UD@PassKthArg{<tokens>}{<ErrorTokens>}{<integer K>}{<list of undelimited args>}
%%
%% In case there is no K-th argument in <list of indelimited args> :
%% Does deliver <ErrorTokens>.
%% In case there is a K-th argument in <list of indelimited args> :
%% Does place that K-th argument with one level of braces removed behind <tokens>.
%%
%% Examples:
%%
%% \UD@PassKthArg{ELEMENT-}{ERROR}{0}{ABCDE} yields: ERROR
%%
%% \UD@PassKthArg{ELEMENT-}{ERROR}{3}{ABCDE} yields: ELEMENT-C
%%
%% \UD@PassKthArg{ELEMENT-}{ERROR}{3}{AB{CD}E} yields: ELEMENT-CD
%%
%% \UD@PassKthArg{ELEMENT-}{ERROR}{4}{{001}{002}{003}{004}{005}} yields: ELEMENT-004
%%
%% \UD@PassKthArg{ELEMENT-}{ERROR}{6}{{001}{002}{003}} yields: ERROR
%%
%%=============================================================================
\newcommand\UD@PassKthArg[3]{%
\romannumeral0%
% #1: <Tokens>
% #2: <ErrorTokens>
% #3: <integer number K>
\expandafter\UD@PassKthArgCheck
\expandafter{\romannumeral\number\number#3 000}{#1}{#2}%
}%
\newcommand\UD@PassKthArgCheck[4]{%
% #1 - <K letters m>
% #2 - <Tokens>
% #3 - <ErrorTokens>
% #4 - <list>
\UD@CheckWhetherNull{#1}{ #3}{%
\expandafter\UD@PassKthArgLoop\expandafter{\UD@firstoftwo{}#1}{#4}{#2}{#3}%
}%
}%
\newcommand\UD@PassKthArgLoop[4]{%
% #1 - <letters m in an amount that corresponds to the number
% of arguments trailing the to-be-kept argument>
% #2 - <list>
% #3 - <Tokens>
% #4 - <ErrorTokens>
\UD@CheckWhetherBlank{#2}{ #4}{%
\UD@CheckWhetherNull{#1}{%
\UD@ExtractFirstArgLoop{#2\UD@SelDOm}{#3}%
}{%
\expandafter\UD@PassFirstToSecond\expandafter{\UD@firstoftwo{}#2}%
{\expandafter\UD@PassKthArgLoop\expandafter{\UD@firstoftwo{}#1}}%
{#3}{#4}%
}%
}%
}%
\newcommand\UD@RemoveTillUD@SelDOm{}%
\long\def\UD@RemoveTillUD@SelDOm#1#2\UD@SelDOm{{#1}}%
\newcommand\UD@ExtractFirstArgLoop[2]{%
\expandafter\UD@CheckWhetherNull\expandafter{\UD@firstoftwo{}#1}%
{\UD@Exchange#1{ #2}}%
{\expandafter\UD@ExtractFirstArgLoop\expandafter{\UD@RemoveTillUD@SelDOm#1}{#2}}%
}%
%% End of code for \UD@PassKthArg
\newcommand\ColorNumber[1]{%
\expandafter\UD@PassFirstToSecond\expandafter{\Mycolorlist}{\UD@PassKthArg{\textcolor}{%
\GenericError{%
\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces\space\space\space
}{%
Error with command \string\ColorNumber: \string\Mycolorlist\space does not have a%
\MessageBreak color-specification-element #1%
}{Color will not be changed.}{Specify the number of an element which is in the list.}%
}{#1}}%
}%
\makeatother
\definecolor{myweirdcolor}{HTML}{800080}% PURPLE
% List of color-specifications.
% Each specification must be nested in braces.
% You are not bound to the HTML-Hex-Code-model.
\newcommand\Mycolorlist{%
{[HTML]{00CCFF}}% CYAN
{[HTML]{C0C0C0}}% SILVER
{[HTML]{808080}}% GRAY
{[HTML]{000000}}% BLACK
{[rgb]{1,0,0}} % RED
{[HTML]{800000}}% MAROON
{[HTML]{FFFF00}}% YELLOW
{[HTML]{808000}}% OLIVE
{[HTML]{00FF00}}% LIME
{[HTML]{008000}}% GREEN
{[HTML]{00FFFF}}% AQUA
{[HTML]{008080}}% TEAL
{[HTML]{0000FF}}% BLUE
{[HTML]{000080}}% NAVY
{[HTML]{FF00FF}}% FUCHSIA
{{myweirdcolor}}% PURPLE
}
\begin{document}
\noindent
\ColorNumber{1}{test C1 - CYAN}\\
\ColorNumber{2}{test C2 - SILVER}\\
\ColorNumber{3}{test C3 - GRAY}\\
\ColorNumber{4}{test C4 - BLACK}\\
\ColorNumber{5}{test C5 - RED}\\
\ColorNumber{6}{test C6 - MAROON}\\
\ColorNumber{7}{test C7 - YELLOW}\\
\ColorNumber{8}{test C8 - OLIVE}\\
\ColorNumber{9}{test C9 - LIME}\\
\ColorNumber{10}{test C10 - GREEN}\\
\ColorNumber{11}{test C11 - AQUA}\\
\ColorNumber{12}{test C12 - TEAL}\\
\ColorNumber{13}{test C13 - BLUE}\\
\ColorNumber{14}{test C14 - NAVY}\\
\ColorNumber{15}{test C15 - FUCHSIA}\\
\ColorNumber{16}{test C16 - PURPLE}\\
%\ColorNumber{17}{test C17 - ERROR}\\
%\ColorNumber{0}{test C0 - ERROR}
\end{document}
Combinando el enfoque anterior, donde se eliminan los espacios detrás del número, con el enfoque donde
\UD@PassKthArg
se utiliza para extraer el elemento K-ésimo, se obtiene:
\documentclass{article}
\usepackage{xcolor}%
\makeatletter
%% Code for \UD@PassKthArg
%%=============================================================================
%% Paraphernalia:
%% \UD@firstoftwo, \UD@secondoftwo, UD@Exchange, \UD@PassFirstToSecond,
%% \UD@CheckWhetherNull, UD@CheckWhetherBlank
%%=============================================================================
\newcommand\UD@firstoftwo[2]{#1}%
\newcommand\UD@secondoftwo[2]{#2}%
\newcommand\UD@Exchange[2]{#2#1}%
\newcommand\UD@PassFirstToSecond[2]{#2{#1}}%
%%-----------------------------------------------------------------------------
%% Check whether argument is empty:
%%.............................................................................
%% \UD@CheckWhetherNull{<Argument which is to be checked>}%
%% {<Tokens to be delivered in case that argument
%% which is to be checked is empty>}%
%% {<Tokens to be delivered in case that argument
%% which is to be checked is not empty>}%
%%
%% The gist of this macro comes from Robert R. Schneck's \ifempty-macro:
%% <https://groups.google.com/forum/#!original/comp.text.tex/kuOEIQIrElc/lUg37FmhA74J>
\newcommand\UD@CheckWhetherNull[1]{%
\romannumeral0\expandafter\UD@secondoftwo\string{\expandafter
\UD@secondoftwo\expandafter{\expandafter{\string#1}\expandafter
\UD@secondoftwo\string}\expandafter\UD@firstoftwo\expandafter{\expandafter
\UD@secondoftwo\string}\expandafter\expandafter\UD@firstoftwo{ }{}%
\UD@secondoftwo}{\expandafter\expandafter\UD@firstoftwo{ }{}\UD@firstoftwo}%
}%
%%------------------------------------------------------------------------------
%% Check whether argument is blank (empty or only spaces):
%%..............................................................................
%% -- Take advantage of the fact that TeX discards space tokens when
%% "fetching" _un_delimited arguments: --
%% \UD@CheckWhetherBlank{<Argument which is to be checked>}%
%% {<Tokens to be delivered in case that
%% argument which is to be checked is blank>}%
%% {<Tokens to be delivered in case that argument
%% which is to be checked is not blank}%
\newcommand\UD@CheckWhetherBlank[1]{%
\romannumeral\expandafter\expandafter\expandafter\UD@secondoftwo
\expandafter\UD@CheckWhetherNull\expandafter{\UD@firstoftwo#1{}.}%
}%
%%==============================================================================
%% Put K-th inner undelimited argument behind sequence of tokens:
%%
%% \UD@PassKthArg{<tokens>}{<ErrorTokens>}{<integer K>}{<list of undelimited args>}
%%
%% In case there is no K-th argument in <list of indelimited args> :
%% Does deliver <ErrorTokens>.
%% In case there is a K-th argument in <list of indelimited args> :
%% Does place that K-th argument with one level of braces removed behind <tokens>.
%%
%% Examples:
%%
%% \UD@PassKthArg{ELEMENT-}{ERROR}{0}{ABCDE} yields: ERROR
%%
%% \UD@PassKthArg{ELEMENT-}{ERROR}{3}{ABCDE} yields: ELEMENT-C
%%
%% \UD@PassKthArg{ELEMENT-}{ERROR}{3}{AB{CD}E} yields: ELEMENT-CD
%%
%% \UD@PassKthArg{ELEMENT-}{ERROR}{4}{{001}{002}{003}{004}{005}} yields: ELEMENT-004
%%
%% \UD@PassKthArg{ELEMENT-}{ERROR}{6}{{001}{002}{003}} yields: ERROR
%%
%%=============================================================================
\newcommand\UD@PassKthArg[3]{%
\romannumeral0%
% #1: <Tokens>
% #2: <ErrorTokens>
% #3: <integer number K>
\expandafter\UD@PassKthArgCheck
\expandafter{\romannumeral\number\number#3 000}{#1}{#2}%
}%
\newcommand\UD@PassKthArgCheck[4]{%
% #1 - <K letters m>
% #2 - <Tokens>
% #3 - <ErrorTokens>
% #4 - <list>
\UD@CheckWhetherNull{#1}{ #3}{%
\expandafter\UD@PassKthArgLoop\expandafter{\UD@firstoftwo{}#1}{#4}{#2}{#3}%
}%
}%
\newcommand\UD@PassKthArgLoop[4]{%
% #1 - <letters m in an amount that corresponds to the number
% of arguments trailing the to-be-kept argument>
% #2 - <list>
% #3 - <Tokens>
% #4 - <ErrorTokens>
\UD@CheckWhetherBlank{#2}{ #4}{%
\UD@CheckWhetherNull{#1}{%
\UD@ExtractFirstArgLoop{#2\UD@SelDOm}{#3}%
}{%
\expandafter\UD@PassFirstToSecond\expandafter{\UD@firstoftwo{}#2}%
{\expandafter\UD@PassKthArgLoop\expandafter{\UD@firstoftwo{}#1}}%
{#3}{#4}%
}%
}%
}%
\newcommand\UD@RemoveTillUD@SelDOm{}%
\long\def\UD@RemoveTillUD@SelDOm#1#2\UD@SelDOm{{#1}}%
\newcommand\UD@ExtractFirstArgLoop[2]{%
\expandafter\UD@CheckWhetherNull\expandafter{\UD@firstoftwo{}#1}%
{\UD@Exchange#1{ #2}}%
{\expandafter\UD@ExtractFirstArgLoop\expandafter{\UD@RemoveTillUD@SelDOm#1}{#2}}%
}%
%% End of code for \UD@PassKthArg
%%==============================================================================
%% \UD@RemoveTrailingSpaces{<argument>} removes trailing spaces from <argument>.
%% !!!! <argument> must not contain the token \UD@seldom !!!!
%%==============================================================================
\begingroup
\newcommand\UD@RemoveTrailingSpaces[1]{%
\endgroup
\newcommand\UD@RemoveTrailingSpaces[1]{%
\romannumeral0%
\UD@trimtrailspaceloop.##1\UD@seldom#1\UD@seldom\UD@seldom#1{.##1}%
}%
\newcommand\UD@trimtrailspaceloop{}%
\long\def\UD@trimtrailspaceloop##1#1\UD@seldom##2\UD@seldom#1##3{%
\UD@CheckWhetherNull{##2}{%
\UD@firstoftwo{ }##3%
}{%
\UD@trimtrailspaceloop##1\UD@seldom#1\UD@seldom\UD@seldom#1{##1}%
}%
}%
}%
\UD@RemoveTrailingSpaces{ }%
%% End of code for \UD@RemoveTrailingSpaces
\newcommand\ColorNumber{}%
\def\ColorNumber#1#{%
\expandafter\expandafter\expandafter\@ColorNumber
\expandafter\expandafter\expandafter{\UD@RemoveTrailingSpaces{#1}}%
}%
\newcommand\@ColorNumber[1]{%
\expandafter\UD@PassFirstToSecond\expandafter{\Mycolorlist}{\UD@PassKthArg{\textcolor}{%
\GenericError{%
\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces\space\space\space
}{%
Error with command \string\ColorNumber: \string\Mycolorlist\space does not have a%
\MessageBreak color-specification-element #1%
}{Color will not be changed.}{Specify the number of an element which is in the list.}%
}{#1}}%
}%
\makeatother
\definecolor{myweirdcolor}{HTML}{800080}% PURPLE
% List of color-specifications.
% Each specification must be nested in braces.
% You are not bound to the HTML-Hex-Code-model.
\newcommand\Mycolorlist{%
{[HTML]{00CCFF}}% CYAN
{[HTML]{C0C0C0}}% SILVER
{[HTML]{808080}}% GRAY
{[HTML]{000000}}% BLACK
{[rgb]{1,0,0}} % RED
{[HTML]{800000}}% MAROON
{[HTML]{FFFF00}}% YELLOW
{[HTML]{808000}}% OLIVE
{[HTML]{00FF00}}% LIME
{[HTML]{008000}}% GREEN
{[HTML]{00FFFF}}% AQUA
{[HTML]{008080}}% TEAL
{[HTML]{0000FF}}% BLUE
{[HTML]{000080}}% NAVY
{[HTML]{FF00FF}}% FUCHSIA
{{myweirdcolor}}% PURPLE
}
\begin{document}
\noindent
\ColorNumber1{test C1 - CYAN}\\
\ColorNumber2{test C2 - SILVER}\\
\ColorNumber3{test C3 - GRAY}\\
\ColorNumber4{test C4 - BLACK}\\
\ColorNumber5{test C5 - RED}\\
\ColorNumber6{test C6 - MAROON}\\
\ColorNumber7{test C7 - YELLOW}\\
\ColorNumber8{test C8 - OLIVE}\\
\ColorNumber9{test C9 - LIME}\\
\ColorNumber10{test C10 - GREEN}\\
\ColorNumber11{test C11 - AQUA}\\
\ColorNumber12{test C12 - TEAL}\\
\ColorNumber13{test C13 - BLUE}\\
\ColorNumber14{test C14 - NAVY}\\
\ColorNumber15{test C15 - FUCHSIA}\\
\ColorNumber16{test C16 - PURPLE}\\
%\ColorNumber17{test C17 - ERROR}\\
%\ColorNumber0{test C0 - ERROR}
\end{document}
Respuesta4
Usaría el paquete xColors para eso:
\usepackage{xcolor}
%Color palette that looks great
\definecolor{xRed}{HTML}{B51E0E} %[0.71 0.12 0.06]
\definecolor{xGreen}{HTML}{6DB565} %[0.23 0.51 0.20]
\definecolor{xBlue}{HTML}{074E82} %[0.03 0.31 0.51]
\definecolor{xBrown}{HTML}{9C5C19} %[0.61 0.36 0.10]
\definecolor{xYellow}{HTML}{F7B538} %[0.97 0.71 0.22]
\definecolor{xOrange}{HTML}{EC6D00} %[0.93 0.43 0.00]
\definecolor{xCyan}{HTML}{0094AC} %[0.00 0.58 0.68]
\definecolor{xPurple}{HTML}{8711A1} %[0.53 0.07 0.64]
\definecolor{xPink}{HTML}{D30580} %[0.83 0.02 0.51]
Y luego usa así:
\textcolor{xCyan}{cyan}
Ah, y por cierto, al colorear el texto normalmente se ve mejor en negrita:
\textcolor{xCyan}{\textbf{cyan}}