Dentro del archivo fuente beamerbasedecode.sty
del beamer
paquete, se encuentran las siguientes líneas:
\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}%
}%
}
¿Dónde \beamer@decode
está la verdadera macro de decodificación? Pero no encuentro dónde se \box0
usa en el archivo fuente. ¿Por qué necesitamos poner \beamer@decode
en el \box0
?
Respuesta1
La caja nunca se utiliza deliberadamente. La idea aquí es que eso \beamer@@@temp
podría contener material que se pueda componer. Realizado dentro de una caja, todo lo que sí acaba en material tipográfico no genera ningún problema en el interior del documento ya que la caja se desecha. Todo lo que se necesita después de este código son los resultados de la decodificación, que se configuran globalmente para que estén disponibles.