我正在使用它titlesec
来更改章节标题的样式。有时,当标题很长但刚好短到可以放在一行中时,会添加一些额外的垂直空格。以下 MWE 说明了这个问题:
\documentclass{book}
\usepackage[a4paper]{geometry}
\usepackage[explicit]{titlesec}
\titleformat{\section}[block]{\Large\normalfont\bfseries}{#1}{.5em}{}
\begin{document}
\section{This is a short title}
This is a paragraph.
\section{This is a purposely long title that shows some odd behavior}
This is a paragraph.
\end{document}
呈现如下:
显然,第二部分标题下方的空间太多了。我尝试了\ignorespaces
和\ignorespacesafterend
,但似乎无法消除多余的空间。该怎么办?
答案1
这首先是由于以下语法错误造成的:
\titleformat{\section}[block]{\Large\normalfont\bfseries}{#1}{.5em}{}
您已将 #1 放在为标签格式化而保留的位置。正确的语法应为,例如:
\titleformat{\section}[block]{\Large\normalfont\bfseries}{\arabic{section}.}{.5em}{#1}