Beamerbasedecode.sty의 \ifbeamer@anotherslide 및 \ifbeamer@localanotherslide

Beamerbasedecode.sty의 \ifbeamer@anotherslide 및 \ifbeamer@localanotherslide

beamerbasedecode.sty클래스 의 소스 파일 시작 부분에는 beamer두 개의 스위치가 정의되어 있습니다.

\newif\ifbeamer@anotherslide
\newif\ifbeamer@localanotherslide

을 읽고 beamerbasedecode.sty다음 beamerbaseframe.sty사항에 대한 지식을 얻었습니다 \ifbeamer@anotherslide. 모든 frame환경 에서 beamer전화를 걸고 \beamer@masterdecode스위치 \beamer@masterdecode를 변경합니다 \ifbeamer@anotherslide. 사실이지만 계속 beamer해서 호출 하고 마침내 프레임의 모든 슬라이드를 생성합니다.\beamer@masterdecode

내부에는 항상 같은 값이 있는 \beamerbasedecode.sty것 같습니다 .\ifbeamer@anotherslide\ifbeamer@localanotherslide

\global\beamer@anotherslidetrue\beamer@localanotherslidetrue

유일한 차이점은 \global첫 번째 것 이전입니다. 그러나 메인 매크로에서는 \beamer@masterdecode두 번째 매크로도 전역으로 만들어집니다.

\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}%
}%

\ifbeamer@anotherslide이것은 나를 혼란스럽게 합니다. 와 의 차이점은 무엇입니까 \ifbeamer@localanotherslide? 왜 우리는 필요합니까 \ifbeamer@localanotherslide?

관련 정보