summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty
blob: 36b0b8c4f1d483551a4b7c8442d2c9d00e942dbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
% arguelles v2.3.0
% author: Michele Piazzai
% contact: michele.piazzai@uc3m.es
% license: MIT

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerinnerthemeArguelles}[2023/10/26 Argüelles]

\mode<presentation>

% additional title page fields
\def\insertevent{}
\newcommand{\event}[1]{
  \def\insertevent{#1}
}
\def\insertemail{}
\newcommand{\email}[1]{
  \def\insertemail{\href{mailto:#1}{\raisebox{-.1em}{\faIcon{envelope}}\hspace{.3em}#1}}
}
\def\inserthomepage{}
\newcommand{\homepage}[1]{
  \def\inserthomepage{\href{https://#1}{\raisebox{-.1em}{\hspace{.025em}\faIcon{globe}}\hspace{.325em}#1}}
}
\def\insertgithub{}
\newcommand{\github}[1]{
  \def\insertgithub{\href{https://github.com/#1}{\raisebox{-.1em}{\hspace{.025em}\faIcon{github}}\hspace{.325em}github.com/#1}}
}

% title page
\defbeamertemplate*{title page}{Arguelles}{
 \vfill\begin{beamercolorbox}{inverted text}
  {\usebeamerfont{title}\inserttitle}\par
  {\usebeamerfont{subtitle}\insertsubtitle}\par\bigskip
  {\usebeamerfont{event}\insertevent}\par
  {\usebeamerfont{date}\insertdate}\par\bigskip
  {\usebeamerfont{author}\insertauthor}\par\smallskip
  {\usebeamerfont{institute}\insertinstitute}\par
  {\usebeamerfont{email}\insertemail}\par
  {\usebeamerfont{homepage}\inserthomepage}\par
  {\usebeamerfont{github}\insertgithub}
 \end{beamercolorbox}
 \addtocounter{framenumber}{-1}
}

% lists
\setlist{nosep,leftmargin=*}
\setlist[1]{labelindent=\parindent,itemsep=.5em}
\setlist[2]{before=\small}
\setlist[itemize,1]{label=$\bullet$}
\setlist[itemize,2]{label=$\circ$}
\setlist[itemize,3]{label=$\cdot$}
\setlist[enumerate,1]{label=\arabic*.}
\setlist[enumerate,2]{label=\theenumi\arabic*.}
\setlist[enumerate,3]{label=\theenumii\arabic*.}
\setlist[description]{font=\normalfont\itshape,style=multiline}

% blocks
\setbeamertemplate{blocks}[rounded]

% background
\BeforeBeginEnvironment{frame}{
 \setbeamertemplate{background}{
  \begin{tikzpicture}
   \useasboundingbox (0,0) rectangle (\paperwidth,\paperheight);
   \ifnum\thepage>1\relax
    \fill[structure.bg] (0,.01\paperheight) rectangle (\paperwidth,.99\paperheight);
   \fi
  \end{tikzpicture}
 }
}

% fullscreen image
\newcommand{\fillpicture}[1]{
    \centering
    \ifbeamer@plainframe
    \tikz[remember picture,overlay] \node[inner sep=0pt] at (current page.center) {
        \includegraphics[width=\paperwidth,height=.98\paperheight]{#1}
        };
    \else
    \tikz[remember picture,overlay] \node[inner sep=0pt] at ($(current page.north)-(0,.526\paperheight)$) {
        \includegraphics[width=\paperwidth,height=.929\paperheight]{#1}
        };
    \fi
}

% background image
\define@key{beamerframe}{bg}{
  \setbeamertemplate{background}{
   \begin{tikzpicture}
    \useasboundingbox (0,0) rectangle (\paperwidth,\paperheight);
     \path[fill overzoom image=#1] (0,.01\paperheight) rectangle (\paperwidth,.99\paperheight);
   \end{tikzpicture}
  }
}

% standout frame
\providebool{Arguelles@standout}
\define@key{beamerframe}{standout}[true]{
 \booltrue{Arguelles@standout}
 \begingroup
 \setbeamertemplate{background}{}
 \setbeamercolor*{footline}{fg=structure.bg}
 \beamer@frametopskip=0pt plus 1fill\relax%
 \beamer@framebottomskip=0pt plus 1.25fill\relax%
 \color{structure.bg}
 \large
}
\pretocmd{\beamer@reseteecodes}{
 \ifbool{Arguelles@standout}{
  \endgroup\boolfalse{Arguelles@standout}
 }{}
}{}{}

% suppress frame numbering
\providebool{Arguelles@noframenumbering}
\define@key{beamerframe}{noframenumbering}[true]{
  \booltrue{Arguelles@noframenumbering}
  \begingroup
  \setbeamertemplate{footline}{}
}
\pretocmd{\beamer@reseteecodes}{
 \ifbool{Arguelles@noframenumbering}{
  \endgroup\boolfalse{Arguelles@noframenumbering}
 }{}
}{}{}

\mode<all>
\endinput