From 4712a2a4209de069ba87751cf2a4043fc459a8cf Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 16 Jul 2018 23:04:19 +0000 Subject: beamertheme-focus (16jul18) git-svn-id: svn://tug.org/texlive/trunk@48211 c570f23f-e606-0410-a88d-b1316a301751 --- .../beamertheme-focus/beamercolorthemefocus.sty | 22 +- .../beamertheme-focus/beamerfontthemefocus.sty | 7 +- .../beamertheme-focus/beamerinnerthemefocus.sty | 82 ++--- .../beamertheme-focus/beamerouterthemefocus.sty | 346 ++++++++++++--------- .../latex/beamertheme-focus/beamerthemefocus.sty | 48 ++- 5 files changed, 274 insertions(+), 231 deletions(-) (limited to 'Master/texmf-dist/tex/latex/beamertheme-focus') diff --git a/Master/texmf-dist/tex/latex/beamertheme-focus/beamercolorthemefocus.sty b/Master/texmf-dist/tex/latex/beamertheme-focus/beamercolorthemefocus.sty index ba5ffcb8152..1fb3e4c99e3 100644 --- a/Master/texmf-dist/tex/latex/beamertheme-focus/beamercolorthemefocus.sty +++ b/Master/texmf-dist/tex/latex/beamertheme-focus/beamercolorthemefocus.sty @@ -1,15 +1,16 @@ % Copyright (C) 2018 Pasquale Claudio Africa. +% 2018 Sebastian Friedl. % % This file is part of beamerthemefocus. % -% beamerthemefocusis free software: you can redistribute it and/or modify +% beamerthemefocus is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % % beamerthemefocus is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License @@ -24,12 +25,15 @@ \definecolor{example}{RGB}{0, 110, 0} -\setbeamercolor{frametitle}{fg=background, bg=main} - \setbeamercolor{normal text}{fg=main, bg=background} \setbeamercolor{alerted text}{fg=alert} \setbeamercolor{example text}{fg=example} +\setbeamercolor{titlelike}{fg=background, bg=main} +\setbeamercolor{frametitle}{parent={titlelike}} + +\setbeamercolor{footline}{fg=background, bg=main} + \setbeamercolor{block title}{bg=main!80!background, fg=background} \setbeamercolor{block body}{bg=main!10!background, fg=main} @@ -42,11 +46,11 @@ \setbeamercolor{itemize item}{fg=main} \setbeamercolor{itemize subitem}{fg=main} -\setbeamercolor{enumerate item}{fg=alert!90!black} -\setbeamercolor{enumerate subitem}{fg=alert!90!black} +\setbeamercolor{enumerate item}{fg=main!70!black} +\setbeamercolor{enumerate subitem}{fg=main!70!black} -\setbeamercolor{description item}{fg=alert!90!black} -\setbeamercolor{description subitem}{fg=alert!90!black} +\setbeamercolor{description item}{fg=main!70!black} +\setbeamercolor{description subitem}{fg=main!70!black} \setbeamercolor{section in toc}{fg=main} \setbeamercolor{subsection in toc}{fg=main} @@ -54,7 +58,7 @@ \setbeamercolor{subsection number projected}{bg=main} \setbeamercolor{bibliography item}{fg=main} -\setbeamercolor{bibliography entry author}{fg=alert!90!black} +\setbeamercolor{bibliography entry author}{fg=main!70!black} \setbeamercolor{bibliography entry title}{fg=main} \setbeamercolor{bibliography entry location}{fg=main} \setbeamercolor{bibliography entry note}{fg=main} diff --git a/Master/texmf-dist/tex/latex/beamertheme-focus/beamerfontthemefocus.sty b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerfontthemefocus.sty index f7e792d72a7..13b6e78d3fa 100644 --- a/Master/texmf-dist/tex/latex/beamertheme-focus/beamerfontthemefocus.sty +++ b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerfontthemefocus.sty @@ -1,15 +1,16 @@ % Copyright (C) 2018 Pasquale Claudio Africa. +% 2018 Sebastian Friedl. % % This file is part of beamerthemefocus. % -% beamerthemefocusis free software: you can redistribute it and/or modify +% beamerthemefocus is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % % beamerthemefocus is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License @@ -27,7 +28,7 @@ \setbeamerfont{sectiontitle}{size=\huge, series=\scshape\bfseries} \setbeamerfont{frametitle}{size=\Large, shape=\scshape} -\setbeamerfont{footer}{size=\normalsize} +\setbeamerfont{footline}{size=\scriptsize} \setbeamerfont{focusframe}{size=\huge, shape=\scshape} diff --git a/Master/texmf-dist/tex/latex/beamertheme-focus/beamerinnerthemefocus.sty b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerinnerthemefocus.sty index e130a827c76..3fa7e8b2dd4 100644 --- a/Master/texmf-dist/tex/latex/beamertheme-focus/beamerinnerthemefocus.sty +++ b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerinnerthemefocus.sty @@ -1,15 +1,16 @@ % Copyright (C) 2018 Pasquale Claudio Africa. +% 2018 Sebastia Friedl. % % This file is part of beamerthemefocus. % -% beamerthemefocusis free software: you can redistribute it and/or modify +% beamerthemefocus is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % % beamerthemefocus is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License @@ -17,31 +18,29 @@ \mode -% Main background. -\defbeamertemplate*{background}{focus}{ - % Titlepage. - \ifnum\c@framenumber=0 - \begin{tikzpicture}[overlay, remember picture] - \fill[color=background] (current page.north west) rectangle (current page.south east); - \end{tikzpicture} - \fi -} +\RequirePackage{tikz} + + +% CUSTOMIZE STRUCTURE ELEMENTS. --------------------------------------------------------------------- + +\setbeamertemplate{blocks}[default] + +\setbeamertemplate{section in toc}[square] +\setbeamertemplate{subsection in toc}[square] + +\setbeamertemplate{itemize items}[square] +\setbeamertemplate{itemize subitem}[triangle] -% Focus frame background. -\defbeamertemplate{background}{focusframe}{ - \ifnum\c@framenumber>0 - \begin{tikzpicture}[overlay, remember picture] - \fill[color=main] (current page.north west) rectangle (current page.south east); - \end{tikzpicture} - \fi -} + + +% STRUCTURE FRAME TEMPLATE DEFINITIONS. ------------------------------------------------------------- % Title page. -\defbeamertemplate*{title page}{focus}[1][] -{ - \begin{tikzpicture}[overlay, remember picture] - \fill[color=main] (current page.north west) rectangle ([shift = {(0, -0.45\paperheight)}] current page.north east); - \end{tikzpicture} +\defbeamertemplate*{title page}{focus}{% + {\usebeamercolor{frametitle}\colorlet{focus@@temp}{bg}% + \begin{tikzpicture}[overlay, remember picture] + \fill[color=focus@@temp] (current page.north west) rectangle ([shift = {(0, -0.45\paperheight)}] current page.north east); + \end{tikzpicture}} \vspace{-1.65\baselineskip} \begin{minipage}[b][0.35\paperheight]{\textwidth} @@ -59,10 +58,10 @@ % Set the title graphic in a zero-height box, so that % the position of other elements is not affected. - \vbox to 0pt { + {\vfuzz=9999pt\vbox to 0pt { \raggedleft \inserttitlegraphic - } + }} \begin{minipage}[t]{\textwidth} \usebeamerfont{author} @@ -86,10 +85,13 @@ } % Section page. -\defbeamertemplate*{section page}{focus}{ - \begin{tikzpicture}[overlay, remember picture] - \fill[color=main] (current page.north west) rectangle ([shift = {(0, -0.45\paperheight)}] current page.north east); - \end{tikzpicture} +\defbeamertemplate*{section page}{focus}{% + {% + \usebeamercolor{frametitle}\colorlet{focus@@temp}{bg}% + \begin{tikzpicture}[overlay, remember picture] + \fill[color=focus@@temp] (current page.north west) rectangle ([shift = {(0, -0.45\paperheight)}] current page.north east); + \end{tikzpicture}% + } \vspace{-2\baselineskip} \begin{minipage}[b][0.45\paperheight]{\textwidth} @@ -101,27 +103,11 @@ \begin{minipage}[t][0.55\paperheight]{\textwidth} \end{minipage} } -\setbeamertemplate{section page}[focus] -\AtBeginSection{ +\AtBeginSection{% \begin{frame}[plain, noframenumbering]{} \sectionpage - \end{frame} -} - -% Shift footnotes to prevent overlap with footline. -\addtobeamertemplate{footnote} -{\ifnum\footlineheight>0\vspace{-0.55\footlineheight}\fi} -{\ifnum\footlineheight>0\vspace{0.55\footlineheight}\fi} - -\renewcommand*{\footnoterule} -{ - \kern -3pt - \hrule width 2in height 0.4pt - \ifnum\footlineheight>0 - \kern 0.55\footlineheight - \fi - \kern 2.6pt + \end{frame}% } \mode diff --git a/Master/texmf-dist/tex/latex/beamertheme-focus/beamerouterthemefocus.sty b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerouterthemefocus.sty index a3eb3d9e72b..8a533022c3e 100644 --- a/Master/texmf-dist/tex/latex/beamertheme-focus/beamerouterthemefocus.sty +++ b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerouterthemefocus.sty @@ -1,15 +1,16 @@ % Copyright (C) 2018 Pasquale Claudio Africa. +% 2018 Sebastian Friedl. % % This file is part of beamerthemefocus. % -% beamerthemefocusis free software: you can redistribute it and/or modify +% beamerthemefocus is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % % beamerthemefocus is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License @@ -17,116 +18,99 @@ \mode -% Main header. -\defbeamertemplate*{frametitle}{focus} -{ +\RequirePackage{appendixnumberbeamer}% Don't number appendix frames. +\RequirePackage{etoolbox}% \BeforeBeginEnvironment +\RequirePackage{tikz} + + +% FRAMETITLE TEMPLATES. ------------------------------------------------------------------------------------------------- + +\defbeamertemplate*{frametitle}{focus}{% % If not title page. - \ifnum\c@framenumber>0 - \begin{tikzpicture}[overlay, remember picture] - \fill[color=main] (current page.north west) rectangle ([shift = {(0, -1cm)}] current page.north east); - \node at ([shift = {(0.6cm, -0.5cm)}] current page.north west) [anchor = west, inner sep = 0pt] - { - \usebeamerfont{frametitle} - \usebeamercolor[fg]{frametitle} - \insertframetitle - % Fix for vertical centering. - \vphantom{ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz(),} - }; - \end{tikzpicture} - \fi + \ifnum\value{framenumber}>0% + \vspace{-1pt}% + \begin{beamercolorbox}[wd=\paperwidth,leftskip=0.55cm,rightskip=0.55cm,sep=0.2cm]{frametitle}% + \strut\insertframetitle\strut% + \end{beamercolorbox}% + \fi% } % Plain header. -\defbeamertemplate{frametitle}{plain} -{ +\defbeamertemplate{frametitle}{plain}{% % If not title page. - \ifnum\c@framenumber>0 - \begin{tikzpicture}[overlay, remember picture] - \fill[opacity=0] (current page.north west) rectangle ([shift = {(0, -1cm)}] current page.north east); - \node at ([shift = {(0.6cm, -0.5cm)}] current page.north west) [anchor = west, inner sep = 0pt] {}; - \end{tikzpicture} - \fi + \ifnum\value{framenumber}>0% + \vspace{-1pt}% + \begin{beamercolorbox}[wd=\paperwidth,leftskip=0.55cm,rightskip=0.55cm,sep=0.2cm,ignorebg]{frametitle}% + \strut% + \end{beamercolorbox}% + \fi% } -% Progress bar footline. -\newlength{\footlineheight} % Progress bar height. -\defbeamertemplate*{footline}{progressbar} -{ + +% FOOTLINE TEMPLATES. --------------------------------------------------------------------------------------------------- + +% Lenghts for the progress bar footline. +\newlength{\focus@pbar@height}% Progress bar height. +\newlength{\focus@pbar@leftoffset} +\newlength{\focus@pbar@rightoffset} + +\defbeamertemplate*{footline}{progressbar}{% % If not appendix. - \ifnum\mainend<0 % From package appendixnumberbeamer. + \ifnum\mainend<0% From package appendixnumberbeamer. + % + \settowidth{\focus@pbar@leftoffset}{1}% + \addtolength{\focus@pbar@leftoffset}{1.5em}% + % + \settowidth{\focus@pbar@rightoffset}{\inserttotalframenumber}% + \addtolength{\focus@pbar@rightoffset}{1.5em}% + % % If not title page. - \ifnum\c@framenumber>0 - \ifnum\c@framenumber<\inserttotalframenumber - \begin{tikzpicture}[overlay, remember picture] - \pgfmathsetmacro{\progress}{(\insertframenumber-1)/(\inserttotalframenumber-1) * (\textwidth-2*\beamer@leftmargin)} - % Current frame number. - \fill[color=main] (current page.south west) rectangle ([shift = {(\progress pt + \beamer@leftmargin, \footlineheight)}] current page.south west); - \node at ([shift = {(\progress pt + \beamer@leftmargin, 0.5\footlineheight)}] current page.south west) [anchor = east, inner sep = 0pt] - { - \usebeamerfont{footer} - \usebeamercolor[fg]{frametitle} - \insertframenumber\phantom{\strut/\strut} - }; + \ifnum\c@framenumber>0% + \ifnum\c@framenumber<\inserttotalframenumber% + \begin{tikzpicture}[inner xsep=0.5em, inner ysep=0.5ex]\usebeamerfont{footline} + \pgfmathsetmacro{\focus@pbar@progress}% + {(\paperwidth-\focus@pbar@leftoffset-\focus@pbar@rightoffset)*(\insertframenumber/\inserttotalframenumber)} + + \clip (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height); + \fill[footline.bg] (0,0) rectangle ++(\the\focus@pbar@leftoffset,\the\focus@pbar@height); + + \fill[footline.bg] (\the\focus@pbar@leftoffset,0) rectangle ++(\focus@pbar@progress pt,\the\focus@pbar@height) + ++(0,{-0.5*\the\focus@pbar@height}) node[anchor=east, text=footline.fg] {\strut\insertframenumber}; + + \fill[footline.bg] (\paperwidth,0) rectangle ++(-\the\focus@pbar@rightoffset,\the\focus@pbar@height) + ++(0,{-0.5*\the\focus@pbar@height}) node[anchor=west, text=footline.fg] {\strut\inserttotalframenumber}; + \end{tikzpicture}% + \else% + \begin{tikzpicture}[inner xsep=0.5em, inner ysep=0.5ex] + \clip (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height); + \fill[footline.bg] (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height); - % Total frame number. - \fill[color=main] ([shift = {(-\beamer@rightmargin, \footlineheight)}] current page.south east) rectangle ([shift = {(0, 0)}] current page.south east); - \node at ([shift = {(-\beamer@rightmargin, 0.5\footlineheight)}] current page.south east) [anchor = west, inner sep = 0pt] - { - \usebeamerfont{footer} - \usebeamercolor[fg]{frametitle} - \vphantom{\strut/\strut}\inserttotalframenumber - }; - \end{tikzpicture} - \else - \begin{tikzpicture}[overlay, remember picture] - \fill[color=main] (current page.south west) rectangle ([shift = {(0, \footlineheight)}] current page.south east); - % At left of \beamer@rightmargin. - \node at ([shift = {(-\beamer@rightmargin, 0.5\footlineheight)}] current page.south east) [anchor = east, inner sep = 0pt] - { - \usebeamerfont{footer} - \usebeamercolor[fg]{frametitle} - \insertframenumber\ \strut/\strut\ - }; - % At right of \beamer@rightmargin. - \node at ([shift = {(-\beamer@rightmargin, 0.5\footlineheight)}] current page.south east) [anchor = west, inner sep = 0pt] - { - \usebeamerfont{footer} - \usebeamercolor[fg]{frametitle} - \vphantom{\strut/\strut}\inserttotalframenumber - }; - \end{tikzpicture} - \fi - \fi - \fi + \node[anchor=east, footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut\insertframenumber}; + \node[footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut/}; + \node[anchor=west, footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut\inserttotalframenumber}; + \end{tikzpicture}% + \fi% + \fi% + \fi% } % Full bar footline. -\defbeamertemplate{footline}{fullbar} -{ +\defbeamertemplate{footline}{fullbar}{% % If not appendix. - \ifnum\mainend<0 % From package appendixnumberbeamer. + \ifnum\mainend<0% From package appendixnumberbeamer. % If not title page. - \ifnum\c@framenumber>0 - \begin{tikzpicture}[overlay, remember picture] - \fill[color=main] (current page.south west) rectangle ([shift = {(0, \footlineheight)}] current page.south east); - % At left of \beamer@rightmargin. - \node at ([shift = {(-\beamer@rightmargin, 0.5\footlineheight)}] current page.south east) [anchor = east, inner sep = 0pt] - { - \usebeamerfont{footer} - \usebeamercolor[fg]{frametitle} - \insertframenumber\ \strut/\strut\ - }; - % At right of \beamer@rightmargin. - \node at ([shift = {(-\beamer@rightmargin, 0.5\footlineheight)}] current page.south east) [anchor = west, inner sep = 0pt] - { - \usebeamerfont{footer} - \usebeamercolor[fg]{frametitle} - \vphantom{\strut/\strut}\inserttotalframenumber - }; - \end{tikzpicture} - \fi - \fi + \ifnum\c@framenumber>0% + \begin{tikzpicture}[inner xsep=0.5em, inner ysep=0.5ex] + \clip (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height); + \fill[footline.bg] (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height); + + \node[anchor=east, footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut\insertframenumber}; + \node[footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut/}; + \node[anchor=west, footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut\inserttotalframenumber}; + \end{tikzpicture}% + \fi% + \fi% } % Empty footline. @@ -140,85 +124,137 @@ \def\beamer@focus@numberingfullbar{fullbar} \def\beamer@focus@numberingnone{none} -% Default style. -\BeforeBeginEnvironment{frame}{ - \setbeamertemplate{background}[focus] - \setbeamertemplate{frametitle}[focus] - + + +% BACKGROUND CANVAS TEMPLATES. ------------------------------------------------------------------------------------------ + +\defbeamertemplate*{background canvas}{focus}{% + \begin{tikzpicture} + \clip (0,0) rectangle ++(\paperwidth,\paperheight); + \fill[normal text.bg] (0,0) rectangle ++(\paperwidth,\paperheight); + \end{tikzpicture}% +} + +\defbeamertemplate{background canvas}{focusplain}{% + \begin{tikzpicture} + \clip (0,0) rectangle ++(\paperwidth,\paperheight); + \fill[normal text.bg] (0,0) rectangle ++(\paperwidth,\paperheight); + \end{tikzpicture}% +} + +\defbeamertemplate{background canvas}{focusframe}{% + \begin{tikzpicture} + \clip (0,0) rectangle ++(\paperwidth,\paperheight); + \fill[frametitle.bg] (0,0) rectangle ++(\paperwidth,\paperheight); + \end{tikzpicture}% +} + + + +% HOOKS FOR CREATING FRAMES. -------------------------------------------------------------------------------------------- + +\BeforeBeginEnvironment{frame}{% + \setbeamertemplate{background canvas}[focus]% + \setbeamertemplate{frametitle}[focus]% + % % Reset footline height and determine it for the current slide. - \setlength{\footlineheight}{0cm} - + \setlength{\focus@pbar@height}{0cm}% + \focus@calculatefootheight% + % % If not appendix. \ifnum\mainend<0 % From package appendixnumberbeamer. - \ifx\beamer@focus@numbering\beamer@focus@numberingprogressbar - \setlength{\footlineheight}{0.4cm} - \setbeamertemplate{footline}[progressbar] - \else - \ifx\beamer@focus@numbering\beamer@focus@numberingfullbar - \setlength{\footlineheight}{0.4cm} - \setbeamertemplate{footline}[fullbar] - \fi - \fi - \fi + \settoheight{\focus@pbar@height}{\usebeamerfont{footline}1234567890/}% + \addtolength{\focus@pbar@height}{6pt}% + % + \ifx\beamer@focus@numbering\beamer@focus@numberingprogressbar% + \setbeamertemplate{footline}[progressbar]% + \else% + \ifx\beamer@focus@numbering\beamer@focus@numberingfullbar% + \setbeamertemplate{footline}[fullbar]% + \fi% + \fi% + % + \focus@calculatefootheight% + \fi% } % Enable noframenumbering option. -\makeatletter -\define@key{beamerframe}{noframenumbering}[true]{ - \setbeamertemplate{footline}[none] - \setlength{\footlineheight}{0cm} - - \addtocounter{framenumber}{-1} + +\define@key{beamerframe}{noframenumbering}[true]{% + \setbeamertemplate{footline}[none]% + \setlength{\focus@pbar@height}{0cm}% + \focus@calculatefootheight% + % + \addtocounter{framenumber}{-1}% } -\makeatother + % Enable plain option. -\makeatletter -\define@key{beamerframe}{plain}[true]{ - \setbeamertemplate{background}{} - \setbeamertemplate{frametitle}[plain] - - \setbeamertemplate{footline}[none] - \setlength{\footlineheight}{0cm} + +\define@key{beamerframe}{plain}[true]{% + \setbeamertemplate{background canvas}[focusplain]% + \setbeamertemplate{frametitle}[plain]% + % + \setbeamertemplate{footline}[none]% } -\makeatother + % Full vertical centering % (from https://tex.stackexchange.com/questions/247826/beamer-full-vertical-centering). -\makeatletter -\define@key{beamerframe}{c}[true]{ - \beamer@frametopskip=0pt plus 1fill\relax - \beamer@framebottomskip=0pt plus 1fill\relax - \beamer@frametopskipautobreak=0pt plus .4\paperheight\relax - \beamer@framebottomskipautobreak=0pt plus .6\paperheight\relax - \def\beamer@initfirstlineunskip{} + +\define@key{beamerframe}{c}[true]{% + \beamer@frametopskip=0pt plus 1fill\relax% + \beamer@framebottomskip=0pt plus 1fill\relax% + \beamer@frametopskipautobreak=0pt plus 0.4\paperheight\relax% + \beamer@framebottomskipautobreak=0pt plus 0.6\paperheight\relax% + \def\beamer@initfirstlineunskip{}% } -\makeatother + % Enable focus option. -\makeatletter + \providebool{focus@standout} -\define@key{beamerframe}{focus}[true]{ - \booltrue{focus@standout} - \begingroup - \setkeys{beamerframe}{noframenumbering} - \setbeamertemplate{background}[focusframe] - \setbeamertemplate{frametitle}[plain] - - \setkeys{beamerframe}{c} - \centering - \usebeamerfont{focusframe} - \usebeamercolor[fg]{frametitle} +\define@key{beamerframe}{focus}[true]{% + \booltrue{focus@standout}% + \begingroup% + \setkeys{beamerframe}{noframenumbering}% + \setbeamertemplate{background canvas}[focusframe]% + \setbeamertemplate{frametitle}[plain]% + % + \setkeys{beamerframe}{c}% + \centering% + \usebeamerfont{focusframe}% + \usebeamercolor[fg]{frametitle}% } \apptocmd{\beamer@reseteecodes} -{ - \ifbool{focus@standout} - { - \endgroup - \boolfalse{focus@standout} - }{} +{% + \ifbool{focus@standout}% + {% + \endgroup% + \boolfalse{focus@standout}% + }{}% }{}{} -\makeatother + + +% Recalculate the footline's size and refresh other parameters. +% Partially copied from the definition of \beamer@calculateheadfoot. + +\def\focus@calculatefootheight{% + \footheight=\focus@pbar@height% + \advance\footheight by 4pt% + \sidebarheight=\paperheight% + \advance\sidebarheight by-\headheight% + \advance\sidebarheight by\headdp% + \advance\sidebarheight by-\footheight% + \advance\sidebarheight by 4pt% + \footskip=\footheight% + \textheight=\paperheight% + \advance\textheight by-\footheight% + \advance\textheight by-\headheight% + \@colht\textheight% + \@colroom\textheight% + \vsize\textheight% +} \mode diff --git a/Master/texmf-dist/tex/latex/beamertheme-focus/beamerthemefocus.sty b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerthemefocus.sty index 98aa019495f..223ef2ce85d 100644 --- a/Master/texmf-dist/tex/latex/beamertheme-focus/beamerthemefocus.sty +++ b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerthemefocus.sty @@ -1,54 +1,70 @@ % Copyright (C) 2018 Pasquale Claudio Africa. +% 2018 Sebastian Friedl. % % This file is part of beamerthemefocus. % -% beamerthemefocusis free software: you can redistribute it and/or modify +% beamerthemefocus is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % % beamerthemefocus is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License % along with beamerthemefocus. If not, see . \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{beamerthemefocus}[2018/06/25 v1.1 Focus Beamer theme] +\ProvidesPackage{beamerthemefocus}[2018/07/15 v2.0 Focus Beamer theme] -\mode +% Note: +% Packages should be required in the package file using their commands! -\RequirePackage[T1]{fontenc} -\RequirePackage{FiraSans} -\RequirePackage{tikz} +\mode -\RequirePackage{etoolbox} % \BeforeBeginEnvironment -\RequirePackage{appendixnumberbeamer} % Don't number appendix frames. +% THEME OPTIONS. ------------------------------------------------------------------------------------ -\DeclareOptionBeamer{numbering}{ +\DeclareOptionBeamer{numbering}{% \PassOptionsToPackage{numbering=#1}{beamerouterthemefocus} } + +\newif\if@focus@loadfirafonts +\@focus@loadfirafontstrue + +\DeclareOptionBeamer{nofirafonts}{\@focus@loadfirafontsfalse} + \ProcessOptionsBeamer + + +% LOAD EXTERNAL PACKAGES. --------------------------------------------------------------------------------------- + +\if@focus@loadfirafonts + \RequirePackage[T1]{fontenc} + + \PassOptionsToPackage{type1}{FiraSans} + \PassOptionsToPackage{type1}{FiraMono} + + \RequirePackage{FiraSans} + \RequirePackage{FiraMono} +\fi + + \usecolortheme{focus} \usefonttheme{focus} \useinnertheme{focus} \useoutertheme{focus} \setbeamertemplate{navigation symbols}{} -\setbeamertemplate{blocks}[default] -\setbeamertemplate{section in toc}[square] -\setbeamertemplate{subsection in toc}[square] -\setbeamertemplate{itemize items}[square] -\setbeamertemplate{itemize subitem}[triangle] -% Set margins. +% SET MARGINS. ------------------------------------------------------------------------------------------ + \setbeamersize{text margin left=0.75cm, text margin right=0.75cm} \setlength{\leftmargini}{0.75cm} %\leftmarginii=0.75\leftmargini\relax -- cgit v1.2.3