Gallery: Units (glossaries-extra.sty)
This example is copied from my article Glossaries and lists. It uses the glossaries-extra package to take advantage of the post-link hook.
The entry representing a unit has the unit name (ohm) in the
name
field and the symbolic representation
(\si{\ohm}
) in the symbol
field.
(The command \si
is provided by the
siunitx package,
which needs to be loaded.)
\newglossaryentry{ohm}{name=ohm,symbol={\si{\ohm}}, category=unit,% category label description=unit of electrical resistance}
The category unit
is used to identify the entry as representing a unit.
(The category
field defaults to general
if
not set in \newglossaryentry
.) This allows
customisation of the link text (the text produced by commands
like \gls
) so that the unit (provided in the
symbol
field) can be automatically appended in
parentheses on first use.
\newcommand*{\glsxtrpostlinkunit}{% \ifdefempty\glscustomtext{\glsxtrpostlinkAddSymbolOnFirstUse}{}}
The symbol on its own can be referenced with \glssymbol
(which internally sets \glscustomtext
).
The default glossary style is list
which doesn’t
display the symbol field, so I’ve used the index
style
instead.
An alternative version that only uses the base glossaries package can be found in Units (glossaries.sty).
The initial comment lines below are arara directives. You can remove them if you don’t use arara.
% arara: pdflatex % arara: makeglossaries % arara: pdflatex \documentclass{article} \usepackage{siunitx} \usepackage{glossaries-extra} \makeglossaries \newcommand*{\glsxtrpostlinkunit}{% \ifdefempty\glscustomtext{\glsxtrpostlinkAddSymbolOnFirstUse}{}} \newglossaryentry{resistor}{name={resistor}, description={component that implements electrical resistance}} \newglossaryentry{ohm}{name=ohm,symbol={\si{\ohm}}, category=unit,% category label description=unit of electrical resistance} \begin{document} A \gls{resistor} is an electrical component. The \gls{ohm} is a unit of resistance. Symbol: \glssymbol{ohm} and let's mention \gls{ohm} again. \printglossary[style=index] \end{document}
If you don’t use arara, you need to run the following commands:
pdflatex sample-units makeglossaries sample-units pdflatex sample-units
(See Incorporating makeglossaries or makeglossaries-lite or bib2gls into the document build.)
Download: PDF (33.78K), source code (700B).