%% %% This is file `beamerouterthemeUR.sty' version 2.0 (2017/04/05), %% it is part of %% urcls -- Corporate Design for the University of Regensburg %% ---------------------------------------------------------------------------- %% %% Copyright (C) 2014--2017 by Marei Peischl %% %% ---------------------------------------------------------------------------- %% License information %% ---------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% The Current Maintainer of this work is Marei Peischl. %% %% ============================================================================ %% %% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz %% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle %% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und %% Version 1.3c oder neuer ist Teil aller LaTeX-Distributionen ab 2005/12/01. %% Dieses Werk hat den LPPL-Verwaltungs-Status "maintained". %% Die Verwaltung liegt aktuell bei der Autorin, Marei Peischl. %% %% ---------------------------------------------------------------------------- %% End of license information %% ---------------------------------------------------------------------------- %% \NeedsTeXFormat{LaTeX2e} \def\fileversion{2.0} \def\filedate{2017/04/05} \RequirePackage{expl3} \ProvidesExplPackage{beamerouterthemeUR}{\filedate}{\fileversion}{beameroutertheme for the University of Regensburg} \RequirePackage{URoptions} \Define@specialopt@Module \clist_map_inline:nn {logotext,alignwithbar,framenumber,externalize,coloredboxes,depcaps} {\UR_new@BoolOpt {#1}} \UR@define@draftfinalkeys \bool_new:N \g_UR@ShowHeadline_bool \bool_new:N \g_UR@ShowHeadauthor_bool \UR@create@ChoiceKey{headline}[true]{ {true}{ \bool_gset_true:N \g_UR@ShowHeadline_bool \bool_gset_true:N \g_UR@ShowHeadauthor_bool \def\UR@headline@setting{true/author} }, {false}{ \bool_gset_false:N \g_UR@ShowHeadline_bool \bool_gset_false:N \g_UR@ShowHeadauthor_bool \def\UR@headline@setting{false/empty} }, {plain}{ \bool_gset_true:N \g_UR@ShowHeadline_bool \bool_gset_false:N \g_UR@ShowHeadauthor_bool \def\UR@headline@setting{plain/noauthor} }, {default}{ \bool_gset_true:N \g_UR@ShowHeadline_bool \bool_gset_true:N \g_UR@ShowHeadauthor_bool \def\UR@headline@setting{default (true)} } } \UR_Define@Key:n { headline / noauthor .meta:n = {headline=plain}, headline / empty .meta:n = {headline=false}, headline / author .meta:n = {headline=true} } \UR_Define@Key:n { cdlayout .meta:n = {depcaps=#1,logotext=#1,alignwithbar=#1}, cdlayout .default:n = true } \exp_args:Nx \ProcessKeysOptions { \@currname.\@currext } \PassOptionsToPackage{RGB}{URcolors} \RequirePackage{URrules} % New Variables %Headlineboxes \box_new:N \g_UR@headline@author_box \box_new:N \g_UR@headline_box \dim_new:N \l_UR@halfradius_dim %Additional Title Definitions % \author command \newcommand*{\URbeamerIgnoreMeta}[1]{\texorpdfstring{#1}{}} \def\author{\@dblarg\UR@beamer@author} \long\def\UR@beamer@author[#1]#2{% \def\insertauthor{\def\inst{\beamer@insttitle}\def\and{\beamer@andtitle}#2}% \def\beamer@shortauthor{#1}% \ifbeamer@autopdfinfo% { \let\URbeamerIgnoreMeta\use_none:n\let\inst=\@gobble\let\thanks=\@gobble\def\and{, } \tl_set:Nx \l_tmpa_tl {#2} \tl_if_empty:NF \l_tmpa_tl { \seq_set_split:NnV \l_tmpa_seq {\and} \l_tmpa_tl \hypersetup{pdfauthor={\seq_use:Nn \l_tmpa_seq {, }}} } } \fi% } \author{} %end of \author command %institude command \def\institute{\@dblarg\beamer@institute} \long\def\beamer@institute[#1]#2{% \def\beamer@temp{#2}% \ifx\beamer@temp\@empty \def\insertinstitute{} \else \def\insertinstitute{\def\inst{\beamer@instinst}\def\and{\beamer@andinst}#2}% \fi \def\beamer@shortinstitute{#1} \def\UR@beamer@insertinstitute{#2}} \institute{} %end of institute command %\department command \def\department{\@dblarg\UR@beamer@department} \if_bool:N \g_UR@depcaps_bool \RequirePackage{textcase} \newcommand{\UR@depcaps}[1]{\MakeTextUppercase{#1}} \long\def\UR@beamer@department[#1]#2{% \def\beamer@temp{#2} \ifx\beamer@temp\@empty \def\insertdepartment{} \else \def\insertdepartment{% \cs_set_protected:Npn \and {\newline} \cs_set_protected:Npn \inst ####1 { \beamer@instinst{####1} } \UR@depcaps{#2} }% \fi \def\beamer@shortdepartment{ \let\inst\use_none:n \def\and{\quad} \UR@depcaps{#1} } } \else: \long\def\UR@beamer@department[#1]#2{% \def\beamer@temp{#2}% \ifx\beamer@temp\@empty \def\insertdepartment{} \else \def\insertdepartment{\def\inst{\beamer@instinst}\def\and{\qquad}#2}% \fi \def\beamer@shortdepartment{#1}} \fi: \department{} \newcommand\insertshortdepartment[1][]{% {% \let\thanks=\@gobble% \beamer@setupshort{#1}% \beamer@insertshort{\beamer@shortdepartment}% }} %end of \department command % \chair command \def\chair{\@dblarg\UR@beamer@chair} \long\def\UR@beamer@chair[#1]#2{% \def\beamer@temp{#2}% \ifx\beamer@temp\@empty \def\insertchair{} \else \def\insertchair{#2}% \fi \def\beamer@shortchair{#1}} \chair{} \newcommand\insertshortchair[1][]{% {% \beamer@setupshort{#1}% \beamer@insertshort{\beamer@shortchair}% }} % end of \chair command \mode \cs_new:Nn \UR_setup@author@headline: { \UR@tikzexternaldisable \hbox_gset:Nn \g_UR@headline@author_box { \begin{tikzpicture} \UR_beamer@headline: \node[anchor=north~west,inner~ysep=1.5pt, inner~xsep=0pt, outer~sep=0pt] at (grauerstreifen) { \parbox[t][\dimexpr3.2\UR@beamer@halfradius-3pt\relax][t]{\dimexpr\l_UR@linelength_dim-1.5pt\relax}{ {\usebeamerfont{shortauthor} \insertshortauthor[width=\linewidth]\par} \expandafter\ifx\csname beamer@shortinstitute\endcsname\empty \expandafter\ifx\csname beamer@shortchair\endcsname\empty \else% {\usebeamerfont{shortchair}\insertshortchair[width=\linewidth]\par} \fi% \else% {\usebeamerfont{shortinstitute}\insertshortinstitute[width=\linewidth]\par} \fi% \usebeamerfont{shortdepartment}\insertshortdepartment[width=\linewidth] } }; \useasboundingbox(0,0)rectangle(\paperwidth,-6.2\UR@beamer@halfradius); \end{tikzpicture} } \UR@tikzexternalenable } \setbeamertemplate{navigation symbols}{} %End of additional Title definitions and adjustments \int_while_do:nn {\l_UR@temp_int<\clist_count:N \g_UR@dep_clist} { \int_incr:N \l_UR@temp_int \bool_if:cT{g_UR@dep\int_use:N\l_UR@temp_int _bool}{\colorlet{UR@color@basic}{UR@color@\int_use:N\l_UR@temp_int}} } \bool_if:NTF \g_UR@coloredboxes_bool { \int_compare:nTF {\g_UR@dep_int = 1} { \int_zero:N \l_UR@temp_int \int_while_do:nn {\l_UR@temp_int<\clist_count:N \g_UR@dep_clist} { \int_incr:N \l_UR@temp_int \bool_if:cT{g_UR@dep\int_use:N\l_UR@temp_int _bool}{\colorlet{UR@color@basic}{UR@color@\int_use:N\l_UR@temp_int}} } }{ \msg_new:nnn {beamerouterthemeUR}{coloredboxes_multiple}{You~ must~ not~ select~ multiple~ color~ options~ with~ coloredboxes.\\\\ coloredboxes~ is~ only~ available~ for~ single~ color~ setup.\\\\ Disabling~ coloredboxes. } \msg_warning:nn {beamerouterthemeUR}{coloredboxes_multiple} \colorlet{UR@color@basic}{UR@reingrau} } } {\colorlet{UR@color@basic}{UR@reingrau}} \int_compare:nTF {\g_UR@dep_int = 1} { \int_zero:N \l_UR@temp_int \int_while_do:nn {\l_UR@temp_int<\clist_count:N \g_UR@dep_clist} { \int_incr:N \l_UR@temp_int \bool_if:cT{g_UR@dep\int_use:N\l_UR@temp_int _bool}{ \colorlet{UR@color@alert}{-UR@color@\int_use:N\l_UR@temp_int} \colorlet{UR@color@example}{UR@color@\int_use:N\l_UR@temp_int} } } }{ \colorlet{UR@color@alert}{red} \colorlet{UR@color@example}{green} } \dim_set:Nn \l_UR@halfradius_dim {.215cm} \newlength{\UR@beamer@halfradius} \setlength{\UR@beamer@halfradius}{\l_UR@halfradius_dim} \UR@create@colorlinebox[3\UR@beamer@halfradius]<(\paperwidth-10\UR@beamer@halfradius)/2>{UR_beamer@headbar} \cs_new:Nn \UR_beamer@headline: { \dim_set:Nn \l_UR@linelength_dim {(\paperwidth-10\UR@beamer@halfradius)/2} \fill[UR@reingrau](10\UR@beamer@halfradius,0)rectangle++(\l_UR@linelength_dim,-3\UR@beamer@halfradius); \coordinate(grauerstreifen) at (10\UR@beamer@halfradius+\l_UR@linelength_dim,-3\UR@beamer@halfradius); \node[UR@logo] at (3\UR@beamer@halfradius,-\UR@beamer@halfradius) {\UR_beamer@headlinelogo:}; \node[anchor=south~west,inner~sep=0pt,outer~sep=0pt] at (grauerstreifen) {\box_use:N \UR_beamer@headbar}; } %Logo Declaration %\if option fsimphy is active use corresponding logo instead of UR \bool_if:NTF \g_UR@draft_bool { \cs_new:Nn \UR_beamer@headlinelogo: {\tikz\draw(0,0)rectangle(12\UR@beamer@halfradius,4\UR@beamer@halfradius);} \cs_new:Nn \UR_beamer@titlelogo: {\tikz\draw(0,0)rectangle(24\UR@beamer@halfradius,8\UR@beamer@halfradius);} }{ \cs_new:Nn \UR_beamer@headlinelogo: {\pgfuseimage{UR@beamer@headlinelogo}} \cs_new:Nn \UR_beamer@titlelogo: {\pgfuseimage{UR@beamer@titlepagelogo}} \cs_if_exist:NTF \UR@opt@logo { \exp_args:Nx \tl_if_eq:nnTF {\UR@opt@logo} {fsimphy} {\pgfdeclareimage[width=24\UR@beamer@halfradius]{UR@beamer@titlepagelogo}{FSIlogotext} \bool_if:NTF \g_UR@logotext_bool {\pgfdeclareimage[width=12\UR@beamer@halfradius]{UR@beamer@headlinelogo}{FSIlogotext}} {\pgfdeclareimage[height=4\UR@beamer@halfradius]{UR@beamer@headlinelogo}{FSIlogo}} }{ \pgfdeclareimage[width=24\UR@beamer@halfradius]{UR@beamer@titlepagelogo}{\UR@opt@logo} \pgfdeclareimage[width=12\UR@beamer@halfradius]{UR@beamer@headlinelogo}{\UR@opt@logo} } }{ \pgfdeclareimage[width=24\UR@beamer@halfradius]{UR@beamer@titlepagelogo}{urlogotext} \bool_if:NTF \g_UR@logotext_bool {\pgfdeclareimage[width=12\UR@beamer@halfradius]{UR@beamer@headlinelogo}{urlogotext}} {\pgfdeclareimage[height=4\UR@beamer@halfradius]{UR@beamer@headlinelogo}{urlogo}} } } \titlegraphic{\UR_beamer@titlelogo:} %Option für tikzexternalize \bool_if:NTF \g_UR@externalize_bool{ \ExplSyntaxOff \usetikzlibrary{external} \ExplSyntaxOn \newcommand*\UR@tikzexternalenable{\tikzexternalenable} \newcommand*\UR@tikzexternaldisable{\tikzexternaldisable} }{ \newcommand*\UR@tikzexternalenable{\relax} \newcommand*\UR@tikzexternaldisable{\relax} } \hbox_gset:Nn \g_UR@headline_box { \UR@tikzexternaldisable \begin{tikzpicture} \UR_beamer@headline: \useasboundingbox(0,0)rectangle(\paperwidth,-6.2\UR@beamer@halfradius); \end{tikzpicture} \UR@tikzexternalenable } \AtBeginDocument{\UR_setup@author@headline:} \defbeamertemplate{headline}{URtheme~author}{ \UR@tikzexternaldisable \box_use:N \g_UR@headline@author_box \bool_if:NT \g_UR@framenumber_bool { \par \usebeamercolor[fg]{headline~framenumber}\usebeamerfont{framenumber} \tikz{ \useasboundingbox (0,0) -- (\paperwidth,0); \node[anchor=east, outer~sep=0pt,inner~ysep=0pt,inner~xsep=3pt] at (\paperwidth, \dim_eval:n {\box_ht:N\g_UR@headline@author_box +\box_dp:N\g_UR@headline@author_box - 1.5\UR@beamer@halfradius}) {\insertframenumber}; } } \UR@tikzexternalenable } \defbeamertemplate{headline}{URtheme~plain}{% \UR@tikzexternaldisable \box_use:N \g_UR@headline_box \bool_if:NT \g_UR@framenumber_bool { \par \usebeamercolor[fg]{headline~framenumber}\usebeamerfont{framenumber} \tikz{ \useasboundingbox (0,0) -- (\paperwidth,0); \node[anchor=east, outer~sep=0pt,inner~ysep=0pt,inner~xsep=3pt] at (\paperwidth, \dim_eval:n {\box_ht:N\g_UR@headline_box +\box_dp:N\g_UR@headline_box - 1.5\UR@beamer@halfradius}) {\insertframenumber}; } } } %Set default headline template \bool_if:NTF \g_UR@ShowHeadline_bool { \bool_if:NTF \g_UR@ShowHeadauthor_bool { \defbeamertemplatealias{headline}{URtheme}{URtheme~author} }{ \defbeamertemplatealias{headline}{URtheme}{URtheme~plain} } }{ \defbeamertemplatealias{headline}{URtheme}{URtheme~empty} } \setbeamertemplate{headline}[URtheme] % Frame title \defbeamertemplate*{frametitle}{URtheme}[1][left] { \nointerlineskip \@tempdima=\textwidth% \begin{beamercolorbox}[#1,wd=\the\@tempdima]{frametitle} \usebeamerfont{frametitle}% \vbox{}\vskip-1ex% \if@tempswa\else\csname beamer@fte#1\endcsname\fi% \strut\insertframetitle\strut\par% {% \ifx\insertframesubtitle\@empty% \else% {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\insertframesubtitle\strut\par}% \fi }% \vskip-1ex% \if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here... \end{beamercolorbox}% } \UR@create@colorlinebox[-6\UR@beamer@halfradius]<\paperwidth-20\UR@beamer@halfradius>{UR@beamer@titlecolorbox} %Title Page \defbeamertemplate*{title~page}{URtheme}{ \UR_setup@author@headline: \begin{beamercolorbox}[wd=\paperwidth,ht=\paperheight]{title~page} \UR@tikzexternaldisable% \begin{tikzpicture} \useasboundingbox (0,0) rectangle (\paperwidth,-\paperheight); \coordinate (NWB) at (20\UR@beamer@halfradius,-2\paperheight/3); %north west corner of the bar \coordinate (NEB) at (\paperwidth,-2\paperheight/3);%north east corner of the bar \coordinate (NWL) at (6\UR@beamer@halfradius,-2\paperheight/3-2\UR@beamer@halfradius);%north west corner of the logo \coordinate (NWT) at (20\UR@beamer@halfradius,-\paperheight/3); %north west of the title box \coordinate (SWA) at (20\UR@beamer@halfradius,-2\paperheight/3); %south west of the author box \fill[UR@hellgrau](current~bounding~box.north~ west)rectangle(NEB); \node[UR@logo] at (NWL) {\inserttitlegraphic};%(6\UR@beamer@halfradius,-2\paperheight/3-\UR@beamer@halfradius) \node[UR@logo] at (NWB) {\usebox{\UR@beamer@titlecolorbox}}; \node[anchor=south~west,inner~xsep=0pt, inner~ysep=.2em,outer~sep=0pt] (authordata) at (SWA) {\begin{minipage}[b]{.65\paperwidth} \usebeamerfont{author} {\usebeamerfont{date}\usebeamercolor[fg]{date}\insertdate\par}% {\usebeamerfont{author}\usebeamercolor[fg]{author}\insertauthor\par}% \ifx\insertdepartment\empty \ifx\insertchair\empty \else {\usebeamerfont{chair}\usebeamercolor[fg]{chair}\insertchair\par}% \fi \par\vspace{.2\baselineskip} {\usebeamerfont{department}\usebeamercolor[fg]{department}\insertinstitute\par}% \else% \ifx\insertinstitute\empty {\usebeamerfont{chair}\usebeamercolor[fg]{chair}\insertchair\par}% \else% {\usebeamerfont{institute}\usebeamercolor[fg]{institute}\insertinstitute\par}% \fi% \par\vspace{.2\baselineskip} {\usebeamerfont{department}\usebeamercolor[fg]{department}\insertdepartment\par} \fi \end{minipage} }; \node[inner~sep=0pt,outer~sep=0pt,anchor=south~west] at (authordata.north~west) {% \begin{minipage}[t]{.65\paperwidth} {\usebeamerfont{title}\usebeamercolor[fg]{title}\inserttitle} \par \vspace{.2\baselineskip} {\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle} \end{minipage} }; \end{tikzpicture} \end{beamercolorbox} \UR@tikzexternalenable } \bool_if:NTF \g_UR@alignwithbar_bool {\setbeamersize{text~ margin~ left=10\UR@beamer@halfradius,text~ margin~ right=3\UR@beamer@halfradius}} {\setbeamersize{text~ margin~ left=3\UR@beamer@halfradius,text~ margin~ right=3\UR@beamer@halfradius}} \def\maketitle{ \ifbeamer@inframe\titlepage\else\frame{\titlepage}\fi } \setbeamertemplate{navigation~symbols}{} \mode \endinput