在花费大量时间寻找解决方案后,我仍然没有找到真正适合我的问题的东西。目标很简单:我想生成一个由标题、描述和首字母缩略词条目组成的首字母缩略词列表。使用以下代码,我几乎实现了预期的结果,只是首字母缩略词条目和描述之间的距离不是垂直对齐的。以下是设置词汇表设计的代码:
% Preamble
\documentclass[11pt, a4paper, twoside]{report}
% Package for acronyms
\usepackage[acronym, automake, nopostdot, nogroupskip]{glossaries}
\makeglossaries
\renewcommand*{\glsnamefont}[1]{\normalfont#1}
\renewcommand\glstreepredesc{\hspace{4cm}}
\setglossarypreamble[acronym]{\textbf{Acronym}\hspace{3.3cm}\textbf{Description\vspace*{0.3cm}}}
\newacronym{ADF}{ADF}{Automatic Direction Finder}
\newacronym{ADI}{ADI}{Automatic Direction Indicator}
\begin{document}
\printglossary[type=\acronymtype, title={Table of Acronyms}, nonumberlist, style=index]
\bigskip
Here, we use the acronym \acrfull{ADF}. The second acronym is \acrfull{ADI}. After the first usage of the 1st acronym, only the short version is used: \acrshort{ADF}.
\end{document}
在下面的结果图中可以看到两个描述的首字母没有垂直对齐:
问题是:如何使它们垂直对齐?提前致谢!
答案1
这longraggedheader
style 就是您要找的。它与longheader
style 类似,但将所有内容左对齐。
为了改变垂直间距,您可以\glossaryheader
根据自己的喜好重新定义:
% Set the table's header:
\def\spacing{10pt}% Here you can change the vertical spacing after the header
\renewcommand*{\glossaryheader}{%
\bfseries Acronym & \bfseries Description \\[\spacing]\endhead%
}%
如果要改变水平间距,则需要重新定义样式调用方式longtable
:
% put the glossary in a longtable environment:
\def\acrowidth{1cm}% This is the spacing
\renewenvironment{theglossary}%
{\begin{longtable}{p{\acrowidth}p{\glsdescwidth}}%
{\end{longtable}}%