我有一份使用直行注解的文档,使用莱比锡包。我希望使用词汇表样式:mcolsindex
。但是,这会导致词汇表在词汇表本身中打印两次简短描述。我只想打印short-long
。
这是一个有效的例子:
\documentclass{article}
\usepackage[nomain,nonumberlist,smallcaps]{glossaries}
\usepackage{leipzig}
\usepackage{glossary-mcols}
\renewcommand{\glsnamefont}[1]{\textsc{#1}}
\newleipzig{und}{u}{undergoer} %custom leipzig acronym
\makeglossaries
\glsunsetall %used to surpress the full printing of an abbreviation in the first call.
\begin{document}
\printglossary[style=mcolindex]
leipzig uses: {\Erg} vs {\Acc}
Custom abbreviation of undergoer: {\Und}
\end{document}
如果我\setacronymstyle{short-long}
在序言中使用:它会抑制第二次印刷,但仅限于自定义莱比锡条目。(我会发布一张图片,但没有两张图片的声誉。)这显然与莱比锡包中定义的样式有关。
有人能建议一种可以消除这些问题的解决方法吗?
谢谢。
答案1
mcolsindex
您可以根据不显示符号来定义新样式:
\documentclass{article}
\usepackage[nomain,nonumberlist,smallcaps]{glossaries}
\usepackage{leipzig}
\usepackage{glossary-mcols}
\newglossarystyle{mcolindexnosym}{%
\setglossarystyle{mcolindex}%
\renewcommand*{\glossentry}[2]{%
\item\glsentryitem{##1}\glstreenamefmt{\glstarget{##1}{\glossentryname{##1}}}%
\glstreepredesc \glossentrydesc{##1}\glspostdescription\space
##2%
}%
}
\renewcommand{\glsnamefont}[1]{\textsc{#1}}
\newleipzig{und}{u}{undergoer} %custom leipzig acronym
\makeglossaries
\glsunsetall %used to surpress the full printing of an abbreviation in the first call.
\begin{document}
\printglossary[style=mcolindexnosym]
leipzig uses: {\Erg} vs {\Acc}
Custom abbreviation of undergoer: {\Und}
\end{document}
请注意,此定义使用了来自 v4.26 的命令glossaries
。对于早期版本,只需将其替换\glstreepredesc
为\space
。
答案2
我将为 leipzig 2.0 添加一个答案(刚刚添加到 CTAN,2017-06-16)。
包中包含了多列词汇表样式。它基于mcolalttree
词汇表包的样式,而不是mcolindex
。设置缩写词汇表样式的最简单方法是使用包选项,如本 MWE 中所示。
\documentclass{article}
\usepackage[mcolblock]{leipzig} % simplified package inclusion in abstract!
\makeglossaries
\newleipzig{und}{u}{undergoer} %custom leipzig acronym
\begin{document}
\printglosses % or \printglossaries, to print all glossaries
leipzig uses: {\Erg} vs {\Acc}
Custom abbreviation of undergoer: {\Und}
\end{document}
输出如下:
当然,如果您愿意,您仍然可以定义自己的风格,而不是使用 leipzig 预定义的块风格。
答案3
问题与 Leipzig 包无关,也与 mcols 无关;而是样式“index”的一部分。Index 在词汇表中显示三个条目,缩写、符号和详细描述。对于这些条目,缩写和符号是相同的。需要做的是采取某种方式来抑制符号的出现。
一个解决方案是编辑“索引”样式表,该样式表位于“词汇表”包中的“词汇表树.sty”中。只需从索引环境中删除对符号的引用,即注释掉第 58 行。
这已经解决了问题,尽管可能还有更优雅的解决方案。