关于格式化章节标题的问题。在文章类中,我想按如下方式格式化章节标题:
- 隐藏标题中的章节编号。
- 使用大写。
- 在标题下方添加虚线标题规则(我在其他地方定义了自定义虚线)。
我已经对 titlesec 包进行了很多尝试,但仍未找到解决方案。
\titleformat{\section}{\centering\large\titlerule}{\thesection}{0.5em}{}
这会在标题上方生成一个标题规则,但不会生成在标题下方。我尝试了 \titlerule 的各个位置,但找不到正确的位置^^。此外,\MakeUppercase 不适用于标题名称。章节编号可见。有人能帮忙吗?
最好,
答案1
像这样吗?
\documentclass{article}
\usepackage{titlesec}
\titleformat{\section}{\centering\large}{}{0em}{\MakeUppercase}[\titlerule]
\begin{document}
\section{This}
\end{document}
(在内联大写章节标题)
的一般语法\titleformat
是
\titleformat{<command>}[<shape>]{<format>}{<label>}{<sep>}{<before-code>}[<after-code>]
<command>
是您要修改的切片命令,这里\section
。<shape>
确定标题的一般位置,请参阅手册第 3 页的选项列表。这是一个可选参数。<format>
此处保存标题文本的通用格式开关\centering\large
。<label>
:这是放置打印节号(\thesection
)和其他相关内容的代码的地方,例如单词章节对于章节。<sep>
是从数字到标题的距离(我刚刚将其更改为 0em)<before-code>
就是这样,代码放在标题文本之前。\MakeUppercase
接受一个参数(即\MakeUppercase{text}
),但据我了解,它的titlesec
构造使得中使用的最后一个宏<before-code>
可以接受一个参数,您可以像我一样使用它。<after-code>
正如预期的那样,它位于标题文本之后。您希望规则位于其后,因此我在此处添加了它。这也是一个可选参数,方括号 ([]
) 通常表示 LaTeX 中的可选参数,而大括号 ({}
) 表示强制参数。因此,您不能省略空的大括号。
答案2
谢谢你的帮助。为了总结一下学到的教训,我想添加一个例子来说明我如何用线条等格式化子部分标题。代码是:
\titleformat{\section}{\centering\large}{}{0em}{\MakeUppercase}[\titlerule]
\titleformat{\subsection}[block]{\upperdots\\\large}{\thesubsection}{1.5em}{\MakeUppercase}[\basedots]
请注意,(upper|base)dots 是使用 dashrule 包定义的自定义线条。结果可能不完美,但目前看起来还不错: