我想打印一个包含三列的普通词汇表:名称、描述和页面列表。如果文档类是一本书,它就可以正常工作。我是否使用 makeindex 等外部程序并不重要,但为了简化,我使用了\makenoidxglossaries
。这是一个最小的工作示例:
\documentclass{book}
\usepackage{glossaries}
\makenoidxglossaries
\newglossaryentry{lorem}{name={lorem},description={ipsum}}
\newglossaryentry{dolor}{name={dolor},description={sit}}
\newglossaryentry{amet}{name={amet},description={consectetuer}}
\newglossaryentry{adipiscing}{name={adipiscing},description={elit}}
\newglossaryentry{ut}{name={ut},description={purus}}
\newglossaryentry{elit}{name={elit},description={vestibulum}}
\newglossaryentry{placerat}{name={placerat},description={ac}}
\newglossaryentry{vitae}{name={vitae},description={felis}}
\setglossarystyle{long3col}
\begin{document}
\glsaddall
\printnoidxglossaries
\end{document}
输出如下所示:
但是,当我使用 scrbook 时:
\documentclass{scrbook}
\usepackage{glossaries}
\makenoidxglossaries
\newglossaryentry{lorem}{name={lorem},description={ipsum}}
\newglossaryentry{dolor}{name={dolor},description={sit}}
\newglossaryentry{amet}{name={amet},description={consectetuer}}
\newglossaryentry{adipiscing}{name={adipiscing},description={elit}}
\newglossaryentry{ut}{name={ut},description={purus}}
\newglossaryentry{elit}{name={elit},description={vestibulum}}
\newglossaryentry{placerat}{name={placerat},description={ac}}
\newglossaryentry{vitae}{name={vitae},description={felis}}
\setglossarystyle{long3col}
\begin{document}
\glsaddall
\printnoidxglossaries
\end{document}
我有以下输出和警告:
19-19 行对齐时 \hbox 过满(5399.75533pt 太宽)
中间一列太宽,所以我再也看不到页面列表了。
答案1
这个问题与此相关问题,链接到错误报告。建议的解决方法是添加\usepackage{glossaries-extra}
。完整代码如下:
\documentclass{scrbook}
\usepackage{glossaries}
\usepackage{glossaries-extra}
\makenoidxglossaries
\newglossaryentry{lorem}{name={lorem},description={ipsum}}
\newglossaryentry{dolor}{name={dolor},description={sit}}
\newglossaryentry{amet}{name={amet},description={consectetuer}}
\newglossaryentry{adipiscing}{name={adipiscing},description={elit}}
\newglossaryentry{ut}{name={ut},description={purus}}
\newglossaryentry{elit}{name={elit},description={vestibulum}}
\newglossaryentry{placerat}{name={placerat},description={ac}}
\newglossaryentry{vitae}{name={vitae},description={felis}}
\setglossarystyle{long3col}
\begin{document}
\glsaddall
\printnoidxglossaries
\end{document}