Bug Tracker

ID: 162 🔗 Open glossaries 4.45 Felix Kröner 2020-06-14 11:19:55 Using \glspl on acronym while \glsnoexpandfields is active produces wrong output

Report

In the documentation it states that if one has problems with commands in acronyms one should use the \glsnoexpandfields option.

It solved my problem of using siunitx commands in acronyms but produces an unfortunate side-effect.

Acronym plural usages are not displayed correctly anymore. Instead of the actual acronym being displayed the last defined acronym is displayed instead.

I made a minimal example to reproduce this bug:

\documentclass{scrbook}

\usepackage{glossaries}
\glsnoexpandfields

\newacronym{right}{RIGHT}{right acronym}
\newacronym{wrong}{WRONG}{wrong acronym}

\begin{document}

\glspl{right}. This is \glspl{right}.

\end{document}

It will display the WRONG acronym in the PDF instead of the RIGHT one.

MWE

\documentclass{scrbook}

\usepackage{glossaries}
\glsnoexpandfields

\newacronym{right}{RIGHT}{right acronym}
\newacronym{wrong}{WRONG}{wrong acronym}

\begin{document}

\glspl{right}. This is \glspl{right}.

\end{document}

Evaluation

It seems that the original acronym mechanism (which is currently in effect by default) conflicts with \glsnoexpandfields. As a workaround, I recommend switching to the newer acronym mechanism with \setacronymstyle. For example:
\documentclass{scrbook}

\usepackage{glossaries}
\glsnoexpandfields

\setacronymstyle{long-short}

\newacronym{right}{RIGHT}{right acronym}
\newacronym{wrong}{WRONG}{wrong acronym}

\begin{document}

\glspl{right}. This is \glspl{right}.

\end{document}


Watch This Report

If you supply your name, it will be used in the email greeting, which provides a more personal message, otherwise you'll just get a generic greeting. If you have previously supplied your name when signing up for notifications, you don't need to resupply it unless you want to change it.

If you have previously subscribed to notifications for this report, you can unsubscribe by clicking on the "Stop Notification" button.

The "Confirm Bug ID" field helps to protect against spambots. Please enter the bug ID (which you can find at the top of this page).

Name: (Optional.)