Bug Tracker 
| ID | 277🔗 |
|---|---|
| Date: | 2024-08-01 11:31:45 |
| Last update: | 2024-08-04 13:56:15 |
| Status | Closed (Not a Bug) |
| Category | glossaries-extra |
| Version | 1.53 |
| Summary | Uppercase macros not expanding with hyperref |
| Cross Ref | 271 |
Sign in to subscribe to notifications about this report.
Description
Uppercase commands for section headings (e.g.,\Glsfmtshort or \Glsfmtlong) are not fully expanded and produce invalid PDF strings:
Package hyperref Warning: Token not allowed in a PDF string (Unicode): (hyperref) removing `\glsentryshort' on input line 11. Package hyperref Warning: Token not allowed in a PDF string (Unicode): (hyperref) removing `\glsentrylong' on input line 13.The respective PDF bookmarks only show the entry label.
The not uppercased commands work as expected.
I'm not sure if this is related in any way to #271 Bug Tracker
Is there a workaround other than using \texorpdfstring in every section heading explicitly?
MWE
Download (323B)
\documentclass{article}
\usepackage{hyperref}
\usepackage{glossaries-extra}
\setabbreviationstyle{long-hyphen-short-hyphen}
\newabbreviation{label}{SHORTFORM}{long form}
\begin{document}
\section{\glsfmtshort{label}}
\section{\Glsfmtshort{label}}
\section{\glsfmtlong{label}}
\section{\Glsfmtlong{label}}
\end{document}
Evaluation
I'm sorry, I've not been able to reproduce the problem, but I notice that we have slightly different versions of some packages. Both \glsentryshort and \glsentrylong are expandable so they shouldn't cause that warning. \Glsfmtshort{label} is effectively doing:
\texorpdfstring
{\Glsxtrtitleshort{label}}
{\MFUsentencecase{\glsentryshort {label}}}
where \MFUsentencecase is also expandable and defined to simply use \text_titlecase_first:n. I think there have been some changes to the LaTeX3 code that may have affected expansion of the case-changing commands.
Adding \listfiles to the start of your mwe I get:
*File List*
article.cls 2024/02/08 v1.4n Standard LaTeX document class
size10.clo 2024/02/08 v1.4n Standard LaTeX file (size option)
hyperref.sty 2024-07-10 v7.01j Hypertext links for LaTeX
iftex.sty 2022/02/03 v1.0f TeX engine tests
keyval.sty 2022/05/29 v1.15 key=value parser (DPC)
kvsetkeys.sty 2022-10-05 v1.19 Key value parser (HO)
kvdefinekeys.sty 2019-12-19 v1.6 Define keys (HO)
pdfescape.sty 2019/12/09 v1.15 Implements pdfTeX's escape features (HO)
ltxcmds.sty 2023-12-04 v1.26 LaTeX kernel commands for general use (HO)
pdftexcmds.sty 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO)
infwarerr.sty 2019/12/03 v1.5 Providing info/warning/error messages (HO)
hycolor.sty 2020-01-27 v1.10 Color options for hyperref/bookmark (HO)
nameref.sty 2023-11-26 v2.56 Cross-referencing by name of section
refcount.sty 2019/12/15 v3.6 Data extraction from label references (HO)
gettitlestring.sty 2019/12/15 v1.6 Cleanup title references (HO)
kvoptions.sty 2022-06-15 v3.15 Key value format for package options (HO)
etoolbox.sty 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW)
stringenc.sty 2019/11/29 v1.12 Convert strings between diff. encodings (HO)
pd1enc.def 2024-07-10 v7.01j Hyperref: PDFDocEncoding definition (HO)
intcalc.sty 2019/12/15 v1.3 Expandable calculations with integers (HO)
puenc.def 2024-07-10 v7.01j Hyperref: PDF Unicode definition (HO)
url.sty 2013/09/16 ver 3.4 Verb mode for urls, etc.
bitset.sty 2019/12/09 v1.3 Handle bit-vector datatype (HO)
bigintcalc.sty 2019/12/15 v1.5 Expandable calculations on big integers (HO)
atbegshi-ltx.sty 2021/01/10 v1.0c Emulation of the original atbegshi
package with kernel methods
hpdftex.def 2024-07-10 v7.01j Hyperref driver for pdfTeX
atveryend-ltx.sty 2020/08/19 v1.0a Emulation of the original atveryend packa
ge
with kernel methods
rerunfilecheck.sty 2022-07-10 v1.10 Rerun checks for auxiliary files (HO)
uniquecounter.sty 2019/12/15 v1.4 Provide unlimited unique counter (HO)
glossaries-extra.sty 2023/09/29 v1.53 (NLCT)
xkeyval.sty 2022/06/16 v2.9 package option processing (HA)
xkeyval.tex 2014/12/03 v2.7a key=value parser (HA)
glossaries.sty 2024/04/03 v4.54 (NLCT)
ifthen.sty 2024/03/16 v1.1e Standard LaTeX ifthen package (DPC)
mfirstuc.sty 2022/10/14 v2.08 (NLCT)
xfor.sty 2009/02/05 v1.05 (NLCT)
datatool-base.sty 2019/09/27 v2.32 (NLCT)
amsmath.sty 2024/05/23 v2.17q AMS math features
amstext.sty 2021/08/26 v2.01 AMS text
amsgen.sty 1999/11/30 v2.0 generic functions
amsbsy.sty 1999/11/29 v1.2d Bold Symbols
amsopn.sty 2022/04/08 v2.04 operator names
substr.sty 2009/10/20 v1.2 Handle substrings
datatool-fp.sty 2019/09/27 v2.32 (NLCT)
fp.sty 1995/04/02
defpattern.sty 1994/10/12
fp-basic.sty 1996/05/13
fp-addons.sty 1995/03/15
fp-snap.sty 1995/04/05
fp-exp.sty 1995/04/03
fp-trigo.sty 1995/04/14
fp-pas.sty 1994/08/29
fp-random.sty 1995/02/23
fp-eqn.sty 1995/04/03
fp-upn.sty 1996/10/21
fp-eval.sty 1995/04/03
glossary-hypernav.sty 2024/04/03 v4.54 (NLCT)
glossary-list.sty 2024/04/03 v4.54 (NLCT)
glossary-long.sty 2024/04/03 v4.54 (NLCT)
longtable.sty 2024-04-26 v4.20 Multi-page Table package (DPC)
glossary-super.sty 2024/04/03 v4.54 (NLCT)
supertabular.sty 2024/07/20 v4.2c the supertabular environment
glossary-tree.sty 2024/04/03 v4.54 (NLCT)
glossaries-extra-abbrstyles.def 2023/06/28 v1.52 (NLCT)
l3backend-pdftex.def 2024-05-08 L3 backend support: PDF output (pdfTeX)Comments
1 comment.
Replying to Comment #144:
Add Comment
Page permalink: https://www.dickimaw-books.com/bugtracker.php?key=277

Date: 2024-08-04 09:29:05
Thank you for the fast response. You are correct that this is indeed an issue of version incompatibilities (I falsely assumed that I had the latest version). With the newest version, everything works as expected. Sorry for any inconvenience, and thanks for your support!
Version diff: