按顺序对 LaTeX 文档中的段落进行着色

按顺序对 LaTeX 文档中的段落进行着色

这个问题类似于LaTeX 文档中的段落随机着色,但我想用独特的颜色(颜色列表)为段落着色,有什么办法吗?(我想对原始问题的答案进行评论,但我没有足够的声誉。

答案1

当然还有改进的空间(例如,可以将颜色列表定义为逗号分隔的列表),但你可以使用下面的代码,厚颜无耻地基于egreg 的回答回答您链接的问题。

\documentclass{article}
\usepackage{everyhook,xcolor,lipsum}

\newcounter{cyclecolor}
\newcommand*{\cyclecolor}{%
  \stepcounter{cyclecolor}%
  \ifcase\value{cyclecolor}%
  \or\color{red}%
  \or\color{orange}%
  \or\color{teal}%
  % add further colors here
  \or\color{blue}%
     \setcounter{cyclecolor}{0}% the last one in the list must reset the counter
  \fi}

\PushPostHook{par}{\cyclecolor} % https://tex.stackexchange.com/a/157158/82917

\begin{document}

\section{First}

\lipsum[66]

\lipsum[75]

\lipsum[66]

\lipsum[75]

\lipsum[66]

\lipsum[75]

\end{document}

在此处输入图片描述

或者,您可以定义两个用户宏\cyclecolor,并\nocyclecolor在文档中间切换行为

\documentclass{article}
\usepackage{everyhook,xcolor,lipsum}

\newcounter{cyclecolor}

\makeatletter
\def\@cyclecolor{\relax}
\newcommand*{\cyclecolor}{\def\@cyclecolor{\@@cyclecolor}}
\newcommand*{\nocyclecolor}{\color{black}\def\@cyclecolor{\relax}}

\newcommand*{\@@cyclecolor}{%
  \stepcounter{cyclecolor}%
  \ifcase\value{cyclecolor}%
  \or\color{red}%
  \or\color{orange}%
  \or\color{teal}%
  % add further colors here
  \or\color{blue}%
     \setcounter{cyclecolor}{0}%
  \fi}

\PushPostHook{par}{\@cyclecolor}
\makeatother


\begin{document}
% start with normal black
\lipsum[66]

\cyclecolor % cycles through colors
\lipsum[75]

\lipsum[66]

\lipsum[75]

\lipsum[66]

\lipsum[75]

\lipsum[75]

\nocyclecolor % restores normal black
\lipsum[66]

\lipsum[75]

\end{document}

在此处输入图片描述

答案2

尚未经过全面测试但是...

姆韦

\documentclass{article}
\usepackage{lipsum}
\usepackage{xcolor}
\definecolorseries{parrafo}{rgb}{last}{blue}{red}
\resetcolorseries[3]{parrafo}
\let\oldpar\par
\def\par{\oldpar\color{parrafo!!+}}
\begin{document}
\section{Test}
\lipsum[1][1-5]\par
\lipsum[2][1-5]\par
\lipsum[3][1-5]\par
\lipsum[4][1-5]\par
\lipsum[3][1-5]\par
\lipsum[4][1-5]\par
\section{More test}
\lipsum[1][1-5]\par
\lipsum[2][1-5]\par
\lipsum[3][1-5]\par
\lipsum[4][1-5]\par
\lipsum[3][1-5]\par
\lipsum[4][1-5]\par
\end{document}

相关内容