
Ich möchte eine Liste vordefinierter HTML-Farbcodes haben und diese in eine nummerierte, wiederverwendbare Variable umwandeln, auf die später verwiesen werden kann. Dies ist nützlich, wenn Sie eine festgelegte Anzahl von Variablen oder Kategorien haben, die Sie inline einfärben möchten, ohne sich den Definitionsnamen merken oder große Mengen an Definitionen erstellen und \textcolour{colname}{text}
jedes Mal abtippen zu müssen.
Definition:
cols = ['#222','#ffc','#123']
Verwendung:
\c1 {text in firstcolour} and then \c2{text in secondcolour}
Antwort1
Wir können einen Zähler in Verbindung mit einem Newcommand-Makro verwenden, um künftig Newcommands zu generieren, die Text einfärben können. Nachfolgend sehen Sie ein einfaches Beispiel:
%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}
Das Ergebnis ist:
Antwort2
Sie können eine Liste mit Nummernverweisen erstellen:
\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}
Beachten Sie, dass xcolor
HTML-Farben als Zeichenfolge angegeben werden müssensechsHexadezimalziffern, Groß- oder Kleinbuchstaben.
Antwort3
Sie fordern einen Befehl an \c
.
\c
Der LaTeX 2e-Kernel definiert bereits, einen Brief mit einer Cedille zuzustellen.
Daher wird in den folgenden Beispielen \ColorNumber
stattdessen ein Befehl definiert.
Hier ist eine Variante Ihrer eigenen Antwort:
\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}
Hier ist eine weitere Variante Ihrer eigenen Antwort. Dabei wird das erste Argument im Parametertext \ColorNumber
durch eine geschweifte Klammer mittels -Notation abgegrenzt. Dies kommt der Notation, nach der Sie in Ihrer Frage gefragt haben, näher:#1#
\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}
Hier kommt noch eine weitere Variante, bei der Leerzeichen nach der Zahl entfernt werden:
\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}
Wenn die Liste der Farben klein ist, können Sie etwas wie verwenden, \UD@PassKthArg
um das K-te Element dieser Liste zu extrahieren und weiterzugeben. Auf diese \textcolor
Weise können Sie \textcolor
auch ohne die Notwendigkeit, die Farbe zu definieren, über Folgendes aufrufen \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}
Die Kombination des obigen Ansatzes, bei dem die Leerzeichen hinter der Zahl entfernt werden, mit dem Ansatz, bei dem
\UD@PassKthArg
zum Extrahieren des K-ten Elements verwendet wird, ergibt:
\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}
Antwort4
Ich würde dafür das xColors-Paket verwenden:
\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]
Und dann so verwenden:
\textcolor{xCyan}{cyan}
Oh, und übrigens, wenn man Text einfärbt, sieht er normalerweise fett besser aus:
\textcolor{xCyan}{\textbf{cyan}}