带有三栏的记事本中的词汇表

带有三栏的记事本中的词汇表

我想打印一个包含三列的普通词汇表:名称、描述和页面列表。如果文档类是一本书,它就可以正常工作。我是否使用 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 太宽)

带有 scrbook 文档类的词汇表

中间一列太宽,所以我再也看不到页面列表了。

答案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}

相关内容