diff options
Diffstat (limited to 'Master')
11 files changed, 298 insertions, 232 deletions
diff --git a/Master/texmf-dist/doc/latex/beamertheme-focus/README.md b/Master/texmf-dist/doc/latex/beamertheme-focus/README.md index f2c290c4190..f54f83a44e0 100644 --- a/Master/texmf-dist/doc/latex/beamertheme-focus/README.md +++ b/Master/texmf-dist/doc/latex/beamertheme-focus/README.md @@ -2,7 +2,12 @@ A presentation theme for LaTeX Beamer that aims at a clean and minimalist design, so to minimize distractions and put the focus directly on the content. -Requires the package [PGF/TikZ](https://www.ctan.org/pkg/pgf) to be installed in your LaTeX distribution. +This package is available through the [CTAN](https://ctan.org/pkg/beamertheme-focus) in +most LaTeX distributions such as [MiKTeX](https://ctan.org/pkg/miktex) and [TeXLive](https://ctan.org/pkg/texlive). + +Requires the packages [appendixnumberbeamer](https://ctan.org/pkg/appendixnumberbeamer), +[fira](https://ctan.org/pkg/fira) and [PGF/TikZ](https://ctan.org/pkg/pgf) +to be installed in your LaTeX distribution. Demo ---- @@ -64,6 +69,15 @@ The footline may also be disabled by typing: \usetheme[numbering=none]{focus} ``` +Customize fonts +--------------- +Focus is using the [Fira fonts](https://bboxtype.com/typefaces/FiraSans/) by default. + +This can be changed by using the option _nofirafonts_: +```latex +\usetheme[nofirafonts]{focus} +``` + License ======= This software is released under the [GNU GPL v3.0 License](https://www.gnu.org/licenses/gpl-3.0.en.html). @@ -75,3 +89,12 @@ If you are enjoying this theme please share it with your friends or colleagues! Any suggestions, comments, criticism or appreciation are welcome! Contact information are available to registered users on my Github profile page. + +Authors +======= +Focus was initially created and designed by [Pasquale Africa](https://github.com/elauksap). + +My gratitude goes to the following authors, whose help has provided a significant contribution +to its development. + +[Sebastian Friedl](https://github.com/SFr682k) diff --git a/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-appendix.jpg b/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-appendix.jpg Binary files differindex dbf70d8c1d7..14de76281d7 100644 --- a/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-appendix.jpg +++ b/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-appendix.jpg diff --git a/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-focus.jpg b/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-focus.jpg Binary files differindex 39abb0e00e2..dc488a98043 100644 --- a/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-focus.jpg +++ b/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-focus.jpg diff --git a/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-references.jpg b/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-references.jpg Binary files differindex 20dd47d16c7..0998f39e7ed 100644 --- a/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-references.jpg +++ b/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-references.jpg diff --git a/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-typeset.jpg b/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-typeset.jpg Binary files differindex 4945913db28..cef1691fb84 100644 --- a/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-typeset.jpg +++ b/Master/texmf-dist/doc/latex/beamertheme-focus/demo-screenshots/demo-typeset.jpg diff --git a/Master/texmf-dist/doc/latex/beamertheme-focus/demo.pdf b/Master/texmf-dist/doc/latex/beamertheme-focus/demo.pdf Binary files differindex c775c97798f..20505b8cc02 100644 --- a/Master/texmf-dist/doc/latex/beamertheme-focus/demo.pdf +++ b/Master/texmf-dist/doc/latex/beamertheme-focus/demo.pdf 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<presentation> -% 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<all> 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<presentation> -% 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<all> 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 <http://www.gnu.org/licenses/>. \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{beamerthemefocus}[2018/06/25 v1.1 Focus Beamer theme] +\ProvidesPackage{beamerthemefocus}[2018/07/15 v2.0 Focus Beamer theme] -\mode<presentation> +% Note: +% Packages should be required in the package file using their commands! -\RequirePackage[T1]{fontenc} -\RequirePackage{FiraSans} -\RequirePackage{tikz} +\mode<presentation> -\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 |