797 lines
24 KiB
TeX
797 lines
24 KiB
TeX
% Copyright 2021 by Jan Benda
|
|
%
|
|
% This file may be distributed and/or modified
|
|
%
|
|
% 1. under the LaTeX Project Public License and/or
|
|
% 2. under the GNU Public License.
|
|
|
|
\ProvidesPackage{beamerthemelines}[2021/02/28 beamer theme with horizontal lines]
|
|
|
|
\RequirePackage{tikz}
|
|
\RequirePackage{xstring}
|
|
|
|
\newif\if@beamer@footline@author
|
|
\newif\if@beamer@footline@institute
|
|
\newif\if@beamer@footline@date
|
|
\newif\if@beamer@footline@title
|
|
\newif\if@beamer@footline@page
|
|
\newif\if@beamer@footline@logo
|
|
|
|
\DeclareOptionBeamer{author}{\@beamer@footline@authortrue}
|
|
\DeclareOptionBeamer{hideauthor}{\@beamer@footline@authorfalse}
|
|
\DeclareOptionBeamer{institute}{\@beamer@footline@institutetrue}
|
|
\DeclareOptionBeamer{hideinstitute}{\@beamer@footline@institutefalse}
|
|
\DeclareOptionBeamer{date}{\@beamer@footline@datetrue}
|
|
\DeclareOptionBeamer{hidedate}{\@beamer@footline@datefalse}
|
|
\DeclareOptionBeamer{title}{\@beamer@footline@titletrue}
|
|
\DeclareOptionBeamer{hidetitle}{\@beamer@footline@titlefalse}
|
|
\DeclareOptionBeamer{page}{\@beamer@footline@pagetrue}
|
|
\DeclareOptionBeamer{hidepage}{\@beamer@footline@pagefalse}
|
|
\DeclareOptionBeamer{logo}{\@beamer@footline@logotrue}
|
|
\DeclareOptionBeamer{hidelogo}{\@beamer@footline@logofalse}
|
|
|
|
\ExecuteOptionsBeamer{author}
|
|
\ExecuteOptionsBeamer{hideinstitute}
|
|
\ExecuteOptionsBeamer{hidedate}
|
|
\ExecuteOptionsBeamer{hidetitle}
|
|
\ExecuteOptionsBeamer{page}
|
|
\ExecuteOptionsBeamer{hidelogo}
|
|
|
|
\ProcessOptionsBeamer
|
|
|
|
%%%%% \titlelogo command:
|
|
|
|
\mode<all>{
|
|
\newcommand\titlelogo[1]{\def\inserttitlelogo{#1}}
|
|
\titlelogo{}
|
|
}
|
|
|
|
|
|
\mode<presentation>
|
|
|
|
% margins:
|
|
\setbeamersize{text margin left=1ex,text margin right=1ex}
|
|
|
|
% no navigation symbols:
|
|
\defbeamertemplate{navigation symbols}{empty}{}
|
|
\setbeamertemplate{navigation symbols}[empty]
|
|
|
|
% no side bars:
|
|
\setbeamertemplate{sidebar left}[default]
|
|
|
|
\defbeamertemplate{sidebar right}{empty}{}
|
|
\setbeamertemplate{sidebar right}[empty]
|
|
|
|
% no headline:
|
|
\setbeamertemplate{headline}[default]
|
|
|
|
|
|
%%%%% page numbers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\defbeamertemplate{page number in head/foot}{frames}{%
|
|
{\usebeamerfont{page number in head/foot}%
|
|
\makebox[2.5ex][r]{\insertframenumber{}}}}
|
|
\defbeamertemplate{page number in head/foot}{framestotal}{%
|
|
{\usebeamerfont{page number in head/foot}%
|
|
\makebox[6ex][r]{\insertframenumber{} / \inserttotalframenumber{}}}}
|
|
\defbeamertemplate{page number in head/foot}{slides}{%
|
|
{\usebeamerfont{page number in head/foot}%
|
|
\makebox[2.5ex][r]{\insertframenumber{} } %
|
|
\newcount{\c@tmp@numslides}%
|
|
\c@tmp@numslides=\numexpr\beamer@endpageofframe-\beamer@startpageofframe\relax%
|
|
\makebox[2.5ex][r]{\ifnum\c@tmp@numslides>0 -- \insertslidenumber{}\fi}}}
|
|
|
|
\setbeamertemplate{page number in head/foot}[slides]
|
|
|
|
|
|
%%%%% footline %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%%%%% footline line:
|
|
|
|
\defbeamertemplate{footline line}{text}[1][1pt]%
|
|
{
|
|
\ifbeamercolorempty[fg]{footline line}{}{%
|
|
\begin{beamercolorbox}[wd=\paperwidth,dp=0pt,ht=#1,sep=0pt,%
|
|
leftskip=\beamer@leftmargin,rightskip=\beamer@rightmargin]{footline line}%
|
|
\rule{\columnwidth}{#1}%
|
|
\end{beamercolorbox}%
|
|
\nointerlineskip%
|
|
}%
|
|
}
|
|
\defbeamertemplate{footline line}{page}[1][1pt]%
|
|
{
|
|
\ifbeamercolorempty[fg]{footline line}{}{%
|
|
\begin{beamercolorbox}[wd=\paperwidth,dp=0pt,ht=#1,sep=0pt,%
|
|
leftskip=0pt,rightskip=0pt]{footline line}%
|
|
\rule{\paperwidth}{#1}%
|
|
\end{beamercolorbox}%
|
|
\nointerlineskip%
|
|
}%
|
|
}
|
|
|
|
\setbeamertemplate{footline line}[text][0.5pt]
|
|
|
|
|
|
%%%%% footline separator:
|
|
|
|
\defbeamertemplate{footline separator}{text}[1][1pt]{%
|
|
{\usebeamercolor[fg]{footline separator}\enspace\rule[-0.55ex]{#1}{2.3ex}\thickspace}}
|
|
\defbeamertemplate{footline separator}{full}[1][1pt]{%
|
|
{\usebeamercolor[fg]{footline separator}\enspace\rule[-1.2ex]{#1}{4ex}\thickspace}}
|
|
\defbeamertemplate{footline separator}{dash}{%
|
|
{\usebeamercolor[fg]{footline separator}\thickspace{} ---\thickspace}}
|
|
\defbeamertemplate{footline separator}{space}{%
|
|
{\usebeamercolor[fg]{footline separator}\enspace\thickspace}}
|
|
|
|
\setbeamertemplate{footline separator}[text][0.5pt]
|
|
|
|
|
|
%%%%% footline: linesleft
|
|
|
|
\defbeamertemplate{footline}{linesleft}{%
|
|
\usebeamerfont{footline}%
|
|
\usebeamertemplate{footline line}%
|
|
\begin{beamercolorbox}[wd=1\paperwidth,dp=1.2ex,ht=2.8ex,sep=0pt,colsep=0pt,colsep*=0pt,%
|
|
leftskip=1\beamer@leftmargin,rightskip=1\beamer@rightmargin]{footline}
|
|
\hypersetup{linkcolor=}%
|
|
\newif\if@tempsep%
|
|
\@tempsepfalse%
|
|
% author:
|
|
\if@beamer@footline@author
|
|
{\usebeamerfont{author in head/foot}%
|
|
\insertshortauthor}%
|
|
\@tempseptrue
|
|
\fi
|
|
% institute:
|
|
\if@beamer@footline@institute
|
|
\if@tempsep\usebeamertemplate{footline separator}\hskip0.6ex\fi
|
|
{\usebeamerfont{institute in head/foot}%
|
|
\insertshortinstitute}%
|
|
\@tempseptrue
|
|
\fi
|
|
% date:
|
|
\if@beamer@footline@date
|
|
\if@tempsep\usebeamertemplate{footline separator}\hskip0.6ex\fi
|
|
{\usebeamerfont{date in head/foot}%
|
|
\insertshortdate}%
|
|
\@tempseptrue
|
|
\fi
|
|
% title:
|
|
\if@beamer@footline@title
|
|
\if@tempsep\usebeamertemplate{footline separator}\hskip0.6ex\fi
|
|
{\usebeamerfont{title in head/foot}%
|
|
\insertshorttitle}%
|
|
\@tempseptrue
|
|
\fi
|
|
\hfill
|
|
% page:
|
|
\if@beamer@footline@page
|
|
\usebeamertemplate{footline separator}
|
|
\usebeamertemplate{page number in head/foot}%
|
|
\fi
|
|
% logo:
|
|
\if@beamer@footline@logo%
|
|
\ifx\insertlogo\@empty\else\quad \raisebox{-1ex}{\insertlogo}\fi%
|
|
\fi
|
|
\end{beamercolorbox}
|
|
}
|
|
|
|
|
|
%%%%% footline: linesright
|
|
|
|
\defbeamertemplate{footline}{linesright}{%
|
|
\usebeamerfont{footline}%
|
|
\usebeamertemplate{footline line}%
|
|
\begin{beamercolorbox}[wd=1\paperwidth,dp=1.2ex,ht=2.8ex,sep=0pt,colsep=0pt,colsep*=0pt,%
|
|
leftskip=1\beamer@leftmargin,rightskip=1\beamer@rightmargin]{footline}
|
|
\hypersetup{linkcolor=}%
|
|
% page:
|
|
\if@beamer@footline@page
|
|
\usebeamertemplate{page number in head/foot}%
|
|
\fi
|
|
\hfill
|
|
\newif\if@tempsep%
|
|
\@tempsepfalse%
|
|
% author:
|
|
\if@beamer@footline@author
|
|
{\usebeamerfont{author in head/foot}%
|
|
\insertshortauthor}%
|
|
\@tempseptrue
|
|
\fi
|
|
% institute:
|
|
\if@beamer@footline@institute
|
|
\if@tempsep\usebeamertemplate{footline separator}\hskip0.6ex\fi
|
|
{\usebeamerfont{institute in head/foot}%
|
|
\insertshortinstitute}%
|
|
\@tempseptrue
|
|
\fi
|
|
% date:
|
|
\if@beamer@footline@date
|
|
\if@tempsep\usebeamertemplate{footline separator}\hskip0.6ex\fi
|
|
{\usebeamerfont{date in head/foot}%
|
|
\insertshortdate}%
|
|
\@tempseptrue
|
|
\fi
|
|
% title:
|
|
\if@beamer@footline@title
|
|
\if@tempsep\usebeamertemplate{footline separator}\hskip0.6ex\fi
|
|
{\usebeamerfont{title in head/foot}%
|
|
\insertshorttitle}%
|
|
\@tempseptrue
|
|
\fi
|
|
% logo:
|
|
\if@beamer@footline@logo%
|
|
\ifx\insertlogo\@empty\else\quad \raisebox{-1ex}{\insertlogo}\fi%
|
|
\fi
|
|
\end{beamercolorbox}
|
|
}
|
|
|
|
\setbeamertemplate{footline}[linesleft]
|
|
|
|
|
|
%%%%% frametitle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%%%%% frametitle line:
|
|
|
|
\defbeamertemplate{frametitle line}{text}[1][1pt]%
|
|
{
|
|
\ifbeamercolorempty[fg]{frametitle line}{}{%
|
|
\nointerlineskip%
|
|
\begin{beamercolorbox}[wd=\textwidth,dp=0pt,ht=#1,sep=0pt]{frametitle line}%
|
|
\rule{\columnwidth}{#1}%
|
|
\end{beamercolorbox}%
|
|
}%
|
|
}
|
|
\defbeamertemplate{frametitle line}{page}[1][1pt]%
|
|
{
|
|
\ifbeamercolorempty[fg]{frametitle line}{}{%
|
|
\nointerlineskip%
|
|
\begin{beamercolorbox}[wd=\paperwidth,dp=0pt,ht=#1,sep=0pt,%
|
|
leftskip=0pt,rightskip=0pt]{frametitle line}%
|
|
\rule{\paperwidth}{#1}%
|
|
\end{beamercolorbox}%
|
|
}%
|
|
}
|
|
|
|
\setbeamertemplate{frametitle line}[text][0.5pt]
|
|
|
|
|
|
%%%%% frametitle: boxline
|
|
|
|
\defbeamertemplate{frametitle}{boxline}%
|
|
{
|
|
\ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
|
|
\usebeamerfont{frametitle}%
|
|
\begin{beamercolorbox}[wd=1\paperwidth,dp=1.2ex,ht=3.2ex,sep=0pt,%
|
|
leftskip=1\beamer@leftmargin,rightskip=1\beamer@rightmargin]{frametitle}
|
|
\insertframetitle\strut
|
|
\end{beamercolorbox}%
|
|
\usebeamertemplate{frametitle line}%
|
|
\ifx\insertframesubtitle\@empty\else%
|
|
\vspace{-0.5ex}
|
|
\begin{beamercolorbox}[wd=1\paperwidth,sep=0pt,%
|
|
leftskip=1\beamer@leftmargin,rightskip=1\beamer@rightmargin]{framesubtitle}
|
|
\usebeamerfont{framesubtitle}\insertframesubtitle\strut
|
|
\end{beamercolorbox}%
|
|
\fi%
|
|
\vspace{-1ex}
|
|
}
|
|
\defbeamertemplate{frametitle}{boxlinelogo}%
|
|
{
|
|
\ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
|
|
\usebeamerfont{frametitle}%
|
|
\begin{beamercolorbox}[wd=1\paperwidth,dp=1.2ex,ht=3.2ex,sep=0pt,%
|
|
leftskip=1\beamer@leftmargin,rightskip=1\beamer@rightmargin]{frametitle}
|
|
\insertframetitle\strut%
|
|
\ifx\insertlogo\@empty%
|
|
\else%
|
|
\hfill \raisebox{-0.7ex}{\insertlogo}%
|
|
\fi%
|
|
\end{beamercolorbox}%
|
|
\usebeamertemplate{frametitle line}%
|
|
\ifx\insertframesubtitle\@empty\else%
|
|
\vspace{-0.5ex}
|
|
\begin{beamercolorbox}[wd=1\paperwidth,sep=0pt,%
|
|
leftskip=1\beamer@leftmargin,rightskip=1\beamer@rightmargin]{framesubtitle}
|
|
\usebeamerfont{framesubtitle}\insertframesubtitle\strut
|
|
\end{beamercolorbox}%
|
|
\fi%
|
|
\vspace{-1ex}
|
|
}
|
|
|
|
\setbeamertemplate{frametitle}[boxlinelogo]
|
|
|
|
|
|
%%%%% itemize and enumerate %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%%%%% itemize symbols:
|
|
|
|
\newcommand{\itemarrow}{\tikz[baseline]{%
|
|
\draw[line width=0.2ex] (0ex, 0.2ex) -- (0.45ex,0.7ex) -- (0ex, 1.2ex);}}
|
|
\newcommand{\itemdash}{\tikz[baseline]{%
|
|
\draw[line width=0.2ex] (0ex, 0.7ex) -- (0.9ex,0.7ex);}}
|
|
|
|
\defbeamertemplate{itemize item}{arrow}{\itemarrow}
|
|
\defbeamertemplate{itemize item}{dash}{\itemdash}
|
|
|
|
\defbeamertemplate{itemize subitem}{arrow}{\itemarrow}
|
|
\defbeamertemplate{itemize subitem}{dash}{\itemdash}
|
|
|
|
\setbeamertemplate{itemize item}[arrow] % default, triangle, circle, square, ball, arrow, dash
|
|
\setbeamertemplate{itemize subitem}[dash] % default, triangle, circle, square, ball, arrow, dash
|
|
|
|
|
|
%%%%% enumerate style:
|
|
|
|
\defbeamertemplate{enumerate item}{alph}{\alph{enumi})}
|
|
\defbeamertemplate{enumerate item}{Alph}{\Alph{enumi})}
|
|
\defbeamertemplate{enumerate item}{arabic}{\arabic{enumi}.}
|
|
\defbeamertemplate{enumerate item}{roman}{\roman{enumi}.}
|
|
\defbeamertemplate{enumerate item}{Roman}{\Roman{enumi}.}
|
|
|
|
\defbeamertemplate{enumerate subitem}{alph}{\alph{enumii})}
|
|
\defbeamertemplate{enumerate subitem}{arabic}{\arabic{enumii})}
|
|
\defbeamertemplate{enumerate subitem}{roman}{\roman{enumii})}
|
|
|
|
\setbeamertemplate{enumerate item}[arabic] % default, circle, square, ball, alph, Alph, arabic, roman, Roman
|
|
\setbeamertemplate{enumerate subitem}[alph] % default, circle, square, ball, alph, arabic, roman
|
|
|
|
|
|
%%%%% block environments:
|
|
|
|
\newcommand{\block@lines@begin}[3]{%
|
|
\par\vskip\medskipamount%
|
|
\usebeamerfont{block title#1}%
|
|
\IfStrEq{\insertblocktitle}{}{}{% % IfStrEq does not work for theorems!
|
|
\ifbeamercolorempty[fg]{block line#1 top}{}{%
|
|
\nointerlineskip
|
|
\begin{beamercolorbox}[wd=\linewidth,ht=#2]{block line#1 top}
|
|
\rule{\linewidth}{#2}
|
|
\end{beamercolorbox}
|
|
\nointerlineskip%
|
|
}
|
|
\begin{beamercolorbox}[wd=\linewidth,ht=2.4ex,dp=0.9ex,leftskip=2mm,rightskip=2mm]{block title#1}
|
|
\strut\insertblocktitle
|
|
\end{beamercolorbox}}
|
|
\nointerlineskip
|
|
\ifbeamercolorempty[fg]{block line#1 middle}{}{%
|
|
\begin{beamercolorbox}[wd=\linewidth,ht=#3]{block line#1 middle}
|
|
\rule{\linewidth}{#3}
|
|
\end{beamercolorbox}
|
|
\nointerlineskip}%
|
|
\usebeamerfont{block body#1}%
|
|
\begin{beamercolorbox}[wd=\linewidth,colsep=2mm]{block body#1}
|
|
}
|
|
|
|
\newcommand{\block@lines@end}[2]{%
|
|
\vspace{-0.4ex}%
|
|
\end{beamercolorbox}%
|
|
\ifbeamercolorempty[fg]{block line#1 bottom}{}{%
|
|
\nointerlineskip
|
|
\begin{beamercolorbox}[wd=\linewidth,ht=#2]{block line#1 bottom}
|
|
\rule{\linewidth}{#2}
|
|
\end{beamercolorbox}
|
|
}%
|
|
}
|
|
|
|
%%%%% block environment:
|
|
|
|
\defbeamertemplate{block begin}{lines}[2]{\block@lines@begin{}{#1}{#2}}
|
|
\defbeamertemplate{block end}{lines}[1]{\block@lines@end{}{#1}}
|
|
|
|
\setbeamertemplate{block begin}[lines]{0.5pt}{0.5pt}
|
|
\setbeamertemplate{block end}[lines]{0.5pt}
|
|
|
|
|
|
%%%%% block alerted environment:
|
|
|
|
\defbeamertemplate{block alerted begin}{lines}[2]{\block@lines@begin{ alerted}{#1}{#2}}
|
|
\defbeamertemplate{block alerted end}{lines}[1]{\block@lines@end{ alerted}{#1}}
|
|
|
|
\setbeamertemplate{block alerted begin}[lines]{0.5pt}{0.5pt}
|
|
\setbeamertemplate{block alerted end}[lines]{0.5pt}
|
|
|
|
|
|
%%%%% block example environment:
|
|
|
|
\defbeamertemplate{block example begin}{lines}[2]{\block@lines@begin{ example}{#1}{#2}}
|
|
\defbeamertemplate{block example end}{lines}[1]{\block@lines@end{ example}{#1}}
|
|
|
|
\setbeamertemplate{block example begin}[lines]{0.5pt}{0.5pt}
|
|
\setbeamertemplate{block example end}[lines]{0.5pt}
|
|
|
|
|
|
%%%%% theorem environments (theorem, corollary, fact, lemma, definition, example):
|
|
|
|
\newcommand{\theorem@lines@begin}[3]{%
|
|
\par\vskip\medskipamount%
|
|
\usebeamerfont{#1 title}%
|
|
\ifbeamercolorempty[fg]{#1 line top}{}{%
|
|
\nointerlineskip
|
|
\begin{beamercolorbox}[wd=\linewidth,ht=#2]{#1 line top}
|
|
\rule{\linewidth}{#2}
|
|
\end{beamercolorbox}
|
|
\nointerlineskip%
|
|
}
|
|
\begin{beamercolorbox}[wd=\linewidth,ht=2.4ex,dp=0.9ex,leftskip=2mm,rightskip=2mm]{#1 title}
|
|
\strut \insertblocktitle
|
|
\end{beamercolorbox}
|
|
\nointerlineskip
|
|
\ifbeamercolorempty[fg]{#1 line middle}{}{%
|
|
\begin{beamercolorbox}[wd=\linewidth,ht=#3]{#1 line middle}
|
|
\rule{\linewidth}{#3}
|
|
\end{beamercolorbox}
|
|
\nointerlineskip}%
|
|
\usebeamerfont{#1 body}%
|
|
\begin{beamercolorbox}[wd=\linewidth,colsep=2mm]{#1 body}
|
|
}
|
|
|
|
\newcommand{\theorem@lines@end}[2]{%
|
|
\vspace{-0.4ex}%
|
|
\end{beamercolorbox}%
|
|
\ifbeamercolorempty[fg]{#1 line bottom}{}{%
|
|
\nointerlineskip
|
|
\begin{beamercolorbox}[wd=\linewidth,ht=#2]{#1 line bottom}
|
|
\rule{\linewidth}{#2}
|
|
\end{beamercolorbox}
|
|
}%
|
|
}
|
|
|
|
\newenvironment<>{theoremblock}[1]{%
|
|
\begin{actionenv}#2%
|
|
\def\insertblocktitle{#1}%
|
|
\par%
|
|
\usebeamertemplate{block theorem begin}}
|
|
{\par%
|
|
\usebeamertemplate{block theorem end}%
|
|
\end{actionenv}}
|
|
|
|
\renewcommand{\inserttheoremblockenv}{theoremblock}
|
|
\renewcommand{\inserttheoremheadfont}{}
|
|
|
|
\defbeamertemplate{block theorem begin}{lines}[2]{\theorem@lines@begin{theorem}{#1}{#2}}
|
|
\defbeamertemplate{block theorem end}{lines}[1]{\theorem@lines@end{theorem}{#1}}
|
|
|
|
\setbeamertemplate{block theorem begin}[lines]{0.5pt}{0.5pt}
|
|
\setbeamertemplate{block theorem end}[lines]{0.5pt}
|
|
|
|
|
|
%%%%% new message box command:
|
|
|
|
\defbeamertemplate{message symbol}{default}{}
|
|
\defbeamertemplate{message symbol}{circle}{\raisebox{0.1ex}{$\bullet$}}
|
|
\defbeamertemplate{message symbol}{arrow}{\itemarrow}
|
|
|
|
\setbeamertemplate{message symbol}[circle]
|
|
|
|
\newcommand{\message@box@body}{
|
|
\begin{beamercolorbox}[wd=\linewidth,colsep=1mm,leftskip=1mm,rightskip=1mm]{message}
|
|
\setbox0=\hbox{\usebeamertemplate{message symbol}\unskip}%
|
|
\ifdim\wd0=0pt%
|
|
\strut\insertmessage
|
|
\else
|
|
\usebeamercolor[fg]{message symbol}
|
|
\parbox[t][][t]{1.8ex}{\usebeamertemplate{message symbol}}%
|
|
\usebeamercolor[fg]{message}
|
|
\parbox[t][][t]{\dimexpr\hsize-3.5ex\relax}{\raggedright\insertmessage}
|
|
\fi
|
|
\end{beamercolorbox}
|
|
}
|
|
|
|
\defbeamertemplate{message}{default}{%
|
|
\par\vskip\medskipamount%
|
|
\usebeamerfont{message}%
|
|
\message@box@body
|
|
}
|
|
|
|
\defbeamertemplate{message}{lines}[2]{%
|
|
\par\vskip\medskipamount%
|
|
\usebeamerfont{message}%
|
|
\ifbeamercolorempty[fg]{message line top}{}{%
|
|
\nointerlineskip
|
|
\begin{beamercolorbox}[wd=\linewidth,ht=#1]{message line top}
|
|
\rule{\linewidth}{#1}
|
|
\end{beamercolorbox}
|
|
\nointerlineskip}%
|
|
\message@box@body
|
|
\ifbeamercolorempty[fg]{message line bottom}{}{%
|
|
\nointerlineskip%
|
|
\begin{beamercolorbox}[wd=\linewidth,ht=#2]{message line bottom}
|
|
\rule{\linewidth}{#2}
|
|
\end{beamercolorbox}}%
|
|
\medskip
|
|
}
|
|
|
|
\setbeamertemplate{message}[lines]{1pt}{1pt}
|
|
|
|
\newcommand<>{\messagebox}[1]{%
|
|
\only#2{\def\insertmessage{#1}%
|
|
\usebeamertemplate*{message}}
|
|
}
|
|
|
|
|
|
%%%%% title page %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%%%%% title page graphic line:
|
|
|
|
\defbeamertemplate{title page graphic line}{default}[1][1ex]%
|
|
{
|
|
\ifbeamercolorempty[fg]{title page graphic line}{}{%
|
|
\nointerlineskip%
|
|
\begin{beamercolorbox}[wd=1\textwidth,dp=0pt,ht=#1,sep=0pt]{title page graphic line}%
|
|
\rule{1\linewidth}{#1}%
|
|
\end{beamercolorbox}%
|
|
}%
|
|
}
|
|
|
|
\setbeamertemplate{title page graphic line}[default][1.5ex]
|
|
|
|
|
|
%%%%% title page title line:
|
|
|
|
\defbeamertemplate{title page title line}{default}[1][1ex]%
|
|
{
|
|
\ifbeamercolorempty[fg]{title page title line}{}{%
|
|
\nointerlineskip%
|
|
\begin{beamercolorbox}[wd=1\textwidth,dp=0pt,ht=#1,sep=0pt]{title page title line}%
|
|
\rule{1\linewidth}{#1}%
|
|
\end{beamercolorbox}%
|
|
}%
|
|
}
|
|
|
|
\setbeamertemplate{title page title line}[default][0.2ex]
|
|
|
|
|
|
%%%%% title page author \and command:
|
|
|
|
\defbeamertemplate{title page author and}{space}{\def\beamer@andtitle{\quad}}
|
|
\defbeamertemplate{title page author and}{comma}{\def\beamer@andtitle{,\quad}}
|
|
\defbeamertemplate{title page author and}{line}{\def\beamer@andtitle{\enspace$\vert$\enspace\thickspace}}
|
|
\defbeamertemplate{title page author and}{and}{\def\beamer@andtitle{\thickspace\&\enspace}}
|
|
|
|
\setbeamertemplate{title page author and}[line]
|
|
|
|
|
|
%%%%% title page institute \and command:
|
|
|
|
\defbeamertemplate{title page institute and}{default}{}
|
|
\defbeamertemplate{title page institute and}{space}{\def\beamer@andinst{\quad}}
|
|
\defbeamertemplate{title page institute and}{comma}{\def\beamer@andinst{,\quad}}
|
|
\defbeamertemplate{title page institute and}{line}{\def\beamer@andinst{\enspace$\vert$\enspace\thickspace}}
|
|
|
|
\setbeamertemplate{title page institute and}[line]
|
|
|
|
|
|
%%%%% title page: leftlines
|
|
|
|
\defbeamertemplate*{title page}{leftlines}
|
|
{
|
|
\vbox{}
|
|
% title logo with line:
|
|
\ifx\inserttitlelogo\@empty\else%
|
|
\begin{beamercolorbox}[wd=\linewidth]{titlelogo}
|
|
\inserttitlelogo%
|
|
\end{beamercolorbox}%
|
|
\vspace{1.2ex}
|
|
\usebeamertemplate{frametitle line}%
|
|
\vspace{1ex}
|
|
\fi
|
|
% title graphic:
|
|
\ifx\inserttitlegraphic\@empty\else%
|
|
\begin{beamercolorbox}[wd=\linewidth]{titlegraphic}
|
|
\inserttitlegraphic%
|
|
\end{beamercolorbox}%
|
|
\usebeamertemplate{title page graphic line}%
|
|
\fi%
|
|
\vfill\vfill\vfill
|
|
% title:
|
|
\begin{beamercolorbox}{title}
|
|
\usebeamerfont{title}\inserttitle\par%
|
|
\end{beamercolorbox}%
|
|
% subtitle:
|
|
\ifx\insertsubtitle\@empty\else%
|
|
\vspace{1ex}
|
|
\begin{beamercolorbox}{subtitle}
|
|
\usebeamerfont{subtitle}\insertsubtitle\par%
|
|
\end{beamercolorbox}%
|
|
\fi%
|
|
\vfill
|
|
\usebeamertemplate{title page title line}%
|
|
\vfill
|
|
% author:
|
|
\begin{beamercolorbox}{author}
|
|
\usebeamertemplate{title page author and}%
|
|
\usebeamerfont{author}\insertauthor
|
|
\end{beamercolorbox}
|
|
\vfill
|
|
% institute and date:
|
|
\begin{beamercolorbox}{institute}
|
|
\usebeamertemplate{title page institute and}%
|
|
\usebeamerfont{institute}\insertinstitute
|
|
\hfill
|
|
\usebeamerfont{date}\insertdate
|
|
\end{beamercolorbox}
|
|
}
|
|
|
|
|
|
%%%%% title page: centerlines
|
|
|
|
\defbeamertemplate*{title page}{centerlines}
|
|
{
|
|
\vbox{}
|
|
% title logo with line:
|
|
\ifx\inserttitlelogo\@empty\else%
|
|
\begin{beamercolorbox}[wd=\linewidth,center]{titlelogo}
|
|
\inserttitlelogo%
|
|
\end{beamercolorbox}%
|
|
\vspace{1.2ex}
|
|
\usebeamertemplate{frametitle line}%
|
|
\vspace{1ex}
|
|
\fi
|
|
% title graphic:
|
|
\ifx\inserttitlegraphic\@empty\else%
|
|
\begin{beamercolorbox}[wd=\linewidth,center]{titlegraphic}
|
|
\inserttitlegraphic%
|
|
\end{beamercolorbox}%
|
|
\usebeamertemplate{title page graphic line}%
|
|
\fi%
|
|
\vfill\vfill\vfill
|
|
% title:
|
|
\begin{beamercolorbox}[center]{title}
|
|
\usebeamerfont{title}\inserttitle\par%
|
|
\end{beamercolorbox}%
|
|
% subtitle:
|
|
\ifx\insertsubtitle\@empty\else%
|
|
\vspace{1ex}
|
|
\begin{beamercolorbox}[center]{subtitle}
|
|
\usebeamerfont{subtitle}\insertsubtitle\par%
|
|
\end{beamercolorbox}%
|
|
\fi%
|
|
\vfill
|
|
\usebeamertemplate{title page title line}%
|
|
\vfill
|
|
% author:
|
|
\begin{beamercolorbox}[center]{author}
|
|
\usebeamertemplate{title page author and}%
|
|
\usebeamerfont{author}\insertauthor
|
|
\end{beamercolorbox}
|
|
\vfill
|
|
% institute and date:
|
|
\begin{beamercolorbox}[center]{institute}
|
|
\usebeamertemplate{title page institute and}%
|
|
\usebeamerfont{institute}\insertinstitute
|
|
\hfill
|
|
\usebeamerfont{date}\insertdate
|
|
\end{beamercolorbox}
|
|
}
|
|
|
|
\setbeamertemplate{title page}[leftlines]
|
|
|
|
|
|
%%%%% section page %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% section page separator: space
|
|
|
|
\defbeamertemplate{section name separator}{space}{}
|
|
|
|
% section page separator: text
|
|
|
|
\defbeamertemplate{section name separator}{text}[1][1pt]%
|
|
{
|
|
{\usebeamercolor[fg]{section name separator}
|
|
\rule[-0.5ex]{#1}{2.4ex}}
|
|
}
|
|
|
|
\setbeamertemplate{section name separator}[text][1pt]
|
|
|
|
|
|
%%%%% section page: left
|
|
|
|
\defbeamertemplate{section page}{left}[1][0.3\textheight]
|
|
{
|
|
\vspace{#1}%
|
|
\begin{columns}[t,onlytextwidth]
|
|
\begin{column}{0.1\textwidth}
|
|
\usebeamerfont{section name}%
|
|
\raggedleft{\usebeamercolor[fg]{section name}%
|
|
\makebox[0.5\linewidth][r]{\insertsectionnumber}%
|
|
\makebox[0.5\linewidth][c]{\usebeamertemplate{section name separator}}}%
|
|
\end{column}
|
|
\begin{column}{0.9\textwidth}
|
|
\usebeamerfont{section title}%
|
|
{\usebeamercolor[fg]{section title}\hypersetup{linkcolor=}\insertsection}%
|
|
\end{column}
|
|
\end{columns}
|
|
}
|
|
|
|
\setbeamertemplate{section page}[left][0.3\textheight]
|
|
|
|
|
|
%%%%% start each section with a special slide:
|
|
|
|
\AtBeginSection{
|
|
\frame[plain]{\sectionpage}
|
|
}
|
|
|
|
|
|
%%%%% subsection page %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% subsection page separator: space
|
|
|
|
\defbeamertemplate{subsection name separator}{space}{}
|
|
|
|
% subsection page separator: text
|
|
|
|
\defbeamertemplate{subsection name separator}{text}[1][1pt]%
|
|
{
|
|
{\usebeamercolor[fg]{subsection name separator}
|
|
\rule[-0.5ex]{#1}{2.4ex}}
|
|
}
|
|
|
|
\setbeamertemplate{subsection name separator}[text][1pt]
|
|
|
|
|
|
%%%%% subsection page: left
|
|
|
|
\defbeamertemplate{subsection page}{left}[1][0.3\textheight]%
|
|
{
|
|
\usebeamertemplate{section page}
|
|
\vspace{2ex}
|
|
\begin{columns}[t,onlytextwidth]
|
|
\begin{column}{0.1\textwidth}
|
|
\raggedleft%
|
|
\usebeamerfont{subsection name}%
|
|
{\usebeamercolor[fg]{subsection name}%
|
|
\makebox[0.5\linewidth][r]{\insertsubsectionnumber}%
|
|
\makebox[0.5\linewidth][c]{\usebeamertemplate{subsection name separator}}}%
|
|
\end{column}
|
|
\begin{column}{0.9\textwidth}
|
|
\usebeamerfont{subsection title}%
|
|
{\usebeamercolor[fg]{subsection title}\hypersetup{linkcolor=}\insertsubsection}%
|
|
\end{column}
|
|
\end{columns}
|
|
}
|
|
|
|
\setbeamertemplate{subsection page}[left][0.3\textheight]
|
|
|
|
|
|
%%%%% fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\renewcommand{\familydefault}{\sfdefault}
|
|
|
|
\setbeamerfont{normal text}{size=\normalsize}
|
|
|
|
\setbeamerfont{frametitle}{size=\LARGE}
|
|
\setbeamerfont{framesubtitle}{size=\large}
|
|
|
|
\setbeamerfont{title}{size=\LARGE, shape=\bfseries}
|
|
\setbeamerfont{subtitle}{size=\Large, shape=\bfseries}
|
|
\setbeamerfont{author}{size=\Large}
|
|
\setbeamerfont{institute}{size=\normalsize}
|
|
\setbeamerfont{date}{size=\tiny}
|
|
|
|
\setbeamerfont{block title}{parent={normal text}}
|
|
\setbeamerfont{block body}{parent={normal text}}
|
|
\setbeamerfont{block title alerted}{parent={block title}}
|
|
\setbeamerfont{block body alerted}{parent={block body}}
|
|
\setbeamerfont{block title example}{parent={block title}}
|
|
\setbeamerfont{block body example}{parent={block body}}
|
|
\setbeamerfont{theorem title}{parent={block title}}
|
|
\setbeamerfont{theorem body}{parent={block body}}
|
|
|
|
\setbeamerfont{message}{parent={normal text}, size=\large}
|
|
|
|
\setbeamerfont*{section title}{size=\huge}
|
|
\setbeamerfont*{section name}{size=\huge}
|
|
\setbeamerfont*{subsection title}{size=\Large}
|
|
\setbeamerfont*{subsection name}{size=\Large}
|
|
|
|
\setbeamerfont{footline}{size=\footnotesize}
|
|
\setbeamerfont{author in head/foot}{}
|
|
\setbeamerfont{date in head/foot}{}
|
|
\setbeamerfont{institute in head/foot}{}
|
|
\setbeamerfont{title in head/foot}{}
|
|
\setbeamerfont{page number in head/foot}{}
|
|
|
|
\mode<all>
|