X-Git-Url: https://git.siccegge.de//index.cgi?p=talk%2Fattack-i2p-raid2013.git;a=blobdiff_plain;f=beamerthemei4.sty;fp=beamerthemei4.sty;h=d1eef55e1d6be80515c2a93b078a5936ad09f326;hp=0000000000000000000000000000000000000000;hb=49171a38bb4035802a0698c15fb364117ec1aeb7;hpb=f182ea55a9fe4d1933e0d3857689aae8ce9b443c diff --git a/beamerthemei4.sty b/beamerthemei4.sty new file mode 100644 index 0000000..d1eef55 --- /dev/null +++ b/beamerthemei4.sty @@ -0,0 +1,207 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% $Id$ +% +% a beamer style for i4 +% +% Copyright 2009 by Daniel Lohmann (dl@cs.fau.de) +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\mode + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% color setup +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \definecolor{i4red}{rgb}{0.69,0.11,0.18} + \definecolor{i4blue}{rgb}{0.0,0.4,0.62} + \definecolor{i4gray}{rgb}{0.827,0.827,0.827} + \definecolor{darkred}{rgb}{0.8,0,0} + + % the "example green" beamer defines in the default colortheme + \colorlet{beamergreen}{green!50!black} + + \setbeamercolor{structure}{fg=i4blue,bg={}} + \setbeamercolor{section in toc}{fg=black,bg={}} + \setbeamercolor{subsection in toc}{fg=black,bg={}} + \setbeamercolor{alerted text}{fg=i4red} + \setbeamercolor*{palette primary}{fg=black,bg=white} + \setbeamercolor*{palette secondary}{fg=i4blue,bg=white} + \setbeamercolor*{palette tertiary}{fg=i4red,bg=white} + \setbeamercolor*{palette quaternary}{fg=darkred,bg=gray!5!white} + \setbeamercolor{titlelike}{parent=structure} + \setbeamercolor{itemize subitem}{fg=i4red} + \setbeamercolor{page number in head/foot}{fg=i4red} + \setbeamercolor{sidebar left}{bg={}} + \setbeamercolor{footline}{parent=structure} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% background image setup +% +% This is the real trick :-) All graphical elements of the i4-layout are just +% in the background image. To support the "plain"-option for frames, we actually +% need two different background images (and probably a third one for the title +% slide, don't know yet) +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \usebackgroundtemplate{ + \ifbeamer@plainframe% + \includegraphics[width=\paperwidth]{beamerthemei4_bgplain}% + \else % + \includegraphics[width=\paperwidth]{beamerthemei4_bg} + \fi% + } + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% enumeration style and borders setup +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \setbeamersize{sidebar width left=1.07cm} + \setbeamersize{text margin left=0.5em} + \setbeamersize{text margin right=3.5mm} + + % the top-level item symbol is rendered into the sidebar + \setbeamertemplate{itemize item}{\raise.5pt\hbox{\vrule width 1ex height 1ex}\hspace{0.5em}} + \setbeamertemplate{itemize subitem}{\raise.5pt\hbox{\vrule width 0.8ex height 0.8ex}} + \setbeamertemplate{itemize subsubitem}{\raise.5ex\hbox{\vrule width 1ex height 0.2ex}} + \setbeamertemplate{headline}[default] + + \setlength{\labelwidth}{2em} + \setlength{\labelsep}{0.5em} + \setlength{\leftmargini}{0em} + \setlength{\leftmarginii}{1em} + \setlength{\leftmarginiii}{1em} + +% the above looks nice on slides, but bad in block environments; hence we override +% beamers original block envs to modify them + + % command to be installed at the begin of every block environment + \newcommand{\beamerblock}{ + \setbeamertemplate{itemize item}{\raise.5pt\hbox{\vrule width 0.8ex height 0.8ex}} + \setbeamertemplate{itemize subitem}{\raise.5pt\hbox{\vrule width 0.6ex height 0.6ex}} + \setlength{\leftmargini}{1.5em} + \setlength{\labelsep}{0.5em} + } + + \renewenvironment{block}[1]{% + \begin{actionenv}% + \beamerblock% + \def\insertblocktitle{#1}% + \par% + \usebeamertemplate{block begin}} + {\par% + \usebeamertemplate{block end}% + \end{actionenv} + } + \renewenvironment{alertblock}[1]{% + \begin{actionenv}% + \beamerblock% + \def\insertblocktitle{#1}% + \par% + \mode{%\usebeamerfont{block}% + \setbeamercolor{local structure}{parent=alerted text}}% + \usebeamertemplate{block alerted begin}} + {\par% + \usebeamertemplate{block alerted end}% + \end{actionenv} + } + \renewenvironment{exampleblock}[1]{% + \begin{actionenv}% + \beamerblock% + \def\insertblocktitle{#1}% + \par% + \mode{%\usebeamerfont{block}% + \setbeamercolor{local structure}{parent=example text}}% + \usebeamertemplate{block example begin}} + {\par% + \usebeamertemplate{block example end}% + \end{actionenv} + } + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% footline definitions +% +% The footline is one of the things that are heavily customizable in beamer using +% outer themes. However, we skip (and do not support) all those fancy beamer +% themes here and just let beamer it render as text line. This gives us full +% control and easy adaptation, but some things (especially the vertical layout) +% remain a bit hacky :-) +% +% To provide for more easy customization within presentations, the framenumbering +% can be customized (and also locally surpressed) by overwriting the +% macro \InsertFrameNumber +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % default style for frame numbers + \def\InsertFrameNumber{\insertframenumber\,--\,\inserttotalframenumber} + \setbeamertemplate{footline}[text line]{ + % beamer has already set footline color/font here + % + % use raisebox to align footline with i4logo + \raisebox{2.5mm}{\vbox{ + % insert a strut (invisible vertical line) to prevent line breaks + \rule{0mm}{3mm} + % here the real content starts + % print author and title + \insertshortauthor + \hspace{2em} + \insertshorttitle + % if a shortdate is given, print it in brackets after the title + \ifx\insertshortdate\@empty + \else + ~(\insertshortdate) + \fi + \hspace{2em} + % if section/subsection are defined, print them (seperated by an em-dash) + \ifx\insertsection\@empty% + \else% + \insertsection% + \ifx\insertsubsection\@empty% + \else% + \,--\,\insertsubsection% + \fi + \fi + % print the remaining stuff right-aligned + \hfill + % print page number + { + \usebeamercolor[fg]{page number in head/foot}\usebeamerfont{page number in head/foot} + \parbox[t]{0.7cm}{\centering{\InsertFrameNumber}} + }% + }} + } + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% frametitle setup +% +% This is probably the most hacky part of i4beamer We completely overwrite the +% code beamer uses to render the frame title, especially to get the vertical +% spacing and alignment right, so it fits with the "background". +% +% The i4-Layout does not really offer space for subtitles. We support them +% anyway by printing them right-aligned. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \setbeamertemplate{frametitle}{ + \usebeamerfont{frametitle}\usebeamercolor[fg]{frametitle} + \insertframetitle\strut + \ifx\insertframesubtitle\@empty + \else {% + \usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle} + \hfill\insertframesubtitle\strut + }% + \fi + \par\vskip2pt + } + +\mode +