The following def takes first three letters as an argument:
\newcounter{colorCounter}
\def\@sectioncolor#1#2#3{%
{%
\color{%
\ifcase\value{colorCounter}%
blue\or%
red\or%
orange\or%
green\or%
purple\or%
brown\else%
headercolor\fi%
} #1#2#3%
}%
\stepcounter{colorCounter}%
}
It actually colors first three letters of the section name. How do I make it color the whole section name instead?
Can I make it to take the whole paragraph as an argument?
Edit
In order to make it work one has also to
\renewcommand{\section}[1]{
\par\vspace{\parskip}
{%
\LARGE\headingfont\color{headercolor}%
\@sectioncolor #1%
}
\par\vspace{\parskip}
}
Edit 2
MWE:
\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
% fonts:
\defaultfontfeatures{Scale=MatchLowercase,Mapping=tex-text}
\setmainfont{DejaVu Sans}
\setsansfont{DejaVu Sans}
\setmonofont{DejaVu Sans Mono}
\usepackage{xcolor}
\colorlet{headercolor}{gray}
\newcounter{colorCounter}
\def\@sectioncolor#1#2#3{%
{%
\color{%
\ifcase\value{colorCounter}%
blue\or%
red\or%
orange\or%
green\or%
purple\or%
brown\else%
headercolor\fi%
} #1#2#3%
}%
\stepcounter{colorCounter}%
}
\renewcommand{\section}[1]{
\par\vspace{\parskip}
{%
\LARGE\color{headercolor}%
\@sectioncolor #1%
}
\par\vspace{\parskip}
}
\begin{document}
\section{aaaaaa}
\section{bbbbbb}
\section{cccccc}
\end{document}
\@sectioncolor
inlatex.ltx
nor in(x)color.sty
. Without a minimal example it's impossible to say anything sensible. – egreg Nov 14 '13 at 21:53\color{headercolor}
? It is really confusing code. – kiss my armpit Nov 14 '13 at 21:58\colorlet{headercolor}{gray}
– Adobe Nov 14 '13 at 21:59