Nicht verwendetes \setbox0 in beamerbasedecode.sty

Nicht verwendetes \setbox0 in beamerbasedecode.sty

In der Quelldatei beamerbasedecode.stydes beamerPakets befinden sich die folgenden Zeilen:

\def\beamer@stoptexts{| stop:0| }
{
   \catcode`\|=13
   \catcode`\:=13
   \catcode`\,=13
   \catcode`\.=13
   \catcode`\+=13
   \catcode`\-=13
   \catcode`\(=13
   \catcode`\)=13
   \catcode`\ =13
\gdef\beamer@masterdecode#1{% must be called within a group
\ifnum\catcode`\|=13\edef|{\string|}\fi%
\ifnum\catcode`\:=13\edef:{\string:}\fi%
\ifnum\catcode`\,=13\edef,{\string,}\fi%
\ifnum\catcode`\.=13\edef.{\string.}\fi%
\ifnum\catcode`\+=13\edef+{\string+}\fi%
\ifnum\catcode`\-=13\edef-{\string-}\fi%
\ifnum\catcode`\(=13\edef({\string(}\fi%
\ifnum\catcode`\)=13\edef){\string)}\fi%
\ifnum\catcode`\ =13\edef {\string }\fi%
\edef\beamer@@@temp{#1\beamer@stoptexts}%
\beamer@localanotherslidefalse%
\setbox0=\hbox{%
\expandafter\beamer@decode\beamer@@@temp%
\ifbeamer@localanotherslide\global\beamer@localanotherslidetrue\fi}%
}%
}

Wo \beamer@decodeist das eigentliche Dekodierungsmakro? Aber ich finde nicht, wo \box0in der Quelldatei das verwendet wird. Warum müssen wir das \beamer@decodein das einfügen \box0?

Antwort1

Die Box wird ganz bewusst nie verwendet. Die Idee dahinter ist, dass sie \beamer@@@tempMaterial enthalten könnte, das gesetzt wird. Wird dies innerhalb einer Box durchgeführt, verursacht alles, was als gesetztes Material endet, kein Problem im Dokument, da die Box weggeworfen wird. Alles, was nach diesem Code benötigt wird, sind die Ergebnisse der Dekodierung, die global festgelegt sind und daher verfügbar sind.

verwandte Informationen