词汇表:首字母缩略词和符号条目的单一键

词汇表:首字母缩略词和符号条目的单一键

我正在创建一个文档,其中我想包含一个术语表、一个首字母缩略词列表和一个符号列表。一些词汇表条目结合了多个条目,例如 BSDF 代表“双向分布函数”,可以在词汇表中有一些定义,并以$f$方程的形式表示。

到目前为止,我整理出了这个 MWE:

\documentclass{article}

\usepackage[acronym,symbols]{glossaries}

\makeglossaries

% define entry in 'main' glossary:
\newglossaryentry{bsdf}{name={bidirectional scattering distribution function},
description={Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua}
}

% define entry in 'acronym' glossary:
\newacronym{acr:bsdf}{BSDF}{bidirectional scattering distribution function}

% define entry in 'symbols' glossary:
\newglossaryentry{sym:bsdf}{
  name={\ensuremath{f}},
  description={\acrfull{acr:bsdf}},
  type=symbols
}

\begin{document}
A sample document with a \gls{bsdf} (\acrshort{acr:bsdf}) and its symbol \gls{sym:bsdf}.

\printglossary[type=main]
\printglossary[type=acronym]
\printglossary[type=symbols]
\end{document}

我仍然对术语、缩写和符号使用不同的标签,这很不方便。实际上,除了使用单个键来打印名称、缩写和符号外,最好的方法是使用单个词汇表条目,然后我可以对其进行筛选以打印我的词汇表。

就像是:

\documentclass{article}

\usepackage[<some options>]{glossaries}

\makeglossaries

\newglossaryentry{bsdf}{name={bidirectional scattering distribution function},
description={Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua},
acronym={BSDF},
symbol={\ensuremath{f}}
}

\begin{document}
A sample document with a \gls{bsdf} (\glsacronym{bsdf}) and its symbol \glssymbol{bsdf}.

\printglossary[type=terms]
\printglossary[type=acronyms]
\printglossary[type=symbols]
\end{document}

有办法实现这个吗?

答案1

可能您只能定义命令,一个用于创建三个词汇表条目,另外两个用于显示不带前缀的命令?

\documentclass{article}

\usepackage[acronym,symbols]{glossaries}

\makeglossaries

% create 3 entries at once
\newcommand{\myglossaryentry}[5]{%
\newglossaryentry{#1}{name={#3},description={#4}}%
\newacronym{acr:#1}{#2}{#3}%
\newglossaryentry{sym:#1}{name={#5}, description={#3}, type=symbols}%
}

% short commands
\newcommand{\glsacronym}[1]{\acrshort{acr:#1}}
\newcommand{\glssym}[1]{\gls{sym:#1}}

\myglossaryentry{bsdf}{BSDF}{bidirectional scattering distribution function}{Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua}{\ensuremath{f}}

\begin{document}
A sample document with a \gls{bsdf} (\acrshort{acr:bsdf}) and its symbol \gls{sym:bsdf}.
A sample document with a \gls{bsdf} (\glsacronym{bsdf}) and its symbol \glssym{bsdf}.

\printglossary[type=main]
\printglossary[type=acronym]
\printglossary[type=symbols]
\end{document} 

相关内容