我需要两个词汇表。它们之间应该只用 a 分隔,\medskip
而不是用\newpage
-break 分隔。为了妥善存放它们,我考虑将它们放在一个章节中符号列表。
这手动的使用长表格样式(例如long3col
)时会发出警告,但仅限于具有长描述的条目,因为表格单元格内不会有分页符。然而,这并不适用于此处...
为了抑制分页符,我遵循了这个帖子暂时使\newpage
-command 无效(接受的答案建议重新定义\glsclearpage
,但这对我的情况不起作用,对其他人来说显然也不起作用)
\begingroup\let\newpage\relax
\printglossary
\printglossary
\endgroup
奇怪的是,这似乎抑制了章节标题的出现:第一章/词汇表有六页,章节标题、第一个词汇表和第二个词汇表之间有双分页符。
第二次尝试添加章节/词汇表,结果是页面上同时显示两个词汇表,但没有任何章节标题(左);只有添加文本后才会打印章节标题(右):
\documentclass{scrbook}
\usepackage{glossaries}
% define alternative glossaries
\newglossary[ulg]{UppercaseCharacter}{uld}{udn}{List of uppercase characters}
\newglossary[llg]{LowercaseCharacter}{lld}{ldn}{List of lowercase characters}
% Term definitions
\newglossaryentry{A}{name=A, description={This is an uppercase character}, type=UppercaseCharacter}
\newglossaryentry{a}{name=a, description={This is a lowercase character}, type=LowercaseCharacter}
% activateglossaries
\makeglossaries
\setglossarystyle{long3col}
\begin{document}
\chapter*{List of symbols}
% Print the glossaries
\printglossary[type=UppercaseCharacter] % domain glossary
\printglossary[type=LowercaseCharacter] % domain glossary
\chapter*{Tight list of symbols}
\begingroup\let\newpage\relax
\printglossary[type=UppercaseCharacter] % domain glossary
\bigskip
\printglossary[type=LowercaseCharacter] % domain glossary
\endgroup
\chapter*{Tight list of symbols + Text}
dfgfgjfghj
\begingroup\let\newpage\relax
\printglossary[type=UppercaseCharacter] % domain glossary
\printglossary[type=LowercaseCharacter] % domain glossary
\endgroup%\clearpage
\chapter{Content}
UPPERCASE: \gls{A} and lowercase: \gls{a}
\end{document}
进一步看来,似乎不可能控制 Tex 原始组内的垂直间距,或者是因为词汇表不应该放在一页上?
答案1
仍然不知道为什么发生这种情况时,我发现了两个解决方法。
正如 Tomas Kurlis 在评论中指出的那样,使用-packagesections
中的选项glossary
不会发生此问题:
\documentclass{scrbook}
\usepackage[section]{glossaries}
% define alternative glossaries
\newglossary[ulg]{UppercaseCharacter}{uld}{udn}{List of uppercase characters}
\newglossary[llg]{LowercaseCharacter}{lld}{ldn}{List of lowercase characters}
% Term definitions
\newglossaryentry{A}{name=A, description={This is an uppercase character}, type=UppercaseCharacter}
\newglossaryentry{a}{name=a, description={This is a lowercase character}, type=LowercaseCharacter}
% activateglossaries
\makeglossaries
\setglossarystyle{longheader}
\begin{document}
\chapter*{List of symbols}
% Print the glossaries
\printglossary[type=UppercaseCharacter] % domain glossary
\printglossary[type=LowercaseCharacter] % domain glossary
\chapter*{Tight list of symbols}
\begingroup\let\newpage\relax
\printglossary[type=UppercaseCharacter] % domain glossary
\bigskip
\printglossary[type=LowercaseCharacter] % domain glossary
\endgroup
\chapter*{Tight list of symbols + Text}
dfgfgjfghj
\begingroup\let\newpage\relax
\printglossary[type=UppercaseCharacter] % domain glossary
\printglossary[type=LowercaseCharacter] % domain glossary
\endgroup%\clearpage
\chapter{Content}
UPPERCASE: \gls{A} and lowercase: \gls{a}
\end{document}
如果您需要将它们作为章节,并且希望在打印之前有一个空白章节\phantom{}
。但这不是常见情况(是的,我问的问题并不那么聪明)... 章节标题没有被渲染很奇怪,但您必须忍受章节标题之间的距离,因为它被处理为一行(不可见的)文本。