我正在尝试根据每个“进度”来改变目录中\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 ...