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}

ここに画像の説明を入力してください

あるいは、2つのユーザーマクロを定義して\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}

関連情報