我正在编辑自定义文档类.cls
文件,并希望将章节标题设置为居中、粗体和下划线。
\def\section{%
\@startsection{section}{1}{\z@}
{\baselineskip}{\baselineskip}
{\centering\bfseries\underbar}}
但是,\centering
和\underbar
似乎不兼容。使用 时\underbar
,章节标题带有下划线但不居中;不使用 时\underbar
,章节标题居中但不带有下划线。
如何将章节标题设置为居中、加粗和加下划线?我之前从未编辑过文档类,解决方案可能很简单。
答案1
\underbar
不是像居中那样的开关,并且它需要一个参数,因此您不能按照您尝试的方式使用它。
第一个选择是使用 LaTeX \@sect
,但这可能比它本身更麻烦。
我认为你最好选择titlesec
以下explicit
选项:
\usepackage[explicit]{titlesec}
\titleformat\section[block]%
{\bfseries\centering}
{\thesection}
{\baselineskip}
{\underbar{#1}}
但正如 dexteritas 在评论中指出的那样,这对于需要换行的长章节标题来说会很糟糕。\underbar
将其参数排版为\hbox
,因此不会发生换行。 因此对于长章节标题\underbar
不能使用。
可以处理换行符的替代方法是\ul
来自soul
包的命令:
\usepackage{soul}
\usepackage[explicit]{titlesec}
\titleformat\section[block]%
{\bfseries\centering}
{\thesection}
{\baselineskip}
{\ul{#1}}