通常,我通过另一个词汇表条目定义一些词汇表条目字段(如name
、、text
字段symbol
),如下所示(该compressor_motor
条目与该条目一起定义compressor
):
\newglossaryentry{compressor_motor}
{
name={\glsname{compressor} Motor},
sort={compressor motor},
text={\gls{compressor} motor},
description={Motor of the \glsname{compressor}},
symbol={\glssymbol{compressor}m},
parent=compressor
}
我这样做是因为我有很多条目依赖于其他条目,如果我决定将单词“compressor”更改为“compresseur”(例如法语),我不想更改很多内容。我使用 LaTeX 的原因之一正是因为我不必手动进行这种修改...
然而,这种“交叉定义”条目的方式使得大写的\gls
like 命令(如\Gls
,\GLS
等)无法使用(我已经为此提出了一个问题这里)。
glossaries
这个问题让我怀疑我定义条目的方式是否正确或是否符合包的设计方式......
那么,我在词汇表条目之间进行“交叉引用”的方式正确吗?
如果不是,那么正确的方法是什么,我应该使用另一种格式来声明条目(例如.bib
和bib2gls
引擎)还是其他什么?
为了避免误解,大写问题已在上面提到的问题中得到解决,我不想在这里重复。我的问题是关于“正确的做法”,或者至少是关于定义词汇表条目的更好的做法,如果人们希望某些条目依赖于其他词汇表条目。我不想要一个基于意见的答案,但是我只是想知道我是否错过了一种我不知道但对其他人来说很明显的技术......
如果需要的话,这里是 MWE:
\documentclass{article}
\usepackage[style=tree]{glossaries-extra}
\usepackage{verbatim}
\makenoidxglossaries
\newglossaryentry{subsytem}{name={Subssytems},description={\glspar},sort={1}}
\newglossaryentry{compressor}
{
name={Compressor},
text={compressor},
sort={compressor},
description={Air Compressor},
symbol={cp},
parent=subsytem
}
\newglossaryentry{ejector}
{
name={Ejector},
text={ejector},
sort={Ejector},
description={Air Ejector},
symbol={ej},
parent=subsytem
}
\newglossaryentry{compressor_motor}
{
name={\glsname{compressor} Motor},
sort={compressor motor},
text={\gls{compressor} motor},
description={Motor of the \glsname{compressor}},
symbol={\glssymbol{compressor}m},
parent=compressor
}
\newglossaryentry{compressor_ejector}
{
name={\glsname{compressor}~and \glsname{ejector}},
sort={compressor and ejector},
text={\gls{compressor}~and \gls{ejector}},
description={Air \glsname{compressor} and \glsname{ejector}},
symbol={\glssymbol{compressor}\glssymbol{ejector}},
parent=subsytem
}
\begin{document}
\gls{compressor};
\gls{compressor_motor};
\gls{compressor_ejector};
\bigskip
\printnoidxglossary
\end{document}