From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 .../contrib/beamer/base/beamerbaseframesize.sty    | 273 +++++++++++++++++++++
 1 file changed, 273 insertions(+)
 create mode 100644 macros/latex/contrib/beamer/base/beamerbaseframesize.sty

(limited to 'macros/latex/contrib/beamer/base/beamerbaseframesize.sty')

diff --git a/macros/latex/contrib/beamer/base/beamerbaseframesize.sty b/macros/latex/contrib/beamer/base/beamerbaseframesize.sty
new file mode 100644
index 0000000000..94ab641482
--- /dev/null
+++ b/macros/latex/contrib/beamer/base/beamerbaseframesize.sty
@@ -0,0 +1,273 @@
+% Copyright 2003--2007 by Till Tantau
+% Copyright 2010 by Vedran Mileti\'c
+% Copyright 2011,2015 by Vedran Mileti\'c, 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.
+
+\mode
+<presentation>
+
+
+\define@key{beamerframe}{allowdisplaybreaks}[4]{%
+  \def\beamer@displaybreak{\allowdisplaybreaks[{#1}]}}
+\define@key{beamerframe}{allowframebreaks}[0.95]{%
+  \def\beamer@autobreakfactor{#1}\beamer@autobreaktrue}
+\define@key{beamerframe}{squeeze}[]{%
+  \def\beamer@cramped{\itemsep0pt\topsep0.5pt\relax}}
+\define@key{beamerframe}{shrink}[0]{%
+  \def\beamer@shrinkpercentage{#1}%
+  \@tempdima=-#1pt%
+  \@tempdima=0.01\@tempdima%
+  \advance\@tempdima by1pt%
+  \edef\beamer@shrinkfactor{\strip@pt\@tempdima}%
+  \@tempcnta=\@tempdima%
+  \divide\@tempcnta by256\relax%
+  \@tempdima=256pt%
+  \divide\@tempdima by\@tempcnta%
+  \edef\beamer@shrinkfactorinv{\strip@pt\@tempdima}%
+  \beamer@shrinktrue%
+  \def\beamer@cramped{\itemsep0pt\topsep0.5pt\relax}}
+
+
+%
+% Zoom stuff
+%
+
+\define@key{beamerzoom}{border}[1]{\def\beamer@zoomborderwidth{#1}}
+
+\def\framezoom<#1><#2>{\@ifnextchar[{\beamer@framezoom<#1><#2>}{\beamer@framezoom<#1><#2>[]}}
+\def\beamer@framezoom<#1><#2>[#3](#4,#5)(#6,#7){%
+  \par\nointerlineskip%
+  \global\beamer@slidehaszoomtrue%
+  \advance\beamer@zoomcount by1\relax%
+  \def\beamer@zoomborderwidth{0}%
+  \edef\beamer@labelzoomed{beamer@labelzoomed@\the\beamer@zoomframecount @\the\beamer@zoomcount}%
+  \setkeys{beamerzoom}{#3}%
+  \only<#1>{%
+    {\hypersetup{pdfhighlight={/P},pdfborder={0 0 \beamer@zoomborderwidth}}%
+    \global\setbox\@tempboxa=\vbox{\hyperlink{\beamer@labelzoomed}{\vbox to #7{\hbox
+          to#6{\hfil}\vfil}}}}%
+    \ht\@tempboxa=0pt%
+    \wd\@tempboxa=0pt%
+    \dp\@tempboxa=0pt%
+    \setbox\@tempboxa=\vbox{\moveright#4\hbox{\lower#5\vbox{\box\@tempboxa}}}%
+    \ht\@tempboxa=0pt%
+    \wd\@tempboxa=0pt%
+    \dp\@tempboxa=0pt%
+    \global\setbox\beamer@zoombox=\vbox to0pt{\unvbox\beamer@zoombox\box\@tempboxa}%
+  }%
+  \only<#2>{%
+    \@ifundefined{\beamer@labelzoomed}%
+    {%
+      \hypertarget{\beamer@labelzoomed}{}%
+      \expandafter\gdef\csname\beamer@labelzoomed\endcsname{}%
+    }{}%
+    \gdef\beamer@zoomer{%
+      % compute zoom factor
+      \@tempdima=\beamer@frametextheight%
+      \@tempdimb=#7\relax%
+      \@tempcnta=\@tempdimb%
+      \divide\@tempcnta by4096\relax%
+      \multiply\@tempdima by16\relax%
+      \divide\@tempdima by\@tempcnta%
+      \@tempdimb=\paperwidth%
+      \ifbeamer@plainframe%
+      \else%
+        \advance\@tempdimb by-\beamer@leftsidebar%
+        \advance\@tempdimb by-\beamer@rightsidebar\relax%
+      \fi%
+      \@tempdimc=#6\relax%
+      \@tempcntb=\@tempdimc%
+      \divide\@tempcntb by4096\relax%
+      \multiply\@tempdimb by16\relax%
+      \divide\@tempdimb by\@tempcntb%
+      \ifdim\@tempdimb<\@tempdima%
+        \@tempdima=\@tempdimb%
+      \fi%
+      \edef\beamer@temp{\strip@pt\@tempdima}%
+      \@tempdimc=\beamer@frametextheight%
+      \advance\@tempdimc by4pt%
+      \@tempdimb=\paperwidth%
+      \ifbeamer@plainframe%
+      \else%
+        \advance\@tempdimb by-\beamer@leftsidebar%
+        \advance\@tempdimb by-\beamer@rightsidebar\relax%
+      \fi%
+      \setbox\@tempboxa=\vbox{\hsize=\@tempdimb\Acrobatmenu{GoBack}{\vbox to
+          \beamer@frametextheight{\hbox to\@tempdimb{\hfil}\vfil}}}%
+      \ht\@tempboxa=0pt%
+      \wd\@tempboxa=0pt%
+      \dp\@tempboxa=0pt%
+      \setbox\beamer@framebox=\vbox to\beamer@frametextheight{{%
+          \ifbeamer@plainframe\beamer@leftmargin=\Gm@lmargin\fi%
+          \begin{pgfpicture}{\beamer@leftmargin}{-\beamer@frametextheight}{\beamer@leftmargin}{0pt}
+            \pgftext[left,top]{\box\@tempboxa}
+            \pgfpathrectangle{\pgfpoint{0pt}{-\@tempdimc}}{\pgfpoint{\@tempdimb}{\@tempdimc}}%
+            \pgfusepath{clip}
+            \begingroup
+              \pgftransformscale{\beamer@temp}
+              \@tempdima=#4\relax%
+              \@tempdimb=#5\relax%
+              {\pgftransformshift{\pgfpoint{-\@tempdima}{\@tempdimb}}%
+              \pgftext[left,top]{\vbox{\vbox{}\nointerlineskip\unvbox\beamer@framebox}}}
+            \endgroup
+          \end{pgfpicture}%
+        }}%
+      \setbox\beamer@framebox=\vbox{%
+        \nobreak\vbox{}\nobreak\par\nobreak\beamer@entrycode\nobreak%
+        \nointerlineskip\unvbox\beamer@frametitlebox%
+        \nobreak%
+        \box\beamer@framebox%
+        \nobreak%
+        \vss%
+        \beamer@exitcode%
+      }%
+      \global\setbox\beamer@footins=\box\voidb@x% no footnotes in zoomed slides
+    }%
+  }%
+}
+
+\mode
+<article>
+{
+  \def\framezoom<#1><#2>{\@ifnextchar[{\beamer@framezoom<#1><#2>}{\beamer@framezoom<#1><#2>[]}}
+  \def\beamer@framezoom<#1><#2>[#3](#4,#5)(#6,#7){}
+}
+
+
+%
+% Shrink stuff
+%
+
+\def\beamer@shrinkframebox{%
+  \@tempdima=\ht\beamer@framebox%
+%  \ifdim\@tempdima>\beamer@frametextheight%
+    \@tempcnta=\@tempdima%
+    \divide\@tempcnta by 65536\relax%
+    \@tempdimc=\beamer@frametextheight%
+    \divide\@tempdimc by\@tempcnta\relax%
+    \ifdim\@tempdimc>\beamer@shrinkfactor pt%
+      \@tempdimc=\beamer@shrinkfactor pt%
+    \else%
+      \@tempdima=-100\@tempdimc%
+      \advance\@tempdima by100pt%
+      \ClassWarning{beamer}{Frame text is shrunk by a factor of %
+      \strip@pt\@tempdima\space percent instead of
+      \beamer@shrinkpercentage\space percent}%
+    \fi%
+    \edef\beamer@factortemp{\strip@pt\@tempdimc}%
+    \setbox\beamer@framebox=\vbox to\beamer@frametextheight{%
+      \begin{pgfpicture}{0pt}{-\beamer@frametextheight}{0pt}{0pt}
+        {\pgftransformscale{\beamer@factortemp}%
+          \pgftext[left,top]{\box\beamer@framebox}}%
+      \end{pgfpicture}%
+    }%
+%  \fi%
+}
+
+
+
+%
+% Auto break stuff
+%
+
+\splittopskip=10pt
+\newbox\beamer@splitbox
+\newcount\beamer@autobreakcount
+\newdimen\beamer@autobreaklastheight
+
+\def\beamer@autobreakframe{%
+  \beamer@slideinframe=1\relax%
+  \advance\beamer@autobreakcount by1\relax%
+  \begin{beamer@frameslide}\relax%
+    \bgroup%
+    \aftergroup\beamer@endautobreak%
+    \afterassignment\beamer@checkframetitle%
+    \let\beamer@next% gobble opening brace
+  }
+\def\beamer@endautobreak{\end{beamer@frameslide}%
+  \beamer@writeslidentry%
+  \ifvoid\beamer@splitbox%
+    \let\beamer@next=\beamer@reseteecodes%
+  \else%
+    \let\beamer@next=\beamer@continueautobreak%
+  \fi%
+  \beamer@next%
+}
+
+\def\beamer@autobreakframebox{%
+  \global\setbox\beamer@splitbox=\box\voidb@x%
+  \ifbeamer@autobreak%
+    % Ok, frame was overful -> split it!
+    \splittopskip\baselineskip%
+    \setbox\@tempboxa=\vsplit\beamer@framebox to\beamer@autobreakfactor\textheight%
+    \global\setbox\beamer@splitbox=\box\beamer@framebox%
+    \@tempdima=\ht\beamer@splitbox%
+    \ifdim\@tempdima<\beamer@autobreaklastheight%
+      \global\beamer@autobreaklastheight=\@tempdima\relax%
+    \else%
+      \setbox\@tempboxa=\vbox{\unvbox\@tempboxa\unvbox\beamer@splitbox}%
+      \global\setbox\beamer@splitbox=\box\voidb@x%
+    \fi%
+    \setbox\beamer@framebox=\vbox to\textheight{\unvbox\@tempboxa%
+      \vskip\beamer@framebottomskipautobreak%
+      \ifvoid\beamer@splitbox%
+        \ifvoid\beamer@footins%
+        \else%
+          \begingroup
+            \usebeamercolor*[fg]{footnote}%
+            \footnoterule%
+            \unvbox \beamer@footins%
+            \global\setbox\beamer@footins=\box\voidb@x%
+          \endgroup  
+        \fi%
+      \fi%
+      \beamer@exitcode%
+    }%
+  \else%
+    \setbox\beamer@framebox=\vbox to\textheight{\unvbox\beamer@framebox%
+      \vskip\beamer@framebottomskip%
+      \ifvoid\beamer@footins%
+      \else%
+        \begingroup
+          \usebeamercolor*[fg]{footnote}%
+          \footnoterule%
+          \unvbox \beamer@footins%
+          \global\setbox\beamer@footins=\box\voidb@x%
+        \endgroup 
+      \fi%
+      \beamer@exitcode}%
+    \global\setbox\beamer@footins=\box\voidb@x%
+  \fi%
+  }
+
+\newtoks\beamer@frametitletoks
+\newtoks\beamer@framesubtitletoks
+
+\def\beamer@continueautobreak{%
+  \ifbeamer@noframenumbering\else%
+    \refstepcounter{framenumber}%
+  \fi%
+  \expandafter\beamer@frametitletoks\expandafter{\beamer@frametitle}%
+  \expandafter\beamer@framesubtitletoks\expandafter{\beamer@shortframetitle}%
+  \edef\beamer@callframetitle{\noexpand\frametitle[\the\beamer@framesubtitletoks]{\the\beamer@frametitletoks}}%
+  \expandafter\expandafter\expandafter\beamer@autobreakframe
+  \expandafter\expandafter\expandafter{%
+    \expandafter\beamer@callframetitle%
+    \expandafter\framesubtitle\expandafter{\insertframesubtitle}%
+    \unvbox\beamer@splitbox}%
+}
+
+
+\newcommand\insertcontinuationcount{\the\beamer@autobreakcount}
+\newcommand\insertcontinuationcountroman{\@Roman\beamer@autobreakcount}
+\newcommand\insertcontinuationtext{(\translate{cont}.)}
+
+
+\mode
+<all>
-- 
cgit v1.2.3

