具有更多层次类别的词汇表

具有更多层次类别的词汇表

我在工作中使用了很多经典词汇表:主要词汇表、首字母缩略词、缩写……我还使用更复杂的词汇表进行语言研究,这些词汇表具有层次结构类别。我知道如何构建带有子条目的词汇表,但不知道如何构建带有子子条目的词汇表。我想学习如何构建:条目=子节,子条目=子子节,子子条目=词汇表条目和描述。

这是我的代码:

% !TEX encoding = UTF-8 Unicode 
% !TEX TS-program = arara
\documentclass{scrbook} 
\usepackage[xindy={language=french, codepage=utf8},section]{glossaries}

\newglossary*{his}{History}
\newglossary*{est}{Esthetic}
\makeglossaries

\newglossarystyle{subgroup}{%
\renewenvironment{theglossary}{\tablehead{}\begin{description}}{\end{description}\tabletail{}}%
\renewcommand{\glossaryheader}{}%
\renewcommand*{\glsgroupskip}{}%
\renewcommand*{\glossentry}[2]{\subsection*{\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}}}}%
\renewcommand{\subglossentry}[3]{\item[\glssubentryitem{##2}\glstarget{##2}{\glossentryname{##2}}] \space\glossentrydesc{##2}\glspostdescription\space ##3}}

% \newglossarystyle{subsubgroup}{% yours ideas, thanks}

\newglossaryentry{niveau1}{type=est,name=niveau1,description={\nopostdesc}}
\newglossaryentry{niveau2}{type=est,name=niveau2,parent=niveau1,description={\nopostdesc}}
\newglossaryentry{glossaire}{type=est,name=glossaire,parent=niveau2,description={C'est un glossaire et un bon}}

\newglossaryentry{level1}{type=his,name=level1,description={\nopostdesc}}
\newglossaryentry{glossary}{type=his,name=glossary,parent=level1,description={This is a glossary \&  a good one}}

\begin{document}
\gls{glossary} \gls{glossaire}
\printglossary[type=est,style=subgroup]% to test with the style=subsubgroup
\printglossary[type=his,style=subgroup]
\tableofcontents
\end{document}
% arara: xelatex
% arara: makeglossaries
% arara: xelatex

谢谢!

答案1

表 15.1用户手册中glossaries显示了哪些预定义样式支持分层条目。您需要找到一个在最大级别列中至少有 2 个或 —(无限制)的样式。

glossaries预定义样式库glossary-tree显示所有可用样式的示例。和包提供的样式glossary-mcols最适合分层条目。我建议使用treemcoltree样式,具体取决于您是否要使用multicol包。

如果您想定义自己的自定义样式,则 的第一个参数\subglossentry是一个数字,表示子级别。许多预定义样式会忽略此值,从而导致词汇表扁平或最多只有一个子级别。树样式使用此参数来确定缩进。

例子:

\documentclass{scrbook}
\usepackage[xindy={language=french, codepage=utf8},section]{glossaries}

\newglossary*{his}{History}
\newglossary*{est}{Esthetic}
\makeglossaries

\newglossaryentry{niveau1}{type=est,name=niveau1,description={\nopostdesc}}
\newglossaryentry{niveau2}{type=est,name=niveau2,parent=niveau1,description={\nopostdesc}}
\newglossaryentry{glossaire}{type=est,name=glossaire,parent=niveau2,description={C'est un glossaire et un bon}}

\newglossaryentry{level1}{type=his,name=level1,description={\nopostdesc}}
\newglossaryentry{glossary}{type=his,name=glossary,parent=level1,description={This is a glossary \&  a good one}}

\begin{document}
\gls{glossary} \gls{glossaire}
\printglossary[type=est,style=tree]% to test with the style=subsubgroup
\printglossary[type=his,style=tree]
\tableofcontents
\end{document}

生成:

文件图像

相关内容