From 8304eeaef18b010c8e1f38b1c3450b87cbee7f8b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 24 Jun 2018 21:58:16 +0000 Subject: beamertheme-focus (24jun18) git-svn-id: svn://tug.org/texlive/trunk@48082 c570f23f-e606-0410-a88d-b1316a301751 --- .../beamertheme-focus/beamercolorthemefocus.sty | 62 ++++++ .../beamertheme-focus/beamerfontthemefocus.sty | 40 ++++ .../beamertheme-focus/beamerinnerthemefocus.sty | 127 ++++++++++++ .../beamertheme-focus/beamerouterthemefocus.sty | 222 +++++++++++++++++++++ .../latex/beamertheme-focus/beamerthemefocus.sty | 56 ++++++ 5 files changed, 507 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/beamertheme-focus/beamercolorthemefocus.sty create mode 100644 Master/texmf-dist/tex/latex/beamertheme-focus/beamerfontthemefocus.sty create mode 100644 Master/texmf-dist/tex/latex/beamertheme-focus/beamerinnerthemefocus.sty create mode 100644 Master/texmf-dist/tex/latex/beamertheme-focus/beamerouterthemefocus.sty create mode 100644 Master/texmf-dist/tex/latex/beamertheme-focus/beamerthemefocus.sty (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 new file mode 100644 index 00000000000..ba5ffcb8152 --- /dev/null +++ b/Master/texmf-dist/tex/latex/beamertheme-focus/beamercolorthemefocus.sty @@ -0,0 +1,62 @@ +% Copyright (C) 2018 Pasquale Claudio Africa. +% +% This file is part of beamerthemefocus. +% +% beamerthemefocusis 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 +% 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 . + +\mode + +\definecolor{main}{RGB}{64, 64, 64} +\definecolor{background}{RGB}{239, 239, 239} + +\definecolor{alert}{RGB}{180, 0, 0} +\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{block title}{bg=main!80!background, fg=background} +\setbeamercolor{block body}{bg=main!10!background, fg=main} + +\setbeamercolor{block title alerted}{bg=alert, fg=background} +\setbeamercolor{block body alerted}{bg=alert!10!background, fg=main} + +\setbeamercolor{block title example}{bg=example, fg=background} +\setbeamercolor{block body example}{bg=example!10!background, fg=main} + +\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{description item}{fg=alert!90!black} +\setbeamercolor{description subitem}{fg=alert!90!black} + +\setbeamercolor{section in toc}{fg=main} +\setbeamercolor{subsection in toc}{fg=main} +\setbeamercolor{section number projected}{bg=main} +\setbeamercolor{subsection number projected}{bg=main} + +\setbeamercolor{bibliography item}{fg=main} +\setbeamercolor{bibliography entry author}{fg=alert!90!black} +\setbeamercolor{bibliography entry title}{fg=main} +\setbeamercolor{bibliography entry location}{fg=main} +\setbeamercolor{bibliography entry note}{fg=main} + +\mode diff --git a/Master/texmf-dist/tex/latex/beamertheme-focus/beamerfontthemefocus.sty b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerfontthemefocus.sty new file mode 100644 index 00000000000..f7e792d72a7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerfontthemefocus.sty @@ -0,0 +1,40 @@ +% Copyright (C) 2018 Pasquale Claudio Africa. +% +% This file is part of beamerthemefocus. +% +% beamerthemefocusis 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 +% 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 . + +\mode + +\setbeamerfont{title}{size=\huge, shape=\scshape\bfseries} +\setbeamerfont{subtitle}{size=\Large, shape=\scshape, parent=structure} +\setbeamerfont{author}{size=\Large, shape=\scshape} + +\setbeamerfont{institute}{size=\large, shape=\scshape} +\setbeamerfont{date}{size=\large, shape=\scshape} + +\setbeamerfont{sectiontitle}{size=\huge, series=\scshape\bfseries} +\setbeamerfont{frametitle}{size=\Large, shape=\scshape} + +\setbeamerfont{footer}{size=\normalsize} + +\setbeamerfont{focusframe}{size=\huge, shape=\scshape} + +\setbeamerfont{bibliography item}{size=\small, shape=\scshape} +\setbeamerfont{bibliography entry author}{size=\small, shape=\scshape} +\setbeamerfont{bibliography entry title}{size=\small, series=\scshape\bfseries} +\setbeamerfont{bibliography entry location}{size=\small, shape=\scshape\normalfont} +\setbeamerfont{bibliography entry note}{size=\small, shape=\scshape\normalfont} + +\mode diff --git a/Master/texmf-dist/tex/latex/beamertheme-focus/beamerinnerthemefocus.sty b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerinnerthemefocus.sty new file mode 100644 index 00000000000..e130a827c76 --- /dev/null +++ b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerinnerthemefocus.sty @@ -0,0 +1,127 @@ +% Copyright (C) 2018 Pasquale Claudio Africa. +% +% This file is part of beamerthemefocus. +% +% beamerthemefocusis 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 +% 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 . + +\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 +} + +% 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 +} + +% 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} + + \vspace{-1.65\baselineskip} + \begin{minipage}[b][0.35\paperheight]{\textwidth} + \vspace{\baselineskip} + \usebeamerfont{title} + \usebeamercolor[fg]{frametitle} + \inserttitle + \end{minipage} + + \begin{minipage}[t][0.1\paperheight]{\textwidth} + \usebeamerfont{subtitle} + \usebeamercolor[fg]{frametitle} + \insertsubtitle + \end{minipage} + + % Set the title graphic in a zero-height box, so that + % the position of other elements is not affected. + \vbox to 0pt { + \raggedleft + \inserttitlegraphic + } + + \begin{minipage}[t]{\textwidth} + \usebeamerfont{author} + \insertauthor + \end{minipage} + + \vspace*{\baselineskip} + \begin{minipage}[t]{\textwidth} + \usebeamerfont{institute} + \insertinstitute + \end{minipage} + + \vspace*{\baselineskip} + \begin{minipage}[t]{\textwidth} + \usebeamerfont{date}{\insertdate} + \end{minipage} + + \vspace*{5\baselineskip} + + \addtocounter{framenumber}{-1} +} + +% 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} + + \vspace{-2\baselineskip} + \begin{minipage}[b][0.45\paperheight]{\textwidth} + \usebeamerfont{sectiontitle} + \usebeamercolor[fg]{frametitle} + \let\hyperlink\@secondoftwo\insertsection + \end{minipage} + + \begin{minipage}[t][0.55\paperheight]{\textwidth} + \end{minipage} +} +\setbeamertemplate{section page}[focus] + +\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 +} + +\mode diff --git a/Master/texmf-dist/tex/latex/beamertheme-focus/beamerouterthemefocus.sty b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerouterthemefocus.sty new file mode 100644 index 00000000000..06810a3aeba --- /dev/null +++ b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerouterthemefocus.sty @@ -0,0 +1,222 @@ +% Copyright (C) 2018 Pasquale Claudio Africa. +% +% This file is part of beamerthemefocus. +% +% beamerthemefocusis 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 +% 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 . + +\mode + +% Main header. +\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 + }; + \end{tikzpicture} + \fi +} + +% Plain header. +\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 +} + +% Progress bar footline. +\newlength{\footlineheight} % Progress bar height. + +\defbeamertemplate*{footline}{progressbar} +{ + % If not appendix. + \ifnum\mainend<0 % From package appendixnumberbeamer. + % If not title page. + \ifnum\c@framenumber>0 + \ifnum\c@framenumber<\inserttotalframenumber + \begin{tikzpicture}[overlay, remember picture] + \pgfmathsetmacro{\progress}{(\insertframenumber-1)/\inserttotalframenumber * \textwidth} + % 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} + }; + + % 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 +} + +% Full bar footline. +\defbeamertemplate{footline}{fullbar} +{ + % If not appendix. + \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 +} + +% Empty footline. +\defbeamertemplate{footline}{none}{} + +\DeclareOptionBeamer{numbering}{\def\beamer@focus@numbering{#1}} +\ExecuteOptionsBeamer{numbering=progressbar} +\ProcessOptionsBeamer + +\def\beamer@focus@numberingprogressbar{progressbar} +\def\beamer@focus@numberingfullbar{fullbar} +\def\beamer@focus@numberingnone{none} + +% Default style. +\BeforeBeginEnvironment{frame}{ + \setbeamertemplate{background}[focus] + \setbeamertemplate{frametitle}[focus] + + % Reset footline height and determine it for the current slide. + \setlength{\footlineheight}{0cm} + + % 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 +} + +% Enable noframenumbering option. +\makeatletter +\define@key{beamerframe}{noframenumbering}[true]{ + \setbeamertemplate{footline}[none] + \setlength{\footlineheight}{0cm} + + \addtocounter{framenumber}{-1} +} +\makeatother + +% Enable plain option. +\makeatletter +\define@key{beamerframe}{plain}[true]{ + \setbeamertemplate{background}{} + \setbeamertemplate{frametitle}[plain] + + \setbeamertemplate{footline}[none] + \setlength{\footlineheight}{0cm} +} +\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{} +} +\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} +} + +\apptocmd{\beamer@reseteecodes} +{ + \ifbool{focus@standout} + { + \endgroup + \boolfalse{focus@standout} + }{} +}{}{} +\makeatother + +\mode diff --git a/Master/texmf-dist/tex/latex/beamertheme-focus/beamerthemefocus.sty b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerthemefocus.sty new file mode 100644 index 00000000000..ec0244a13a2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/beamertheme-focus/beamerthemefocus.sty @@ -0,0 +1,56 @@ +% Copyright (C) 2018 Pasquale Claudio Africa. +% +% This file is part of beamerthemefocus. +% +% beamerthemefocusis 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 +% 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/24 v1.0 Focus Beamer theme] + +\mode + +\RequirePackage[T1]{fontenc} +\RequirePackage{FiraSans} + +\RequirePackage{tikz} + +\RequirePackage{etoolbox} % \BeforeBeginEnvironment +\RequirePackage{appendixnumberbeamer} % Don't number appendix frames. + + +\DeclareOptionBeamer{numbering}{ + \PassOptionsToPackage{numbering=#1}{beamerouterthemefocus} +} +\ProcessOptionsBeamer + +\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. +\setbeamersize{text margin left=0.75cm, text margin right=0.75cm} +\setlength{\leftmargini}{0.75cm} +%\leftmarginii=0.75\leftmargini\relax + +\mode -- cgit v1.2.3