summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/beamer/base/beamer.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/beamer/base/beamer.cls')
-rw-r--r--macros/latex/contrib/beamer/base/beamer.cls369
1 files changed, 369 insertions, 0 deletions
diff --git a/macros/latex/contrib/beamer/base/beamer.cls b/macros/latex/contrib/beamer/base/beamer.cls
new file mode 100644
index 0000000000..fd632ab15c
--- /dev/null
+++ b/macros/latex/contrib/beamer/base/beamer.cls
@@ -0,0 +1,369 @@
+% Copyright 2003--2007 by Till Tantau
+% Copyright 2010 by Vedran Mileti\'c
+% Copyright 2011--2013,2015 by Vedran Mileti\'c, Joseph Wright
+% Copyright 2016 by Joseph Wright
+% Copyright 2017,2018 by Louis Stuart, Joseph Wright
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/licenses/LICENSE for more details.
+
+\ProvidesClass{beamer}
+ [2019/07/23 v3.56 A class for typesetting presentations]
+
+% Setup modes and check for article option
+% Also loads packages required by both beamer and beamerarticle
+\RequirePackage{beamerbasemodes}
+
+% For testing PDF versus DVI mode
+\RequirePackage{ifpdf}
+
+%
+%
+% Declarations used by beamer
+%
+%
+
+% Public
+\newdimen\headdp % Depth of the headline
+\newdimen\footheight % Height of the footline
+\newdimen\sidebarheight % Height of the sidebars
+
+% Private
+\newdimen\beamer@tempdim
+\newdimen\beamer@finalheight
+\newdimen\beamer@animht
+\newdimen\beamer@animdp
+\newdimen\beamer@animwd
+\newdimen\beamer@leftmargin
+\newdimen\beamer@rightmargin
+\newdimen\beamer@leftsidebar
+\newdimen\beamer@rightsidebar
+\newdimen\beamer@boxsize
+\newdimen\beamer@vboxoffset
+\newdimen\beamer@descdefault
+\newdimen\beamer@descriptionwidth
+
+\newskip\beamer@lastskip
+
+\newbox\beamer@areabox
+\newbox\beamer@animcurrent
+\newbox\beamer@animshowbox
+\newbox\beamer@sectionbox
+\newbox\beamer@logobox
+\newbox\beamer@linebox
+
+\newcount\beamer@sectioncount
+\newcount\beamer@subsubsectionmax
+\newcount\beamer@subsectionmax
+\newcount\beamer@sectionmax
+\newcount\beamer@totalheads
+\newcount\beamer@headcounter
+\newcount\beamer@partstartpage
+\newcount\beamer@sectionstartpage
+\newcount\beamer@subsectionstartpage
+\newcount\beamer@animationtempa
+\newcount\beamer@animationtempb
+\newcount\beamer@xpos
+\newcount\beamer@ypos
+\newcount\beamer@ypos@offset
+\newcount\beamer@showpartnumber
+\newcount\beamer@currentsubsection
+\newcount\beamer@coveringdepth
+\newcount\beamer@sectionadjust
+\newcount\beamer@tocsectionnumber
+
+\newif\ifbeamer@sansmath
+\newif\ifbeamer@altmode
+\newif\ifbeamer@notes
+\newif\ifbeamer@notesnormals
+\newif\ifbeamer@compress
+\newif\ifbeamer@centered
+\newif\ifbeamer@draftmode
+\newif\ifbeamer@suppressreplacements % decides whether fonts should be substituted
+\newif\ifbeamer@frameswithnotesonly
+\newif\ifbeamer@ignorenonframe
+\newif\ifbeamer@autopdfinfo
+
+% Option management
+\RequirePackage{beamerbaseoptions}
+
+%
+%
+% Document options
+%
+%
+
+\beamer@suppressreplacementsfalse
+\beamer@altmodefalse
+\beamer@notesfalse
+\beamer@notesnormalstrue
+\beamer@compressfalse
+\beamer@draftmodefalse
+\beamer@frameswithnotesonlyfalse
+\beamer@ignorenonframefalse
+\beamer@autopdfinfotrue
+
+\DeclareOptionBeamer{usepdftitle}[true]{\csname beamer@autopdfinfo#1\endcsname}
+\DeclareOptionBeamer{envcountsect}{\beamer@countsecttrue}
+\DeclareOptionBeamer{notheorems}{\beamer@blocksfalse}
+\DeclareOptionBeamer{noamsthm}{\beamer@blocksfalse\beamer@amsfalse}
+
+\DeclareOptionBeamer{compress}{\beamer@compresstrue}
+
+\DeclareOptionBeamer{t}{\beamer@centeredfalse}
+\DeclareOptionBeamer{c}{\beamer@centeredtrue}
+
+\DeclareOptionBeamer{leqno}{\input{leqno.clo}}
+\DeclareOptionBeamer{fleqn}{\input{fleqn.clo}}
+
+\def\beamer@currentmode{beamer}
+\DeclareOptionBeamer{handout}{\gdef\beamer@currentmode{handout}}
+\DeclareOptionBeamer{trans}{\gdef\beamer@currentmode{trans}}
+
+\DeclareOptionBeamer{pdftex}{}% Used by hyperref
+\DeclareOptionBeamer{nativepdf}{}% Used by hyperref
+\DeclareOptionBeamer{pdfmark}{}% Used by hyperref
+\DeclareOptionBeamer{dvips}{}% Used by hyperref
+\DeclareOptionBeamer{dviwindo}{}% Used by hyperref
+\DeclareOptionBeamer{dvipsone}{}% Used by hyperref
+\DeclareOptionBeamer{vtex}{}% Used by hyperref
+\DeclareOptionBeamer{ps2pdf}{}% Used by hyperref
+
+\DeclareOptionBeamer{ignorenonframetext}{\beamer@ignorenonframetrue}
+
+\DeclareOptionBeamer{noamssymb}{\beamer@amssymbfalse}
+
+\def\beamer@size{{size11.clo}}
+\DeclareOptionBeamer{bigger}{\def\beamer@size{{size12.clo}}}
+\DeclareOptionBeamer{smaller}{\def\beamer@size{{size10.clo}}}
+
+\DeclareOptionBeamer{8pt}{\def\beamer@size{{size8.clo}}}
+\DeclareOptionBeamer{9pt}{\def\beamer@size{{size9.clo}}}
+\DeclareOptionBeamer{10pt}{\def\beamer@size{{size10.clo}}}
+\DeclareOptionBeamer{11pt}{\def\beamer@size{{size11.clo}}}
+\DeclareOptionBeamer{12pt}{\def\beamer@size{{size12.clo}}}
+\DeclareOptionBeamer{14pt}{\def\beamer@size{{size14.clo}}}
+\DeclareOptionBeamer{17pt}{\def\beamer@size{{size17.clo}}}
+\DeclareOptionBeamer{20pt}{\def\beamer@size{{size20.clo}}}
+
+\DeclareOptionBeamer{draft}{\beamer@draftmodetrue}
+\pagenumbering{arabic}
+\def\insertpagenumber{\thepage}
+
+\def\beamer@activecjk{}
+\def\beamer@hypercjk{}
+
+\DeclareOptionBeamer{CJK}{\ExecuteOptionsBeamer{cjk}}
+\DeclareOptionBeamer{cjk}{%
+ \def\beamer@hypercjk{\hypersetup{CJKbookmarks=true}}
+ \def\beamer@activecjk{%
+ % Activate all >=128 characters.
+ \count@=127 %
+ \@whilenum\count@<254 \do{%
+ \advance\count@ by 1 %
+ \lccode`\~=\count@
+ \catcode\count@=\active
+ \lowercase{\def~{\kern1ex}}}}}
+
+% obsolete options
+\DeclareOptionBeamer{notes}[show]{\csname beamer@notesaction@#1\endcsname}
+\def\beamer@notesaction@hide{%
+ \ClassWarning{beamer}{This option is obsolete. Use beamer option
+ ``hide notes'' instead.}%
+ \beamer@notesfalse}
+\def\beamer@notesaction@show{%
+ \ClassWarning{beamer}{This option is obsolete. Use beamer option
+ ``show notes'' instead.}%
+ \beamer@notestrue}
+\def\beamer@notesaction@only{%
+ \ClassWarning{beamer}{This option is obsolete. Use beamer option
+ ``show only notes'' instead.}%
+ \beamer@notestrue
+ \beamer@notesnormalsfalse
+ \nofiles
+}
+\def\beamer@notesaction@onlyslideswithnotes{%
+ \beamer@notestrue
+ \beamer@frameswithnotesonlytrue
+ \nofiles
+}
+\DeclareOptionBeamer{inrow}{%
+ \ClassError{beamer}{``inrow'' no longer supported. Use ``compress'' instead.}{}}
+\DeclareOptionBeamer{compressnotes}{%
+ \ClassWarning{beamer}{``compressnotes'' is obsolete. Use
+ \noexpand\setbeamertemplate{note page}[compressed] instead}
+ \AtBeginDocument{\beamertemplatenotecompress}}
+\DeclareOptionBeamer{notesonly}{%
+ \ClassWarning{beamer}{``notesonly'' is obsolete. Use beamer option
+ ``show only notes'' instead.}
+ \beamer@notesaction@only}
+\DeclareOptionBeamer{blue}{%
+ \ClassWarning{beamer}{``blue'' is obsolete. Use color theme structure instead}
+ \def\beamer@loadlater{\usecolortheme[rgb={0.2,0.2,0.7}]{structure}}}
+\DeclareOptionBeamer{red}{%
+ \ClassWarning{beamer}{``red'' is obsolete. Use color theme structure instead}
+ \def\beamer@loadlater{\usecolortheme[rgb={0.7,0.2,0.2}]{structure}}}
+\DeclareOptionBeamer{blackandwhite}{%
+ \ClassWarning{beamer}{``blackandwhite'' is obsolete. Use color theme structure instead}
+ \def\beamer@loadlater{\usecolortheme[rgb={0.2,0.2,0.2}]{structure}}}
+\DeclareOptionBeamer{brown}{%
+ \ClassWarning{beamer}{``brown'' is obsolete. Use color theme structure instead}
+ \def\beamer@loadlater{\usecolortheme[rgb={0.66,0.4,0.166}]{structure}}}
+\DeclareOptionBeamer{slidescentered}{%
+ \ClassWarning{beamer}{``slidescentered'' is obsolete. Use ``c'' instead}
+ \beamer@centeredtrue}
+\DeclareOptionBeamer{slidestop}{%
+ \ClassWarning{beamer}{``slidestop'' is obsolete. Use ``t'' instead}
+ \beamer@centeredfalse}
+\DeclareOptionBeamer{sans}{%
+ \ClassWarning{beamer}{``sans'' is obsolete. Just remove this option}
+ \def\familydefault{\sfdefault}
+ \def\mathfamilydefault{\sfdefault}
+ \beamer@sansmathtrue
+}
+\DeclareOptionBeamer{serif}{%
+ \ClassWarning{beamer}{``serif'' is obsolete. Use font theme ``serif'' instead}
+ \def\familydefault{\rmdefault}
+ \def\mathfamilydefault{\rmdefault}
+ \beamer@sansmathfalse
+}
+\DeclareOptionBeamer{mathsans}{%
+ \ClassWarning{beamer}{``mathsans'' is obsolete. Use font theme ``serif'' with option ``stillsansserifmath''}
+ \def\mathfamilydefault{\sfdefault}\beamer@sansmathtrue}
+\DeclareOptionBeamer{mathserif}{%
+ \ClassWarning{beamer}{``mathserif'' is obsolete. Use font theme ``serif'' with option ``onlymath''}
+ \def\mathfamilydefault{\rmdefault}\beamer@sansmathfalse}
+\DeclareOptionBeamer{professionalfont}{%
+ \ClassWarning{beamer}{``professionalfont'' is obsolete. Use font theme ``professionalfonts'' instead}
+ \beamer@suppressreplacementstrue}
+
+% has to be done here for compatibility
+\def\familydefault{\sfdefault}
+\def\mathfamilydefault{\sfdefault}
+\beamer@sansmathtrue
+
+\PassOptionsToPackage{bookmarks=true,%
+ bookmarksopen=true,%
+ pdfborder={0 0 0},%
+ pdfhighlight={/N},%
+ linkbordercolor={.5 .5 .5}}{hyperref}
+
+\DeclareOptionBeamer{pgf}{\PassOptionsToPackage{#1}{pgf}}
+\DeclareOptionBeamer{hyperref}{\PassOptionsToPackage{#1}{hyperref}}
+\DeclareOptionBeamer{color}{\PassOptionsToPackage{#1}{color}}
+\DeclareOptionBeamer{xcolor}{\PassOptionsToPackage{#1}{xcolor}}
+
+\def\beamer@loaducs{}
+
+\DeclareOptionBeamer{ucs}{%
+ \ifpdf
+ \PassOptionsToPackage{pdftex,unicode}{hyperref}
+ \def\beamer@loaducs{%
+ \RequirePackage[hyperref]{ucs}%
+ \AtBeginDocument{\PreloadUnicodePage{0}}%
+ \AtBeginDocument{\PreloadUnicodePage{1}}%
+ }
+ \else
+ \def\beamer@loaducs{%
+ \RequirePackage{ucs}%
+ \AtBeginDocument{\PreloadUnicodePage{0}}%
+ \AtBeginDocument{\PreloadUnicodePage{1}}%
+ }
+ \fi
+}
+\DeclareOptionBeamer{utf8x}{\ExecuteOptionsBeamer{ucs}%
+ \g@addto@macro\beamer@loaducs{\RequirePackage[utf8x]{inputenc}}%
+}
+\DeclareOptionBeamer{utf8}{%
+ \ClassWarning{beamer}{This option works no longer loads ucs.}%
+ \RequirePackage[utf8]{inputenc}%
+ \PassOptionsToPackage{unicode}{hyperref}%
+}
+
+%
+% Geometry: allows 16:10, 16:9, 14:9, 5:4 and 4:3 (default 4:3).
+% Default value is set right after declaring width and height
+% because it doesn't work otherwise.
+%
+\newlength\beamer@paperwidth
+\setlength\beamer@paperwidth{12.80cm}
+\newlength\beamer@paperheight
+\setlength\beamer@paperheight{9.60cm}
+
+\DeclareOptionBeamer{aspectratio}[43]{%
+ \ifnum#1=1610 %
+ \setlength\beamer@paperwidth{16.00cm}%
+ \setlength\beamer@paperheight{10.00cm}%
+ \else\ifnum#1=169 %
+ \setlength\beamer@paperwidth{16.00cm}%
+ \setlength\beamer@paperheight{9.00cm}%
+ \else\ifnum#1=149 %
+ \setlength\beamer@paperwidth{14.00cm}%
+ \setlength\beamer@paperheight{9.00cm}%
+ \else\ifnum#1=54 %
+ \setlength\beamer@paperwidth{12.50cm}%
+ \setlength\beamer@paperheight{10.00cm}%
+ \else\ifnum#1=43 %
+ \setlength\beamer@paperwidth{12.80cm}%
+ \setlength\beamer@paperheight{9.60cm}%
+ \else\ifnum#1=32 %
+ \setlength\beamer@paperwidth{13.50cm}%
+ \setlength\beamer@paperheight{9.00cm}%
+ \else\ifnum#1=141 %
+ \setlength\beamer@paperwidth{14.85cm}%
+ \setlength\beamer@paperheight{10.50cm}%
+ \fi\fi\fi\fi\fi\fi\fi
+}
+
+\RequirePackage[%
+ papersize={\beamer@paperwidth,\beamer@paperheight},
+ hmargin=1cm,%
+ vmargin=0cm,%
+ head=0.5cm,% might be changed later
+ headsep=0pt,%
+ foot=0.5cm% might be changed later
+ ]{geometry}
+
+%
+% Process Options
+%
+
+\ExecuteOptionsBeamer{c}
+\ProcessOptionsBeamer
+
+% Load corresponding size file
+\expandafter\input\beamer@size
+
+% Filter class option list
+\beamer@filterclassoptions
+
+% Low-level graphic drawing and advanced color support.
+\RequirePackage{pgfcore}
+\RequirePackage{xxcolor}
+
+% Normally loaded by hyperref but to be on the safe side ...
+\RequirePackage{atbegshi}
+
+\RequirePackage[implicit=false]{hyperref}
+
+\hypersetup{pdfcreator={LaTeX with Beamer class}}
+
+% Encoding stuff
+\beamer@loaducs
+\beamer@hypercjk
+
+% Beamer packages required both by presentation and article modes
+\RequirePackage{beamerbaserequires}
+
+% Defaults
+\normalfont
+\raggedright
+
+\usetheme{default}
+
+% Compatibility stuff
+\csname beamer@loadlater\endcsname