Umgebung für Boxregister - Fast am Ziel ?
Der folgende Code stellt eine Möglichkeit dar, neue (weil durch eine Umgebung gruppierte) Boxregister durch ihre Nummern, nicht durch \newsavebox etc anzusprechen. Vermutlich wiedermal "holprig" formuliert, aber immerhin. Besonders \setcounter{myregisterstart}{20} und \setcounter{myregisterstop}{23} wären durch Parameterübergabe besser zu lösen.
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\newcounter{myregisterstart} %
\newcounter{myregisterstop} %
\newenvironment{myregister} %
%BEGIN Bereich %
{%
\setcounter{myregisterstart}{20}
\setcounter{myregisterstop}{23}
\loop\ifnum\themyregisterstart<\themyregisterstop \relax%
\expandafter\setbox\themyregisterstart=\hbox{box\themyregisterstart \
Innerhalb der Umgebung angefordert }%
\stepcounter{myregisterstart} \relax \repeat %
}%
{%END Bereich
}%
\begin{document}
\section{Vor der Umgebung}
\copy20
\copy21
\copy22
\copy23
\copy24
\copy25
\copy26
\begin{myregister}
\section{Erster Aufruf der Umgebung myregister} %
\setbox20=\hbox{box20 Innerhalb der Umgebung verändert}
\copy20
\copy21
\copy22
\end{myregister}
\section{Nach der Umgebung}
Abruf von box20 bis box22
\copy20
\copy21
\copy22
\begin{myregister}
\section{Zweiter Aufruf der Umgebung myregister} %
\setcounter{myregisterstart}{20}
\setcounter{myregisterstop}{23}
\loop\ifnum\themyregisterstart<\themyregisterstop \relax
\expandafter\setbox\themyregisterstart=\hbox{box\themyregisterstart \ Innerhalb der
Umgebung verändert} \stepcounter{myregisterstart} \relax\repeat
\copy20
\copy21
\copy22
\end{myregister}
\section{Nach der veränderten Umgebung}
Abruf von box20 bis box22
\copy20
\copy21
\copy22
\end{document}