summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/base.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/base.dtx')
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/base.dtx355
1 files changed, 355 insertions, 0 deletions
diff --git a/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/base.dtx b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/base.dtx
new file mode 100644
index 0000000000..bd98ea6773
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/fibeamer/theme/bs/base.dtx
@@ -0,0 +1,355 @@
+% \iffalse
+%<*color>
+% \fi\file{theme/bs/beamercolorthemefibeamer-bs.sty}
+% This is the base color theme for presentations written at the
+% Masaryk University in Brno.
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{fibeamer/theme/bs/%
+ beamercolorthemefibeamer-bs}[2016/05/06]
+% \end{macrocode}
+% \begin{macro}{\darkframes}
+% The |darkframes| environment switches the color definitions to
+% render the enclosed frames in dark colors. This is a dummy
+% definition, which will be overridden by the subsequently loaded
+% color theme in the presentation mode.
+% \begin{macrocode}
+\newenvironment{darkframes}{}{}
+% \end{macrocode}
+% \end{macro}
+% The rest of the theme will be ignored outside the presentation
+% mode.
+% \begin{macrocode}
+\mode<presentation>
+% \end{macrocode}
+% The theme loads the following packages, which will be used by the
+% subsequently loaded color theme specific to a faculty:
+% \begin{itemize}
+% \item\textsf{listings} -- This package is used for code
+% listings. The subsequently loaded color theme will specify
+% source code coloring for the package.
+% \item\textsf{ifthen} -- This package is used to construct
+% compound conditionals.
+% \item\textsf{tikz} -- This package is used to create gradient
+% background for dark slides.
+% \end{itemize}
+% \begin{macrocode}
+ \RequirePackage{listings}
+ \RequirePackage{ifthen}
+ \RequirePackage{tikz}
+% \end{macrocode}
+% \begin{macro}{\iffibeamer@dark}
+% The |\iffibeamer@dark| conditional will be switched on and off by
+% the subsequently loaded color theme based on whether or not the
+% given frame is being typeset in light or dark colors. This
+% information will be used by outer themes to insert the correct
+% logo into each frame.
+% \begin{macrocode}
+ \newif\iffibeamer@dark\fibeamer@darkfalse
+% \end{macrocode}
+% \end{macro}
+% A frame that is either title or dark, as specified by the value
+% of the |\iffibeamer@dark| conditional, will have a gradient
+% background as specified by the |fibeamer@dark@backgroundInner|
+% and |fibeamer@light@backgroundOuter| colors that shall be defined
+% by the subsequently loaded color theme.
+%
+% A frame that is neither title nor dark, as specified by the value
+% of the |\iffibeamer@dark| conditional, will have a gradient
+% background as specified by the |fibeamer@light@backgroundInner|
+% and |fibeamer@light@backgroundOuter| colors that shall be defined
+% by the subsequently loaded color theme.
+% \begin{macrocode}
+ \defbeamertemplate*{background canvas}{fibeamer}{%
+ \ifthenelse{%
+ \boolean{fibeamer@dark} \OR \c@framenumber=0
+ }{%
+ \begin{tikzpicture}
+ \clip (0,\fibeamer@lengths@clipbottom) rectangle
+ (\paperwidth,\fibeamer@lengths@cliptop);
+ \path [inner color = fibeamer@dark@backgroundInner,
+ outer color = fibeamer@dark@backgroundOuter]
+ (0,0) rectangle (\paperwidth,\paperwidth);
+ \end{tikzpicture}
+ }{%
+ \begin{tikzpicture}
+ \clip (0,\fibeamer@lengths@clipbottom) rectangle
+ (\paperwidth,\fibeamer@lengths@cliptop);
+ \path [inner color = fibeamer@light@backgroundInner,
+ outer color = fibeamer@light@backgroundOuter]
+ (0,0) rectangle (\paperwidth,\paperwidth);
+ \end{tikzpicture}
+ }}
+% \end{macrocode}
+% The |\qed| symbol inserted at the end of proofs will have the
+% same color as the rest of the proof.
+% \begin{macrocode}
+ \setbeamercolor{qed symbol}{%
+ use=block body,
+ fg=block body.fg,
+ bg=block body.bg}
+% \end{macrocode}
+% The links can be colored by the subsequently loaded color themes.
+% \begin{macrocode}
+ \hypersetup{colorlinks,linkcolor=}
+\mode
+<all>
+% \end{macrocode}
+% \iffalse
+%</color>
+%<*font>
+% \fi\file{theme/bs/beamerfontthemefibeamer-bs.sty}
+% This is the base font theme for presentations written at the
+% Masaryk University in Brno. The theme has no effect outside the
+% presentation mode.
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{fibeamer/theme/bs/%
+ beamerfontthemefibeamer-bs}[2016/01/12]
+\mode<presentation>
+ \setbeamerfont{normal text}{size=\normalsize}
+ \setbeamerfont{title}{size=\LARGE, series=\bfseries}
+ \setbeamerfont{subtitle}{parent=normal text, size=\Large}
+ \setbeamerfont{frametitle}{size=\Large}
+ \setbeamerfont{framesubtitle}{size=\large, shape=\itshape}
+ \setbeamerfont{description item}{series=\bfseries}
+ \setbeamerfont{author}{size=\large}
+\mode
+<all>
+% \end{macrocode}
+% \iffalse
+%</font>
+%<*inner>
+% \fi\file{theme/bs/beamerinnerthemefibeamer-bs.sty}
+% This is the base inner theme for presentations written at the
+% Masaryk University in Brno. The theme has no effect outside the
+% presentation mode.
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{fibeamer/theme/bs/%
+ beamerinnerthemefibeamer-bs}[2016/01/14]
+\mode<presentation>
+% \end{macrocode}
+% This part of the inner theme defines the design of lists.
+% \begin{macrocode}
+\defbeamertemplate*{itemize item}{fibeamer}{$\bullet$}
+\defbeamertemplate*{itemize subitem}{fibeamer}{\---}
+\defbeamertemplate*{itemize subsubitem}{fibeamer}{\guillemotright}
+% \end{macrocode}
+% This part of the inner theme defines the design of bibliography
+% items and citations.^^A
+% \begin{macrocode}
+\defbeamertemplate*{bibliography item}{fibeamer}{\insertbiblabel}
+\AtBeginDocument{%
+ \let\fibeamer@oldcite\cite
+ \def\cite#1{{%
+ \usebeamercolor[fg]{item}%
+ \fibeamer@oldcite{#1}}}}
+% \end{macrocode}
+% This part of the inner theme defines the design of the table of
+% contents.
+% \begin{macrocode}
+\defbeamertemplate*{section in toc}{fibeamer}{%
+ \usebeamercolor[fg]{item}%
+ \inserttocsectionnumber.%
+ \usebeamercolor[fg]{structure}%
+ \kern1.25ex\inserttocsection\par}
+\defbeamertemplate*{subsection in toc}{fibeamer}{%
+ \hspace\leftmargini
+ \usebeamercolor[fg]{item}%
+ \inserttocsectionnumber.\inserttocsubsectionnumber%
+ \usebeamercolor[fg]{structure}%
+ \kern1.25ex\inserttocsubsection\par}
+\defbeamertemplate*{subsubsection in toc}{fibeamer}{%
+ \hspace\leftmargini
+ \hspace\leftmarginii
+ \usebeamercolor[fg]{item}%
+ \inserttocsectionnumber.\inserttocsubsectionnumber.%
+ \inserttocsubsubsectionnumber%
+ \usebeamercolor[fg]{structure}%
+ \kern1.25ex\inserttocsubsubsection\par}
+\mode
+<all>
+% \end{macrocode}
+% \iffalse
+%</inner>
+%<*outer>
+% \fi\file{theme/bs/beamerouterthemefibeamer-bs.sty}
+% This is the base outer theme for presentations written at the
+% Masaryk University in Brno. The theme has no effect outside the
+% presentation mode.
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{fibeamer/theme/bs/%
+ beamerouterthemefibeamer-bs}[2016/01/12]
+\mode<presentation>
+% \end{macrocode}
+% The theme uses the following packages:
+% \begin{itemize}
+% \item\textsf{ifthen} -- This package is used to construct
+% compound conditionals.
+% \item\textsf{ifpdf} -- This package is used to check, whether
+% the document is being typeset in DVI mode. If it is, then
+% the |\pdfpagewidth| and |\pdfpageheight| dimensions are
+% defined, so that positioning in TikZ works correctly.
+% \changes{v1.0.1}{2015/10/03}{Added DVI output support. [VN]}
+% ^^A <http://tex.stackexchange.com/a/246631/70941>
+% \item\textsf{tikz} -- This package is used to position the
+% logo and the frame number on a frame.
+% \item\textsf{pgfcore} -- This package is used to draw the
+% dashed line at the title frame.
+% \end{itemize}
+% \begin{macrocode}
+ \RequirePackage{ifthen}
+ \RequirePackage{ifpdf}
+ \ifpdf\else
+ \@ifundefined{pdfpagewidth}{\newdimen\pdfpagewidth}{}
+ \@ifundefined{pdfpageheight}{\newdimen\pdfpageheight}{}
+ \pdfpagewidth=\paperwidth
+ \pdfpageheight=\paperheight
+ \fi
+ \RequirePackage{tikz}
+ \RequirePackage{pgfcore}
+% \end{macrocode}
+% This part of the outer theme defines the geometry of the frames
+% along with other dimensions.
+% \begin{macrocode}
+ \newlength\fibeamer@lengths@baseunit
+ \fibeamer@lengths@baseunit=3.75mm
+ % The footer padding
+ \newlength\fibeamer@lengths@footerpad
+ \setlength\fibeamer@lengths@footerpad{%
+ \fibeamer@lengths@baseunit}
+ % The side margins
+ \newlength\fibeamer@lengths@margin
+ \setlength\fibeamer@lengths@margin{%
+ 3\fibeamer@lengths@baseunit}
+ \setbeamersize{
+ text margin left=\fibeamer@lengths@margin,
+ text margin right=\fibeamer@lengths@margin}
+ % The upper margin
+ \newlength\fibeamer@lengths@titleline
+ \setlength\fibeamer@lengths@titleline{%
+ 3\fibeamer@lengths@baseunit}
+ % The background clipping
+ \newlength\fibeamer@lengths@clipbottom
+ \setlength\fibeamer@lengths@clipbottom\paperwidth
+ \addtolength\fibeamer@lengths@clipbottom{-\paperheight}
+ \setlength\fibeamer@lengths@clipbottom{%
+ 0.5\fibeamer@lengths@clipbottom}
+ \newlength\fibeamer@lengths@cliptop
+ \setlength\fibeamer@lengths@cliptop\paperwidth
+ \addtolength\fibeamer@lengths@cliptop{%
+ -\fibeamer@lengths@clipbottom}
+
+ % The logo size
+ \newlength\fibeamer@lengths@logowidth
+ \setlength\fibeamer@lengths@logowidth{%
+ 10.5\fibeamer@lengths@baseunit}
+ \newlength\fibeamer@lengths@logoheight
+ \setlength\fibeamer@lengths@logoheight{%
+ 4,37\fibeamer@lengths@baseunit}
+% \end{macrocode}
+% The outer theme completely culls the bottom navigation.
+% \begin{macrocode}
+ \defbeamertemplate*{navigation symbols}{fibeamer}{}
+% \end{macrocode}
+% The outer theme also culls the headline.
+% \begin{macrocode}
+ \defbeamertemplate*{headline}{fibeamer}{}
+% \end{macrocode}
+% The frame title.
+% \begin{macrocode}
+ \defbeamertemplate*{frametitle}{fibeamer}{%
+ \vskip-1em % Align the text with the top border
+ \vskip\fibeamer@lengths@titleline
+ \usebeamercolor[fg]{frametitle}%
+ \usebeamerfont{frametitle}%
+ \insertframetitle\par%
+ \usebeamercolor[fg]{framesubtitle}%
+ \usebeamerfont{framesubtitle}%
+ \insertframesubtitle}
+% \end{macrocode}
+% The footline contains the frame number. It is flushed right.
+% \begin{macrocode}
+ \defbeamertemplate*{footline}{fibeamer}{%
+ \ifnum\c@framenumber=0\else%
+ \begin{tikzpicture}[overlay]
+ \node[anchor=south east,
+ yshift=\fibeamer@lengths@footerpad,
+ xshift=-\fibeamer@lengths@footerpad] at
+ (current page.south east) {
+ \usebeamercolor[fg]{framenumber}%
+ \usebeamerfont{framenumber}%
+ \insertframenumber/\inserttotalframenumber};
+ \end{tikzpicture}
+ \fi}
+% \end{macrocode}
+% The title frame contains the main logo, the |\title|, the
+% |\subtitle|, and the |\author|.
+% \begin{macrocode}
+ \defbeamertemplate*{title page}{fibeamer}{%
+
+ \begin{darkframes}
+
+ % This is slide 0
+ \setcounter{framenumber}{0}
+
+ % Input the university logo
+ \begin{tikzpicture}[
+ remember picture,
+ overlay,
+ xshift=0.5\fibeamer@lengths@logowidth,
+ yshift=0.5\fibeamer@lengths@logoheight
+ ]
+ \node at (0,0) {
+ \fibeamer@includeLogo[
+ width=\fibeamer@lengths@logowidth,
+ height=\fibeamer@lengths@logoheight
+ ]};
+ \end{tikzpicture}
+
+ % Input the title
+ \usebeamerfont{title}%
+ \usebeamercolor[fg]{title}%
+ \begin{minipage}[b][2\baselineskip][b]{\textwidth}%
+ \raggedright\inserttitle
+ \end{minipage}
+ \vskip-.5\baselineskip
+
+ % Input the dashed line
+ \begin{pgfpicture}
+ \pgfsetlinewidth{2pt}
+ \pgfsetroundcap
+ \pgfsetdash{{0pt}{4pt}}{0cm}
+
+ \pgfpathmoveto{\pgfpoint{0mm}{0mm}}
+ \pgfpathlineto{\pgfpoint{\textwidth}{0mm}}
+
+ \pgfusepath{stroke}
+ \end{pgfpicture}
+ \vfill
+
+ % Input the subtitle
+ \usebeamerfont{subtitle}%
+ \usebeamercolor[fg]{subtitle}%
+ \begin{minipage}{\textwidth}
+ \raggedright%
+ \insertsubtitle%
+ \end{minipage}\vskip.25\baselineskip
+
+ % Input the author's name
+ \usebeamerfont{author}%
+ \usebeamercolor[fg]{author}%
+ \begin{minipage}{\textwidth}
+ \raggedright%
+ \insertauthor%
+ \end{minipage}
+ \end{darkframes}}
+
+\mode
+<all>
+% \end{macrocode}
+% \iffalse
+%</outer>
+% \fi