使用词汇表包超越复数形式

使用词汇表包超越复数形式

假设我有以下.tex文件:

\documentclass{article}

\usepackage[nonumberlist]{glossaries}

\makeglossary

\newglossaryentry{snore}
{
  name={snore},
  description={to make an unpleasant noise while sleeping soundly}
}


\begin{document}

  I don't \gls{snore} when I'm sleeping.
  \printglossary

\end{document}

这编译得很好,我得到了想要的结果。但是,我还想使用\gls动词“打鼾”的其他形式。例如,“我打鼾”、“我在打鼾”、“他打鼾”。

我知道有一个\glspl命令可以自动生成复数形式。但在这种情况下这还不够。

有没有办法利用该glossaries包来实现这一点?还是我应该寻找更复杂的库?

答案1

词汇表包有一个优秀的常问问题

我的术语有多种复数形式,我该如何处理?

使用复数键来输入您最有可能使用的复数术语,并使用其中一个用户键来输入其他复数。例如:

\newglossaryentry{cow}{name=cow,   description={a fully grown female
   of any bovine animal (plural cows, archaic plural kine)},  
   user1={kine}}

\let\glsaltpl\glsuseri 

现在,您可以使用\glspl表示第一个复数, \glsaltpl使用 表示第二个复数。有六个用户键,因此此方法也可用于其他语法结构。从 4.0 版开始,您还可以通过 定义自己的键\glsaddkey。有关更多详细信息,请参阅用户手册中的“附加键”部分。

如何为条目定义不同的语法部分?

我的术语有多种复数形式,我该如何处理?您可以使用其中一个用户密钥(例如 user1),也可以定义自己的密钥。但是,这会导致大量额外的密钥。您可能会发现使用\glsdisp或 更简单\glslink。例如,使用以下定义:

\newglossaryentry{run}{name=run,description={...}} 

然后你可以这样做:

I \glsdisp{run}{ran} to the shops. They are \glsdisp{ran}{running} to
catch the bus.

(我认为第二个\glsdisp有错别字,应该是glsdisp{run}{running}。)

答案2

这是一种可能性。

A

\documentclass{article}
\usepackage[nonumberlist]{glossaries}

\makeglossary

\newglossaryentry{snore}
{   name={snore},
    description={\emph{Verb} To make an unpleasant noise while sleeping soundly}
}

\newglossaryentry{snored}
{   name={snored},
    description={Past Tense of \textbf{\gls{snore}}}
}

\newglossaryentry{snoring}
{   name={snoring},
    description={Present Continuous Tense of \textbf{\gls{snore}}}
}

\newglossaryentry{snores}
{   name={snores},
    description={Simple Tense of \textbf{\gls{snore}}}
}


\begin{document}
    
    I don't \gls{snore} when I'm sleeping.
    
    I \gls{snored}.
    
    I'm \gls{snoring}.
    
    He \gls{snores}.    
    
    \printglossary
    
\end{document}

相关内容