-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
Description
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:
Lines 541 to 551 in 1bdcad0
| \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} |