使用 leipzig 包更改 \printglossary 输出

使用 leipzig 包更改 \printglossary 输出

考虑以下 MWE -

\documentclass{article}
\usepackage{leipzig}
\makeglossaries
\renewcommand{\firstleipzigfont}[1]{\textit{\leipzigfont{#1}}}

\begin{document}
    \Pfv
    
    \printglossary
\end{document}

这为我产生了以下内容。

我希望词汇表描述显示perfectivePerfective,注释显示pfv为小写。我尝试\firstleipzigfont按照文档的说明进行更新,但输出似乎没有任何变化。这是词汇表中的错误吗?

莱比锡

答案1

您的代码存在几个问题,且可能存在一个错误leipzig(但我认为该错误不会影响您正在尝试做的事情。)

首先,使用\printglossaries(打印所有词汇表)或\printglosses(仅打印缩写列表)。这两个宏都使用预定义的(leipzig-internal)词汇表样式,可能看起来与您想要的大致相同。代码\printglossary使用加载的默认词汇表样式glossaries,即list

其次, 的默认显示leipzig是将缩写转换为小型大写字母,因此如果您使用\printglossaries或 ,就会自动发生这种情况\printglosses

第三,如果您希望将描述大写,请将其放在\leipzigdesccapitalizetrue序言的某处。

第四,更新\firstleipzigfont将改变字体在文本本身(而不是词汇表中)中第一次使用时的外观。但这似乎不能正常工作。(请参阅下面的代码,我尝试将第一次使用更改为斜体,但它没有改变。)我必须研究一下。

不过,听起来你只是想控制词汇表的显示方式,对吧?试试下面的代码,如果有帮助的话请告诉我:

\documentclass{article}
\usepackage[block]{leipzig} % use [block] to get block style
\makeglossaries

\renewcommand{\firstleipzigfont}[1]{\textit{#1}}% <-- should change first usage in text to italics, but doesn't; actual bug
\leipzigdesccapitalizetrue 

\begin{document}
    First: {\Pfv}. % should be italics; isn't
    After first: {\Pfv}.
    
    \printglossaries 
    % or \printglosses, 
    % or  \printglossary[style=block], 
    % but not \printglossary by itself, unless you want to define your own style
\end{document}

相关内容