通过以下 MWE,我得到了带黑色下划线的章节标题:
\documentclass[12pt]{article}
\usepackage[explicit]{titlesec}
\usepackage[dvipsnames]{xcolor}
\titleformat{\section}%
{\large\sffamily\bfseries}%
{Section \arabic{section}}%
{0.5em}%
{#1}%
[{\titlerule[2.5pt]}]
\begin{document}
\section{mon titre}
\end{document}
我的第一个问题:如果我删除{ }
封闭的内容\titlerule
,就会出现编译错误
! LaTeX Error: Missing \begin{document}
这很奇怪,因为内容[ ]
是排版在章节标题后的文本。例如
[some-after-text]
有效。我的第二个问题是:如果我用
[\textcolor{blue}{\titlerule[2.5pt]}]
我得到了一条蓝色下划线,但标题和下划线之间有一个额外的垂直空间(约 0.5 厘米)。如果我使用
[{\color{blue}\titlerule[2.5pt]}]
相反,垂直空间消失了...我不得不承认,我不明白这一点。
答案1
这并不奇怪:没有括号,在第一种情况下,第一个结束符与宣布可选参数的]
开头匹配。可选参数总是从到第一个(在同一括号级别)。[
\titleformat
[
]
第二个问题是由于\textcolor
开始一个段落,而\color
不开始。但是,正如您已经发现的,使用\color
会插入一个断点,并且规则可能会在下一页继续。
解决方案:
\titleformat{\section}
{\large\sffamily\bfseries}
{Section \arabic{section}}
{0.5em}
{#1}
[\titleline{\color{blue}\titlerule[2.5pt]}]