我一直在修改一个.cls
文件,它定义了我的“部分”是什么样子。目前它看起来像这样:
% Defines the rSection environment for the large sections
\newenvironment{rSection}[1]{ % 1 input argument - section name
\sectionskip
\MakeUppercase{\bf #1} % Section title
{\color{blue} {\bf #1}} % MY LINE
\sectionlineskip
\hrule % Horizontal line
\begin{list}{}{ % List for each individual item in the section
\setlength{\leftmargin}{1.5em} % Margin within the section
}
\item[]
}{
\end{list}
}
过了一会儿,我使用颜色包和带有注释的行添加了注释MY LINE
,它按预期工作(它使章节标题加粗并变成蓝色)。它之前的行使其加粗并大写,因此章节标题出现了两次。我一直在尝试将它们合并为一个,例如:
{\color{blue} {\MakeUpperCase {\bf #1}}
但上述方法不起作用。正确的做法是什么?
答案1
我不确定环境应该做什么,但这是以粗体显示大写蓝色标题的正确方法:
\textcolor{blue}{\bfseries\MakeUppercase{#1}}
该\bf
声明已被弃用二十年了;正确的声明应为\bfseries
;对于您的情况,我还要补充一点\normalfont
,以避免外部字体产生任何影响。无论如何,这应该放在外面\MakeUppercase
。
所以定义应该是
\newenvironment{rSection}[1]{% 1 input argument - section name
\sectionskip
\textcolor{blue}{\normalfont\bfseries\MakeUppercase{#1}}% Section title
\sectionlineskip
\hrule % Horizontal line
\begin{list}{}{% List for each individual item in the section
\setlength{\leftmargin}{1.5em}% Margin within the section
}%
\item\relax
}{%
\end{list}%
}
%
注意行尾的正确用法。
答案2
你的示例行
{\color{blue} {\MakeUpperCase {\bf #1}}
包含两个错误:括号不匹配(注意,有多余的{
)和控制序列\MakeUpperCase
包含大写C
。 消除这两个错误后,你的想法就可以奏效了:
{\color{blue} \MakeUppercase {\bf #1}}