如果章节标题中有符号,则会出现未定义颜色错误

如果章节标题中有符号,则会出现未定义颜色错误

Package xcolor Error: Undefined color 'RED'如果我在章节标题中使用红色符号,就会出现错误。在下面的 MWE 中,注释最后\chapter一个会导致错误。第二章标题包含红色符号似乎没有问题,因为下面的示例产生了正确的结果。问题只出现在后续章节中。

\documentclass{book}

\usepackage{xcolor}
\newcommand{\SymbolInRed}{$\textcolor{red}{\times}$}

\begin{document}
\chapter{First Chapter}
\chapter{Second Chapter\SymbolInRed}
%\chapter{Third Chapter}% Undefined color 'RED' if uncomment this.
\end{document}

我已经使用这个有一段时间了,没有遇到任何问题。我最近更改了页眉/页脚以包含章节标题\leftmark,然后开始遇到这个问题,所以我以为它与此有关。但有了这个例子,我可以重现这个问题,即使没有那个。

答案1

正如 Lev Bishop 已经指出的那样,这是由于标题标记转换为大写而导致的,这也会变成redRED这也是一个问题,例如。 也可以通过将其声明为强命令或当然在 内使用 来\label避免这种情况。 这样,符号宏就不会展开,标题标记代码永远不会看到。 这也有助于您处理 ToC 文件,该文件将仅保留而不是其扩展版本。\SymbolInRed\protect\SymbolInRed\chapter{..}red\SymbolInRed

\documentclass{book}

\usepackage{xcolor}
\DeclareRobustCommand{\SymbolInRed}{$\textcolor{red}{\times}$}

\begin{document}
\chapter{First Chapter}
\chapter{Second Chapter\SymbolInRed}
\chapter{Third Chapter}% works now
\end{document}

还有这个相关问题如何将 tikz/pgf 命令添加到 section 命令中了解更多信息。

答案2

问题出在页眉标记(第 4 页)上。修复方法为\usepackage[overload]{textcase}

相关内容