我想要一个包含 3 列和组标题的词汇表:这是我(主要)从中获取的 mwe:\usepackage{glossaries} 包含 3 列
这对我来说非常有效。我只想添加组名(如 mwe 中所示)和组名下方的一些空格。我试过了,但看起来很糟糕。
提前致谢。
\documentclass[a4paper,10pt]{article}
\usepackage{glossaries}
\usepackage{tabu}
\newcommand*{\Agroupname}{}
\newcommand*{\Ggroupname}{Greek letters}
\newglossary[slg]{symbolslist}{syi}{syg}{List of Symbols}
\makeglossaries
\newglossaryentry{A}{%
name={$\alpha$},%
description={alpha},%
user1={K},%
type=symbolslist,sort=ga
}
\newglossaryentry{B}{%
name={AAPL},%
description={apples},%
user1={box},%
type=symbolslist,sort=aa
}
\newglossarystyle{mystyle}{%
\renewenvironment{theglossary}%
{\begin{longtabu} to \linewidth {p{0.2\linewidth}p{0.6\linewidth}p{0.1\linewidth}p{0.1\linewidth}}}%
{\end{longtabu}}%% Set the table’s header: title row
%\renewcommand*{\glossaryheader}{%
% \bfseries Term & \bfseries Description &
% \bfseries Units & \bfseries Page List
% \\\endhead}%
% No table header:
\renewcommand*{\glossaryheader}{}%
% No heading between groups:
\renewcommand*{\glsgroupheading}[1]{\textbf{\glsgetgrouptitle{##1}}\\}%
% Main (level 0) entries displayed in a row optionally numbered:
\renewcommand*{\glossaryentryfield}[5]{%
\glstarget{##1}{##2}% Name
& ##3% Description
& \glsentryuseri{##1}% Units
& ##5% Page list
\\% end of row
}%
% Similarly for sub-entries (no sub-entry numbers):
\renewcommand*{\glossarysubentryfield}[6]{%
% ignoring first argument (sub-level)
\glstarget{##2}{##3}% Name
& ##4% Description
& \glsentryuseri{##2}% Units
& ##6% Page list
\\% end of row
}%
% Nothing between groups:
\renewcommand*{\glsgroupskip}{\indexspace}%
}
\begin{document}
\null
\glsaddall
%\printglossary
\printglossary[type={symbolslist},style={mystyle}]
\end{document}
答案1
我通过替换解决了该问题:
\renewcommand*{\glsgroupheading}[1]{\textbf{\glsgetgrouptitle{##1}}\\}%
和
\renewcommand*{\glsgroupheading}[1]{\textbf{\glsgetgrouptitle{##1}\bigskip}\\}%
这还会在符号列表和第一个条目(没有标题)之间添加一个空格。如果您不想这样,您可以随时创建一个新的词汇表,使用另一种没有 bigskip 的样式。
希望能帮助到你,