如何使部分彩色的章节标题仅出现在目录中

如何使部分彩色的章节标题仅出现在目录中

我正在尝试使用以下命令

\chapter [Introduction {\color{red}(estimated pages 7 -- 10)}] {Introduction}

制作部分彩色章节标题仅出现在目录中使用\documentclass{book}(即介绍应该黑色的, 但是,那休息应该出现在红色的)。但是,尽管我已经使用了所需的包,但此代码始终出现编译错误sectstyxcolor我发现\color命令放置在短标题框\chapter [short title] {title}命令。

最小工作文件:

\documentclass[a4paper,11pt,twoside]{book}

\usepackage[left=1in, right=1in, top=1in, bottom=1in]{geometry}
\RequirePackage[labelsep=space,tableposition=top]{caption}

\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{setspace}
\usepackage{cite}
\usepackage{mathtools}
\usepackage{hyperref}
\usepackage{sectsty}
\usepackage{xcolor}

\begin{document}

\tableofcontents
\cleardoublepage    

\chapter[Introduction {\protect\color{red}(7 -- 10 pages)}]{Introduction}  
%Title of the First Chapter

\section[Section 1   {\protect\color{red} 1 --2 pages}]{Section 1}

\section[Section 2  {\protect\color{red} 1 --2 pages}]{Section 2}

\chapter[Chapter 2 {\protect\color{red}(7 -- 10 pages)}]{Chapter 2}  
%Title of the second Chapter

\section[Section 1   {\protect\color{red} 1 --2 pages}]{Section 1}

\section[Section 2  {\protect\color{red} 1 --2 pages}]{Section 2}

\end{document}

答案1

在您发布 MWE 后,我意识到问题不是缺失\protect(实际上\color定义为,\protect\color␣第二个宏名称中有一个空格\color,并且包含实际代码)。问题是在book页眉中使用包含大写章节标题\MakeUppercase。这会将颜色变成RED,并且未定义。有几种可能的解决方案。

  • 最简单的方法:定义REDred使用 的别名\colorlet{RED}{red}

  • 隐藏\color{red}在另一个受保护的宏中,例如\DeclareRobustCommand*\mytitlered{\color{red}}

  • \MakeUppercase恢复使用 TeX 原语\lowercase的效果\color{red}

以下显示了所有三种替代方案:

\documentclass[a4paper,11pt,twoside]{book}

\usepackage[left=1in, right=1in, top=1in, bottom=1in]{geometry}
\usepackage[labelsep=space,tableposition=top]{caption}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{setspace}
\usepackage{cite}
\usepackage{mathtools}
\usepackage{hyperref}
\usepackage{sectsty}
\usepackage{xcolor}

\usepackage{duckuments} % dummy content

\DeclareRobustCommand*\mytitlecolor{\color{red}}

\begin{document}

\tableofcontents
\cleardoublepage


\chapter[Introduction {\mytitlecolor(7 -- 10 pages)}]{Introduction}  
%Title of the First Chapter
\blindduck[full]
\blindduck[full]

\chapter[Chapter 2 {\lowercase{\color{red}}(7 -- 10 pages)}]{Chapter 2}
\blindduck[full]
\blindduck[full]

\colorlet{RED}{red}
\chapter[Chapter 2 {\color{red}(7 -- 10 pages)}]{Chapter 2}
\blindduck[full]
\blindduck[full]

\end{document}

相关内容