我正在创建一个文档,其中我想包含一个术语表、一个首字母缩略词列表和一个符号列表。一些词汇表条目结合了多个条目,例如 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}