词汇表:\printglossaries 打印太宽

词汇表:\printglossaries 打印太宽

我正在使用词汇表包,当我发出 \printglossaries 时:

\printglossaries
\makeglossaries

这个词汇表太宽泛了:

ttp://i.stack.imgur.com/9Rgdw.png

我的套餐选择是

\usepackage[acronym,sort=def,
  style=long,
  nolist
]{glossaries}

环境

\setlength{\textwidth}{4.65in}

就在 \printglossaries 被立即忽略之前,我在词汇表文档中找不到任何影响宽度的选项。

当我使用 twoside 作为脚本选项时,效果更加明显。

有什么想法为什么会发生这种情况或者我该如何解决它?

答案1

[楼主的回答从问题中移出]

仅仅进行调整\glsdescwidth是没有用的,因为当你最长的条目发生变化时,你必须重新调整。因此,请使用自定义词汇表样式:

\newlength{\glstargetwidth}%
\newlength{\glshspace}%

\newglossarystyle{mylong}{%
% put the glossary in the longtable environment:
\renewenvironment{theglossary}{%
\setlength{\glstargetwidth}{0.29\textwidth}%
\setlength{\glshspace}{0.02\textwidth}%
\setlength{\glsdescwidth}{0.69\textwidth}%
\setlength{\tabcolsep}{0pt}%
\setlength{\extrarowheight}{12pt}%
\begin{longtable}%
{p{\glstargetwidth} @{\hspace{\glshspace}}  p{\glsdescwidth}}}%
{\end{longtable}}%
% have nothing after \begin{theglossary}:
\renewcommand*{\glossaryheader}{}%
% have nothing between glossary groups:
\renewcommand*{\glsgroupheading}[1]{}%
\renewcommand*{\glsgroupskip}{}%
% set how each entry should appear:
\renewcommand*{\glossaryentryfield}[5]{%
\raggedright\strong{\glstarget{##1}{##2}}% the entry name
##4% the symbol 
&##3,% the description
\space ##5% the number list 
\\
}%
% set how sub-entries appear:
\renewcommand*{\glossarysubentryfield}[6]{%
\glossaryentryfield{##2}{##3}{##4}{##5}{##6}}%
}
\renewcommand*{\glstextformat}[1]{\textcolor{black}{#1}}

\glossarystyle{mylong}

这将修复您的条目列的宽度,并在必要时打破条目名称。

答案2

摘自glossaries用户指南(texdoc glossaries-user.pdf),第 82 页:

允许多行描述和页面列表的表格样式使用长度\glsdescwidth来设置描述列的宽度,使用长度来设置页面列表列的宽度。如果词汇表太宽,\glspagelistwidth则需要使用来更改这些。\setlength

相关内容