\documentclass{article}
% \usepackage{calc} % calc 必须放在前面
\usepackage{regexpatch}
\makeatletter
\NewCommandCopy{\gaddtolength}{\addtolength}
\xpatchcmd{\gaddtolength}{\advance}{\global\advance}{}{\ERROR}
\makeatother
\newlength\testlen
\begin{document}
\setlength\testlen{0pt}
\begingroup
\addtolength\testlen{10pt} % 局部设置
\endgroup
\the\testlen
\setlength\testlen{0pt}
\begingroup
\gaddtolength\testlen{10pt} % 全局设置
\endgroup
\the\testlen
\end{document}
问 \addtolength 这一命令是局部生效的,如何能使其在全局生效?