根据章节和部分的进度为目录添加颜色

根据章节和部分的进度为目录添加颜色

我正在尝试根据每个“进度”来改变目录中\chapter/的颜色。\section

这意味着,我基本上想在目录中查看章节是否已完成、仍在编写中或尚未编写。为了指示进度,我想使用不同的颜色。

我搜索了该问题并找到了一个希望适合我的特殊问题的解决方案:目录中有不同颜色

但这个解决方案的问题是,每增加一个新章节,计数器就会增加,从而导致颜色发生变化。但我正在寻找一种为每个特定章节设置计数器的方法。

我希望我可以使用命令来执行此\setcounter操作,但我不确定将每个命令放在哪里以使得每个\chapter\section和 都不同\subsection

答案1

您发现的解决方案会根据章节条目的编号更改其颜色,正如您自己已经发现的那样,因此它不能应用于您的问题。

据我了解,如果没有您的帮助,LaTeX 将无法解决您的问题。

您说,您想使用颜色来直观地显示文档每个部分的状态。例如,红色表示\chapter尚未编写;橙色表示已添加一些文本,但文档的该部分仍在进行中;黄色可能表示编写过程已结束,但校对尚未结束;绿色是文本最终版本的颜色?对吗?

在这种情况下,您必须定义一个指示器,用于存储文本的状态,如上所述。假设您将在序言中定义它:

\def\@status{0}
\newcommand{\statusnotstarted}[1]{\def\@status{0}}
\newcommand{\statusstarted}[1]{\def\@status{1}}
\newcommand{\statusproofing}[2]{\def\@status{0}}
\newcommand{\statusfinal}[3]{\def\@status{0}}

然后,的值\@status可用于确定目录条目的颜色。您必须根据找到的解决方案定义代码这里对此

\newcommand*\toccolor{%
    \ifcase\value{\@status}% new variable used here!
         \color{red}%----- 0 --
    \or  \color{orange}%---- 1 --
    \or  \color{yellow}%--- 2 --
    \or  \color{green}%---- 3 --
    \else \color{black}%-- default
    \fi}

该解决方案的其余部分可以按原样复制,无需更改任何其他内容。(但我自己还没有测试过。)

编辑:文档中的用法为:

\statusnotstarted
\chapter{Introduction}
\chapter{Definitions}
\statusstarted
\chapter{Test Environment}
\section{Laboratory}
There habe been tests ...

相关内容