When option label is used, an extra pair of braces is added to \cs{the\@enumctr}, which influences \@currentlabel. This may break macros aiming to retrieve value from a label, for example the \gerrefnumber from refcount package (see this TeX-SX question as an example).
Is this pair of braces a must?
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\makeatletter
\def\test{\meaning\@currentlabel}
\makeatother
\begin{enumerate}
\item text \test
% this defines \@currentlabel to "1"
\end{enumerate}
\begin{enumerate}[label=\arabic*., ref=\arabic*]
\item text \test
% this defines \@currentlabel to "{1}"
\end{enumerate}
\end{document}
Related source code, see line 548:
|
\def\enit@reflabel#1#2{% |
|
\ifnum\enit@depth=\@ne\else % no level 0 |
|
\advance\enit@depth\@ne |
|
\@namedef{p@\@enumctr}{}% Don't accumulate labels |
|
\advance\enit@depth\m@ne |
|
\fi |
|
\ifcase#2% |
|
\@namedef{the\@enumctr}{{#1}}% |
|
\else |
|
\enit@normlabel{\csname the\@enumctr\endcsname}{#1}% |
|
\fi} |
When option
labelis used, an extra pair of braces is added to\cs{the\@enumctr}, which influences\@currentlabel. This may break macros aiming to retrieve value from a label, for example the\gerrefnumberfromrefcountpackage (see this TeX-SX question as an example).Is this pair of braces a must?
Related source code, see line 548:
enumitem/enumitem.sty
Lines 541 to 551 in 1bdcad0