-
Notifications
You must be signed in to change notification settings - Fork 17
/
beamerinnerthemeArguelles.sty
129 lines (117 loc) · 3.72 KB
/
beamerinnerthemeArguelles.sty
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
129
% arguelles v2.4.2
% author: Michele Piazzai
% https://github.com/piazzai
% license: MIT
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerinnerthemeArguelles}[2024/06/11 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\theframenumber>0\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*{normal text}{fg=structure.bg}
\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