summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/beamer/beamerbasemodes.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:52:02 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:52:02 +0000
commitb1daf7130666bef14cdb98d88b3c107da38becec (patch)
tree08f591f90145354f39d714eadee16c99557b7109 /Master/texmf-dist/tex/latex/beamer/beamerbasemodes.sty
parent47773c8fa98e5885b1d789b205b39fb924707e6e (diff)
beamer
git-svn-id: svn://tug.org/texlive/trunk@699 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/beamer/beamerbasemodes.sty')
-rw-r--r--Master/texmf-dist/tex/latex/beamer/beamerbasemodes.sty292
1 files changed, 292 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/beamer/beamerbasemodes.sty b/Master/texmf-dist/tex/latex/beamer/beamerbasemodes.sty
new file mode 100644
index 00000000000..7cc2507fe3c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/beamer/beamerbasemodes.sty
@@ -0,0 +1,292 @@
+\ProvidesPackageRCS $Header: /cvsroot/latex-beamer/latex-beamer/base/beamerbasemodes.sty,v 1.21 2004/12/09 22:31:07 tantau Exp $
+
+% Copyright 2003 by Till Tantau <tantau@users.sourceforge.net>.
+%
+% This program can be redistributed and/or modified under the terms
+% of the GNU Public License, version 2.
+
+
+%
+% Global Declarations used by beamer in all modes
+%
+\newbox\beamer@tempbox
+\newif\ifbeamer@blocks
+\newif\ifbeamer@ams
+\newif\ifbeamer@countsect
+\beamer@blockstrue
+\beamer@amstrue
+\beamer@countsectfalse
+\newcount\beamer@tempcount
+\newcounter{beamerpauses}
+
+
+\RequirePackage{beamerbasedecode}
+
+%
+% Presentation/article stuff
+%
+% Copyright notice: Part of the following code is taken from the
+% package comment.sty by Victor Eijkhout
+%
+
+
+%
+% Versioning stuff
+%
+\def\beamer@endinputifotherversion#1{%
+ \let\beamer@next=\relax%
+ \@tempdima=\beamer@version pt\relax%
+ \ifdim\@tempdima<#1%
+ \let\beamer@next=\endinput%
+ \else%
+ \ifdim\@tempdima>#1%
+ \let\beamer@next=\endinput%
+ \fi%
+ \fi%
+ \beamer@next}
+
+%
+% Comment stuff. This will also be needed, if we switch to another
+% class, so define it here already.
+%
+\newif\ifbeamer@inpresentation
+\beamer@inpresentationtrue
+
+\def\beamer@makeinnocent#1{\catcode`#1=12 }
+\def\beamer@startcomment{%
+ \begingroup%
+ \let\do\beamer@makeinnocent\dospecials%
+ \beamer@makeinnocent\^^L% and whatever other special cases
+ \endlinechar`\^^M \catcode`\^^M=12 \beamer@processline}
+
+{\catcode`\^^M=12\endlinechar=-1%
+ \long\gdef\beamer@processline#1^^M{%
+ \def\beamer@test{#1}%
+ \ifx\beamer@test\beamer@stopmodestar%
+ \let\next=\beamer@modeoutsideframe%
+ \else%
+ \ifx\beamer@test\beamer@stopmode%
+ \let\next=\mode%
+ \else%
+ \ifx\beamer@test\beamer@stoparticle%
+ \let\next=\article%
+ \else%
+ \ifx\beamer@test\beamer@stoppresentation%
+ \let\next=\presentation%
+ \else%
+ \ifx\beamer@test\beamer@stopcommon%
+ \let\next=\common%
+ \else%
+ \ifx\beamer@test\beamer@stopdocument%
+ \let\next=\beamer@enddocument%
+ \else
+ \ifx\beamer@test\beamer@begindocument%
+ \let\next=\beamer@startdocument%
+ \else
+ \let\next=\beamer@processline%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \next}
+}
+
+\def\beamer@enddocument{\beamer@closer\end{document}}
+\def\beamer@startdocument{\beamer@closer\begin{document}\def\beamer@closer{}\common}
+\def\beamer@closer{}
+{\escapechar=-1\relax%
+ \xdef\beamer@stopmode{\string\\mode}
+ \xdef\beamer@stopmodestar{\string\\mode*}
+ \xdef\beamer@stoparticle{\string\\article}
+ \xdef\beamer@stoppresentation{\string\\presentation}
+ \xdef\beamer@stopcommon{\string\\common}
+ \xdef\beamer@stopdocument{\string\\end\string\{document\string\}}
+ \xdef\beamer@begindocument{\string\\begin\string\{document\string\}}
+}
+\newbox\beamer@commentbox
+\def\beamer@startcommentinframe{%
+ \begingroup%
+ \edef\beamer@closer{\egroup\beamer@closer}%
+ \setbox\beamer@commentbox=\vbox\bgroup\leavevmode}
+
+\def\beamer@outsidemode{\afterassignment\beamer@treat\let\beamer@nexttoken=}
+\def\beamer@treat{%
+ \ifx\beamer@nexttoken\frame\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\lecture\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\note\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\appendix\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\againframe\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\section\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\subsection\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\subsubsection\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\part\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\article\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\mode\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\common\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\presentation\let\next=\beamer@stopoutsidemode\fi%
+ \ifx\beamer@nexttoken\begin\let\next=\beamer@checkbeginframe\fi%
+ \ifx\beamer@nexttoken\end\let\next=\beamer@checkenddoc\fi%
+ \next}
+
+\def\beamer@stopoutsidemode{\beamer@nexttoken}
+\def\beamer@checkenddoc#1{%
+ \def\beamer@temp{#1}%
+ \ifx\beamer@temp\beamer@enddoc%
+ \let\next=\beamer@enddocument%
+ \else%
+ \let\next=\beamer@outsidemode%
+ \fi%
+ \next}
+\def\beamer@enddoc{document}
+
+\def\beamer@checkbeginframe#1{%
+ \def\beamer@temp{#1}%
+ \ifx\beamer@temp\beamer@frametext%
+ \let\next=\beamer@beginframeenv%
+ \else%
+ \let\next=\beamer@outsidemode%
+ \fi%
+ \next}
+\def\beamer@beginframeenv{\begin{frame}}
+
+\def\beamer@modeoutsideframe{%
+ \beamer@closer%
+ \gdef\beamer@mode{\beamer@modeoutsideframe}%
+ \ifbeamer@inpresentation%
+ \let\next=\beamer@outsidemode%
+ \gdef\beamer@closer{}%
+ \else%
+ \let\next=\relax%
+ \gdef\beamer@closer{}%
+ \fi%
+ \next}
+
+
+%obsolete, do note use:
+\def\presentation{\mode<presentation>}
+\def\article{\mode<article>}
+\def\common{\mode<all>}
+
+%
+% Mode command
+%
+\def\mode{\@ifstar\beamer@modeoutsideframe\beamer@@@mode}
+\def\beamer@@@mode<#1>{\beamer@closer\@ifnextchar\bgroup{\beamer@modeinline<#1>}{\beamer@switchmode<#1>}}
+\long\def\beamer@modeinline<#1>#2{%
+ \gdef\beamer@closer{}%
+ \def\beamer@doifnotinframe{\@gobble}\def\beamer@doifinframe{\@firstofone}%
+ {\beamer@saveanother\beamer@slideinframe=1\relax%
+ \beamer@masterdecode{#1}%
+ \beamer@restoreanother}\beamer@donow{#2}%
+ \beamer@mode\par}
+\def\beamer@switchmode<#1>{%
+ \gdef\beamer@mode{\beamer@switchmode<#1>}%
+ \def\beamer@doifnotinframe{%
+ \let\next=\beamer@startcomment%
+ \gdef\beamer@closer{\endgroup}%
+ }%
+ \def\beamer@doifinframe{%
+ \let\next=\relax%
+ \gdef\beamer@closer{}%
+ }%
+ {\beamer@saveanother\beamer@slideinframe=1\relax%
+ \beamer@masterdecode{#1}%
+ \beamer@restoreanother}\beamer@donow%
+ \next}
+
+\mode<all>
+
+\newcount\beamer@modecount
+\def\beamer@pushmode#1{%
+ \expandafter\gdef\csname beamer@savedmode@\the\beamer@modecount\endcsname{#1}%
+ \global\advance\beamer@modecount by1\relax}
+\def\beamer@popmode{
+ \global\advance\beamer@modecount by-1\relax%
+ \csname beamer@savedmode@\the\beamer@modecount\endcsname}
+
+\def\beamer@savemode{\expandafter\beamer@pushmode\expandafter{\beamer@mode}}
+\def\beamer@resumemode{\beamer@popmode}
+
+
+
+%
+% Stuff needed in both article and presentation version
+%
+\def\jobnamebeamerversion{}%
+
+\def\includeslide{\@ifnextchar[{\@includeslide}{\@includeslide[]}}
+\def\@includeslide[#1]#2{%
+ \ifx\jobnamebeamerversion\@empty%
+ \ClassError{beamer}{Invoke macro "setjobnamebeamerversion" first}{}%
+ \else%
+ \edef\beamer@args{[#1,page=\csname beamer@slide#2\endcsname]{\jobnamebeamerversion}}
+ \expandafter\pgfimage\beamer@args%
+ \fi}
+
+\def\setjobnamebeamerversion#1{%
+ \def\jobnamebeamerversion{#1}%
+ {\makeatletter
+ \@input{\jobnamebeamerversion.snm}}
+}
+
+
+
+%
+% Check whether we should initiate transfer to another class (obsolete)
+%
+
+% Extract class name, if present
+\def\beamer@classname{}
+\def\beamer@classoptions{}
+\def\beamer@classnamename{class}
+\def\beamer@eq{=,}
+\def\beamer@findclassname#1=#2,#3!{
+ \def\beamer@temp{#1}
+ \ifx\beamer@temp\beamer@classnamename
+ \def\beamer@classname{#2}
+ \beamer@stripsign#3!
+ \fi}
+\def\beamer@stripsign#1!{%
+ \def\beamer@temp{#1}
+ \ifx\beamer@temp\beamer@eq
+ % nothing to do
+ \else
+ \beamer@@stripsign#1!
+ \fi
+}
+\def\beamer@@stripsign#1,=,!{
+ \def\beamer@classoptions{#1}
+ }
+
+\def\beamer@transfer{%
+ % Prepare...
+ \def\beamer@slide##1##2{\expandafter\gdef\csname
+ beamer@slide##1\endcsname{##2}}
+
+ \beamer@inpresentationfalse
+
+ \def\beamer@currentmode{article}
+
+ \common
+
+ \edef\beamer@classwhat{[\beamer@classoptions]{\beamer@classname}}
+ \expandafter\LoadClass\beamer@classwhat
+ \endinput
+ }
+
+\expandafter\beamer@findclassname\@classoptionslist,=,!
+\ifx\beamer@classname\@empty
+ \let\beamer@transferifnecessary=\relax
+\else
+ % Need to transfer to another class soon
+ \let\beamer@transferifnecessary=\beamer@transfer
+\fi
+\endinput
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: ../examples/beamerexample1.tex
+%%% End: