标题格式中的 \MakeUppercase 与 \usepackage{xcolor} 之间存在冲突

标题格式中的 \MakeUppercase 与 \usepackage{xcolor} 之间存在冲突

我想制作彩色的大写部分标题。但不知何故,所有部分项目的翻译都失败了:

 ! Missing number, treated as zero. <to be read again>

! Color stack action is missing. <to be read again>

! Package xcolor Error: Undefined color `BLUE'.

我发现当我尝试将环境\MakeUppercase中的命令\titleformatxcolor包结合在一起时就会发生冲突。

我的问题的 MWE:

\documentclass{article} 

\usepackage{xcolor}
\usepackage{titlesec}

\titleformat{\section}
  {\normalfont\bfseries\MakeUppercase}{\thesection}{1em}{}  %this line does not work
 %{\normalfont\bfseries}{\thesection}{1em}{}                %works perfectly well

\begin{document}
\section{\color{blue} This is a blue, upper case section}
\end{document}

我使用 Texmaker/MikTeX 2.9。有什么办法可以解决这个问题吗?

答案1

我个人尽量避免使用自动\MakeUpperCase。如果标题包含数学或命令等特殊内容,它可能会产生严重的副作用。另外,在我看来,它看起来不太好,我更喜欢小写字母。

除此之外:您不应该把放在\MakeUpperCase格式参数中,而应该放在before code

\documentclass{article}

\usepackage{xcolor}
\usepackage{titlesec}

\titleformat{\section}
  {\normalfont\bfseries\color{blue}}{\thesection}{1em}{\MakeUppercase}  

\begin{document}

\section{This is a blue, upper case section}
\end{document}

在此处输入图片描述

相关内容