% Copyright 2003--2007 by Till Tantau % Copyright 2010 by Vedran Mileti\'c % Copyright 2012--2015 by Vedran Mileti\'c, Joseph Wright % Copyright 2016 by Joseph Wright % Copyright 2017,2018 by Louis Stuart, Joseph Wright % Copyright 2020-2024 by Joseph Wright, samcarter % % 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 LICENSE.md for more details. % For \blacktriangleright; not explicitly required by article, but can cause % weird situations if users find that symbols works in presentation, but not % in article mode. % However, some classes or font packages clash with amssymb, so allow to % disable auto-loading optionally. \ifbeamer@amssymb \RequirePackage{amssymb} \fi \mode % % Font theme stuff % \define@key{beamerthm}{size} {\expandafter\def\csname beamer@thmfsize@\beamer@temp\endcsname{#1}} \define@key{beamerthm}{size*} {\expandafter\def\csname beamer@thmfsize@\beamer@temp\endcsname{\fontsize#1}} \define@key{beamerthm}{shape} {\expandafter\def\csname beamer@thmfshape@\beamer@temp\endcsname{#1}} \define@key{beamerthm}{shape*} {\expandafter\def\csname beamer@thmfshape@\beamer@temp\endcsname{\fontshape{#1}}} \define@key{beamerthm}{series} {\expandafter\def\csname beamer@thmfseries@\beamer@temp\endcsname{#1}} \define@key{beamerthm}{series*} {\expandafter\def\csname beamer@thmfseries@\beamer@temp\endcsname{\fontseries{#1}}} \define@key{beamerthm}{family} {\expandafter\def\csname beamer@thmffamily@\beamer@temp\endcsname{#1}} \define@key{beamerthm}{family*} {\expandafter\def\csname beamer@thmffamily@\beamer@temp\endcsname{\fontfamily{#1}}} \define@key{beamerthm}{parent} {\expandafter\def\csname beamer@thmfinherits@\beamer@temp\endcsname{% \@for\@temp:={#1}\do{\expandafter\usebeamerfont\expandafter{\@temp}}}} \newrobustcmd*\setbeamerfont{% \@ifstar{\beamer@clearbeamerfont}{\beamer@setbeamerfont}} \newcommand\beamer@clearbeamerfont[2]{% \def\beamer@temp{#1}% \setkeys{beamerthm}{size={},shape={},series={},family={},parent={}}% \setkeys{beamerthm}{#2}% } \newcommand\beamer@setbeamerfont[2]{% \def\beamer@temp{#1}% \setkeys{beamerthm}{#2}% } \newrobustcmd*\usebeamerfont{% \@ifstar{\reset@font\beamer@usebeamerfont}{\beamer@usebeamerfont}} \newcommand\beamer@usebeamerfont[1]{% \csname beamer@thmfinherits@#1\endcsname \csname beamer@thmfsize@#1\endcsname \csname beamer@thmfshape@#1\endcsname \csname beamer@thmfseries@#1\endcsname \csname beamer@thmffamily@#1\endcsname \selectfont} % % computer modern font size stuff - redefinition for oversized fonts. % Not used if other packages like lmodern kick in. % \def\EC@family#1#2#3#4#5{% \DeclareFontShape{#1}{#2}{#3}{#4}% {<3><4>#50500<5><6><7><8><9><10><10.95><12><14.4>% <17.28><20.74><24.88><29.86><35.83>genb*#5<42.99><51.59>#53583}{}} \EC@family{T1}{cmr}{m}{n}{ecrm} \EC@family{T1}{cmr}{m}{sl}{ecsl} \EC@family{T1}{cmr}{m}{it}{ecti} \EC@family{T1}{cmr}{m}{sc}{eccc} \EC@family{T1}{cmr}{bx}{n}{ecbx} \EC@family{T1}{cmr}{b}{n}{ecrb} \EC@family{T1}{cmr}{bx}{it}{ecbi} \EC@family{T1}{cmr}{bx}{sl}{ecbl} \EC@family{T1}{cmr}{bx}{sc}{ecxc} \EC@family{T1}{cmr}{m}{ui}{ecui} \DeclareFontShape{OT1}{cmr}{m}{n}% {<3><4>cmr5<5><6><7><8><9><10><12>gen*cmr% <10.95>cmr10% <14.4>cmr12% <17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmr17}{} \DeclareFontShape{OT1}{cmr}{m}{sl}% {<3><4><5><6><7>cmsl8% <8><9>gen*cmsl% <10><10.95>cmsl10% <12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmsl12% }{} \DeclareFontShape{OT1}{cmr}{m}{it}% {<3><4><5><6><7>cmti7% <8>cmti8% <9>cmti9% <10><10.95>cmti10% <12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmti12% }{} \DeclareFontShape{OT1}{cmr}{m}{sc}% {<3><4><5><6><7><8><9><10><10.95><12>% <14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmcsc10% }{} \DeclareFontShape{OT1}{cmr}{m}{ui} {<3><4><5><6><7><8><9><10><10.95><12>% <14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmu10% }{} \DeclareFontShape{OT1}{cmr}{b}{n} {<3><4><5><6><7><8><9><10><10.95><12>% <14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmb10% }{} \DeclareFontShape{OT1}{cmr}{bx}{n} {<3><4>cmbx5<5><6><7><8><9>gen*cmbx% <10><10.95>cmbx10% <12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbx12% }{} \DeclareFontShape{OT1}{cmr}{bx}{sl} {<3><4><5><6><7><8><9>% <10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbxsl10% }{} \DeclareFontShape{OT1}{cmr}{bx}{it} {<3><4><5><6><7><8><9>% <10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbxti10% }{} \DeclareFontFamily{T1}{cmss}{} \EC@family{T1}{cmss}{m}{n}{ecss} \EC@family{T1}{cmss}{m}{sl}{ecsi} \EC@family{T1}{cmss}{m}{it}{ecsi} \EC@family{T1}{cmss}{bx}{n}{ecsx} \EC@family{T1}{cmss}{bx}{it}{ecso} \EC@family{T1}{cmss}{bx}{sl}{ecso} \DeclareFontShape{T1}{cmss}{sbc}{n}{% <3><4><5><6><7><8><9><10><10.95><12><14.4><17.28>% <20.74><24.88><29.86><35.83><42.99><51.59>% ecssdc10 }{} \DeclareFontShape{OT1}{cmss}{m}{n} {% <3><4><5><6><7><8>cmss8% <9>cmss9% <10><10.95>cmss10% <12><14.4>cmss12% <17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmss17% }{} \DeclareFontShape{OT1}{cmss}{m}{sl} {% <3><4><5><6><7><8>cmssi8<9>cmssi9% <10><10.95>cmssi10% <12><14.4>cmssi12% <17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmssi17% }{} \DeclareFontShape{OT1}{cmss}{m}{it} {% <3><4><5><6><7><8>cmssi8<9>cmssi9% <10><10.95>cmssi10% <12><14.4>cmssi12% <17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmssi17% }{} \DeclareFontShape{OT1}{cmss}{sbc}{n} {% <3><4><5><6><7><8><9>cmssdc10% <10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmssdc10% }{} \DeclareFontShape{OT1}{cmss}{bx}{n} {% <3><4><5><6><7><8><9>cmssbx10% <10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmssbx10% }{} \DeclareFontShape{OT1}{cmss}{b}{n}{<->ssub * cmss/bx/n}{} \newcommand*{\beamer@font@check}{% \def\beamer@cmr{cmr}% \edef\beamer@fmdef{\mathfamilydefault}% % supress for standard cm \ifx\beamer@fmdef\beamer@cmr\beamer@suppressreplacementstrue\fi % supress for unicode math fonts \@ifpackageloaded{unicode-math}{\beamer@suppressreplacementstrue}{} % supress for mathtime serif and math minion serif \@ifpackageloaded{arevmath}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}% \@ifpackageloaded{hvmath}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}% \@ifpackageloaded{kpfonts}{\ifbeamer@sansmath\mathversion{sf}\else\beamer@suppressreplacementstrue\fi}{}% \@ifpackageloaded{lucidabr}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}% \@ifpackageloaded{lmodern}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}% \@ifpackageloaded{lucimatx}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}% \@ifpackageloaded{mathastext}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}% \@ifpackageloaded{mathpmnt}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}% \@ifpackageloaded{mathpple}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}% \@ifpackageloaded{mathtime}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}% \@ifpackageloaded{mtpro}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}% \@ifpackageloaded{mtpro2}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}% } \AtBeginDocument{% \beamer@font@check \ifbeamer@suppressreplacements\else \ifbeamer@sansmath \SetSymbolFont{operators}{normal}{OT1}{cmss}{\mddefault}{n}% \ifx\mv@bold\@undefined \else \SetSymbolFont{operators}{bold}{OT1}{cmss}{\bfdefault}{n}% \fi \@ifpackageloaded{lmodern} {% \SetSymbolFont{operators}{normal}{OT1}{\sfdefault}{\mddefault}{n}% \ifx\mv@bold\@undefined \else \SetSymbolFont{operators}{bold}{OT1}{\sfdefault}{\bfdefault}{n}% \fi }% {}% \fi \DeclareSymbolFont{numbers}{\encodingdefault}{\mathfamilydefault}{\mddefault}{n}% \DeclareSymbolFont{pureletters}{\encodingdefault}{\mathfamilydefault}{\mddefault}{it}% \SetMathAlphabet{\mathrm}{normal}{\encodingdefault}{\rmdefault}{\mddefault}{n}% \DeclareMathAlphabet{\mathbf}{\encodingdefault}{\mathfamilydefault}{\bfdefault}{n}% \DeclareMathAlphabet{\mathsf}{\encodingdefault}{\sfdefault}{\mddefault}{n}% \DeclareMathAlphabet{\mathit}{\encodingdefault}{\mathfamilydefault}{\mddefault}{it}% \DeclareMathAlphabet{\mathtt}{\encodingdefault}{\ttdefault}{\mddefault}{n}% \ifx\mv@bold\@undefined\else \SetSymbolFont{numbers}{bold}{\encodingdefault}{\mathfamilydefault}{\bfdefault}{n}% \SetSymbolFont{pureletters}{bold}{\encodingdefault}{\mathfamilydefault}{\bfdefault}{it}% \SetMathAlphabet{\mathrm}{bold}{\encodingdefault}{\rmdefault}{\bfdefault}{n}% \SetMathAlphabet{\mathbf}{bold}{\encodingdefault}{\mathfamilydefault}{\bfdefault}{n}% \SetMathAlphabet{\mathsf}{bold}{\encodingdefault}{\sfdefault}{\bfdefault}{n}% \SetMathAlphabet{\mathit}{bold}{\encodingdefault}{\mathfamilydefault}{\bfdefault}{it}% \SetMathAlphabet{\mathtt}{bold}{\encodingdefault}{\ttdefault}{\bfdefault}{n}% \fi % \DeclareMathSymbol{0}\mathalpha{numbers}{"30}% \DeclareMathSymbol{1}\mathalpha{numbers}{"31}% \DeclareMathSymbol{2}\mathalpha{numbers}{"32}% \DeclareMathSymbol{3}\mathalpha{numbers}{"33}% \DeclareMathSymbol{4}\mathalpha{numbers}{"34}% \DeclareMathSymbol{5}\mathalpha{numbers}{"35}% \DeclareMathSymbol{6}\mathalpha{numbers}{"36}% \DeclareMathSymbol{7}\mathalpha{numbers}{"37}% \DeclareMathSymbol{8}\mathalpha{numbers}{"38}% \DeclareMathSymbol{9}\mathalpha{numbers}{"39}% % \DeclareMathSymbol{A}\mathalpha{pureletters}{"41}% \DeclareMathSymbol{B}\mathalpha{pureletters}{"42}% \DeclareMathSymbol{C}\mathalpha{pureletters}{"43}% \DeclareMathSymbol{D}\mathalpha{pureletters}{"44}% \DeclareMathSymbol{E}\mathalpha{pureletters}{"45}% \DeclareMathSymbol{F}\mathalpha{pureletters}{"46}% \DeclareMathSymbol{G}\mathalpha{pureletters}{"47}% \DeclareMathSymbol{H}\mathalpha{pureletters}{"48}% \DeclareMathSymbol{I}\mathalpha{pureletters}{"49}% \DeclareMathSymbol{J}\mathalpha{pureletters}{"4A}% \DeclareMathSymbol{K}\mathalpha{pureletters}{"4B}% \DeclareMathSymbol{L}\mathalpha{pureletters}{"4C}% \DeclareMathSymbol{M}\mathalpha{pureletters}{"4D}% \DeclareMathSymbol{N}\mathalpha{pureletters}{"4E}% \DeclareMathSymbol{O}\mathalpha{pureletters}{"4F}% \DeclareMathSymbol{P}\mathalpha{pureletters}{"50}% \DeclareMathSymbol{Q}\mathalpha{pureletters}{"51}% \DeclareMathSymbol{R}\mathalpha{pureletters}{"52}% \DeclareMathSymbol{S}\mathalpha{pureletters}{"53}% \DeclareMathSymbol{T}\mathalpha{pureletters}{"54}% \DeclareMathSymbol{U}\mathalpha{pureletters}{"55}% \DeclareMathSymbol{V}\mathalpha{pureletters}{"56}% \DeclareMathSymbol{W}\mathalpha{pureletters}{"57}% \DeclareMathSymbol{X}\mathalpha{pureletters}{"58}% \DeclareMathSymbol{Y}\mathalpha{pureletters}{"59}% \DeclareMathSymbol{Z}\mathalpha{pureletters}{"5A}% % \DeclareMathSymbol{a}\mathalpha{pureletters}{"61}% \DeclareMathSymbol{b}\mathalpha{pureletters}{"62}% \DeclareMathSymbol{c}\mathalpha{pureletters}{"63}% \DeclareMathSymbol{d}\mathalpha{pureletters}{"64}% \DeclareMathSymbol{e}\mathalpha{pureletters}{"65}% \DeclareMathSymbol{f}\mathalpha{pureletters}{"66}% \DeclareMathSymbol{g}\mathalpha{pureletters}{"67}% \DeclareMathSymbol{h}\mathalpha{pureletters}{"68}% \DeclareMathSymbol{i}\mathalpha{pureletters}{"69}% \DeclareMathSymbol{j}\mathalpha{pureletters}{"6A}% \DeclareMathSymbol{k}\mathalpha{pureletters}{"6B}% \DeclareMathSymbol{l}\mathalpha{pureletters}{"6C}% \DeclareMathSymbol{m}\mathalpha{pureletters}{"6D}% \DeclareMathSymbol{n}\mathalpha{pureletters}{"6E}% \DeclareMathSymbol{o}\mathalpha{pureletters}{"6F}% \DeclareMathSymbol{p}\mathalpha{pureletters}{"70}% \DeclareMathSymbol{q}\mathalpha{pureletters}{"71}% \DeclareMathSymbol{r}\mathalpha{pureletters}{"72}% \DeclareMathSymbol{s}\mathalpha{pureletters}{"73}% \DeclareMathSymbol{t}\mathalpha{pureletters}{"74}% \DeclareMathSymbol{u}\mathalpha{pureletters}{"75}% \DeclareMathSymbol{v}\mathalpha{pureletters}{"76}% \DeclareMathSymbol{w}\mathalpha{pureletters}{"77}% \DeclareMathSymbol{x}\mathalpha{pureletters}{"78}% \DeclareMathSymbol{y}\mathalpha{pureletters}{"79}% \DeclareMathSymbol{z}\mathalpha{pureletters}{"7A}% \fi } \ifbeamer@sansmath \IfFileExists{sansmathaccent.sty} {\RequirePackage{sansmathaccent}} {} \fi \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} \newrobustcmd*\Tiny{\@setfontsize\Tiny{4}{5}} \newrobustcmd*\TINY{\@setfontsize\Tiny{3}{4}} \mode
{ \let\Tiny=\tiny \let\TINY=\tiny \newrobustcmd*\setbeamerfont{\@ifstar{\@gobbletwo}{\@gobbletwo}} \newrobustcmd*\usebeamerfont{\@ifstar{\beamer@optgog}{\beamer@optgog}} } \mode