定义颜色后,部分中出现未定义颜色错误

定义颜色后,部分中出现未定义颜色错误

在以下 MWE 中,

\documentclass[twocolumn,showpacs,preprintnumbers,amsmath,amssymb,superscriptaddress]{revtex4}
\usepackage[dvips]{graphicx}
\usepackage[usenames,dvipsnames]{xcolor} % in order to use color names
\usepackage{color}
\definecolor{ngreen}{rgb}{0.2,0.7,0.2}%161
\newcommand{\grn}{\color{ngreen}}

\begin{document}

\title{\grn Title}% Force line breaks with \\
\maketitle

\section{\grn Section} % compilation error in this line!
Some Text.

\end{document}

我收到编译错误“Package xcolor Error: Undefined color 'NGREEN'”,但我觉得我已正确定义了颜色 ngreen。问题出在哪里?请注意,如果您注释掉该行,则我得到了标题的正确编译。

PS:使用 latex 和 pdflatex 进行编译时我遇到了同样的错误。

PPS 可能有些包是多余的。

答案1

当节标题转换为大写时,您需要使用\protect\grn或否则\grn扩展为。\color{NGREEN}

\documentclass{revtex4}
\usepackage{color}
\definecolor{ngreen}{rgb}{0.2,0.7,0.2}%161
\newcommand{\grn}{\color{ngreen}}
\begin{document}
\section{\protect\grn This is a section}
\end{document}

这并不特定于大写部分标题revtex的 except revtex。要在任何文档类中引发同样的问题,您可以使用

\MakeUppercase{\grn abc}

且解(\protect)相同。

相关内容