如何使词汇表中的组标题与组中的第一个条目保持一致?

如何使词汇表中的组标题与组中的第一个条目保持一致?

glossaries在设置了 的文档中multicols,经常会出现这样的情况:组的标题(例如A)位于一列的底部,而组的第一个成员(例如Albert)位于下一列的顶部。有什么补救措施吗?

一个例子:

\documentclass{article}

\usepackage[a4paper, textheight=5in]{geometry}
\usepackage{multicol}
\usepackage[automake,xindy]{glossaries}

\newglossary[wrg]{glos}{wrd}{wrn}{Glossary}

\newglossaryentry{A}{name=A,description=A}
\newglossaryentry{B}{name=B,description=B}
\newglossaryentry{C}{name=C,description=C}
\newglossaryentry{D}{name=D,description=D}
\newglossaryentry{E}{name=E,description=E}
\newglossaryentry{F}{name=F,description=F}
\newglossaryentry{G}{name=G,description=G}
\newglossaryentry{H}{name=H,description=H}
\newglossaryentry{I}{name=I,description=I}
\newglossaryentry{J}{name=J,description=J}
\newglossaryentry{K}{name=K,description=K}
\newglossaryentry{L}{name=L,description=L}
\newglossaryentry{M}{name=M,description=M}
\newglossaryentry{N}{name=N,description=N}
\newglossaryentry{O}{name=O,description=O}
\newglossaryentry{P}{name=P,description=P}
\newglossaryentry{Q}{name=Q,description=Q}
\newglossaryentry{R}{name=R,description=R}
\newglossaryentry{S}{name=S,description=S}
\newglossaryentry{T}{name=T,description=T}
\newglossaryentry{U}{name=U,description=U}
\newglossaryentry{V}{name=V,description=V}
\newglossaryentry{W}{name=W,description=W}
\newglossaryentry{X}{name=X,description=X}
\newglossaryentry{Y}{name=Y,description=Y}
\newglossaryentry{Z}{name=Z,description=Z}



\makeglossaries

\begin{document}

\glsaddall


\begin{multicols}{2}

\printglossary[style=indexgroup]

\end{multicols}

\end{document}

答案1

Ulrike Fischer 在 usenet 组 comp.text.tex 上对此进行了整理:

\makeatletter \newcommand\indexheaderspace{\par\nopagebreak\vskip 10\p@
\@plus 5\p@ \@minus 3\p@ \relax\@afterheading}
\makeatother \renewglossarystyle{indexgroup}{%
  \setglossarystyle{index}% 
  \renewcommand*{\glsgroupheading}[1]{%
    \item \glstreegroupheaderfmt{\glsgetgrouptitle{##1}}%
    \indexheaderspace
  }%
}

相关内容