我目前正在使用 scrartcl 文档类和首字母缩略词词汇表:
\documentclass[12pt,a4paper,headsepline,notitlepage,parskip=half]{scrartcl}
\usepackage[nonumberlist,acronym]{glossaries}
在文档中我进一步使用了它
\section{Abkürzungen}
\glossarystyle{longheaderborder}
\printglossary[type=\acronymtype,title={}]
在目录中有一个编号的“Abkürzungen”部分。到目前为止,这工作正常。
但是“Abkürzungen”部分和首字母缩略词列表之间的间距太大。我使用 \vspace*{-15mm} 减小了此间距,但我认为一定有更好的方法。
有没有办法将节标题后的空格减少到通常用于间隔标题和文本的精确空格(我不知道如何在乳胶中实现这一点)?
编辑:
我认为我还不够清楚我想要实现的目标:
对于“Abkürzungen”部分仅有的,vspace 太大。对于所有其他部分,scrartcl 的 vspace 都很好。
我想减少一个部分中的节标题和文本之间的 vspace。
我知道通过使用空标题\printglossary[type=\acronymtype,title={}]
我实际上会得到一个空标题(并且它似乎正在使用空间尽管它是空的),但我无法弄清楚如何放置一个在\printglossary
目录中也可见为编号部分的标题。
答案1
以下是在间距较紧密的部分和间距正常的部分之间切换的一种方法,通过重新定义\section
scrartcl 的命令来完成:
\documentclass{scrartcl}
\newcommand{\breaksection}[1]{#1\par\noindent}
\usepackage{letltxmacro}
\LetLtxMacro{\oldsection}{\section}
\makeatletter
\newcommand*{\smallsection}{
\renewcommand{\section}{\@startsection{section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{0ex}%
{\ifnum \scr@compatibility>\@nameuse{scr@[email protected]}\relax
\setlength{\parfillskip}{\z@ plus 1fil}\fi
\raggedsection\normalfont\sectfont\nobreak\size@section\breaksection}%
}
}
\makeatother
\newcommand*{\stdsection}{\LetLtxMacro{\section}{\oldsection}}
\begin{document}
\section{One}
text
\smallsection
\section{Two}
text
\stdsection
\section{Three}
text
\end{document}
它从 scrartcl 复制了原始定义,但使用0ex
标题后的新空格,这是2.3ex \@plus.2ex
默认的。\breaksection
定义为在标题后获得一个段落分隔符,如果没有它,您将获得一个插入标题:正值会导致在下面跳过,负值会导致带有水平空间的插入标题。