├── .gitignore ├── LICENSE ├── README.md ├── beamercolorthemeArguelles.sty ├── beamerfontthemeArguelles.sty ├── beamerinnerthemeArguelles.sty ├── beamerouterthemeArguelles.sty ├── beamertheme-arguelles.zip ├── beamerthemeArguelles.sty └── demo ├── demo-arguelles.gif ├── demo-arguelles.pdf ├── demo-arguelles.png └── demo-arguelles.tex /.gitignore: -------------------------------------------------------------------------------- 1 | ## Core latex/pdflatex auxiliary files: 2 | *.aux 3 | *.lof 4 | *.log 5 | *.lot 6 | *.fls 7 | *.out 8 | *.toc 9 | *.fmt 10 | *.fot 11 | *.cb 12 | *.cb2 13 | .*.lb 14 | 15 | ## Intermediate documents: 16 | *.dvi 17 | *.xdv 18 | *-converted-to.* 19 | # these rules might exclude image files for figures etc. 20 | # *.ps 21 | # *.eps 22 | # *.pdf 23 | 24 | ## Generated if empty string is given at "Please type another file name for output:" 25 | .pdf 26 | 27 | ## Bibliography auxiliary files (bibtex/biblatex/biber): 28 | *.bbl 29 | *.bcf 30 | *.blg 31 | *-blx.aux 32 | *-blx.bib 33 | *.run.xml 34 | 35 | ## Build tool auxiliary files: 36 | *.fdb_latexmk 37 | *.synctex 38 | *.synctex(busy) 39 | *.synctex.gz 40 | *.synctex.gz(busy) 41 | *.pdfsync 42 | 43 | ## Build tool directories for auxiliary files 44 | # latexrun 45 | latex.out/ 46 | 47 | ## Auxiliary and intermediate files from other packages: 48 | # algorithms 49 | *.alg 50 | *.loa 51 | 52 | # achemso 53 | acs-*.bib 54 | 55 | # amsthm 56 | *.thm 57 | 58 | # beamer 59 | *.nav 60 | *.pre 61 | *.snm 62 | *.vrb 63 | 64 | # changes 65 | *.soc 66 | 67 | # comment 68 | *.cut 69 | 70 | # cprotect 71 | *.cpt 72 | 73 | # elsarticle (documentclass of Elsevier journals) 74 | *.spl 75 | 76 | # endnotes 77 | *.ent 78 | 79 | # fixme 80 | *.lox 81 | 82 | # feynmf/feynmp 83 | *.mf 84 | *.mp 85 | *.t[1-9] 86 | *.t[1-9][0-9] 87 | *.tfm 88 | 89 | #(r)(e)ledmac/(r)(e)ledpar 90 | *.end 91 | *.?end 92 | *.[1-9] 93 | *.[1-9][0-9] 94 | *.[1-9][0-9][0-9] 95 | *.[1-9]R 96 | *.[1-9][0-9]R 97 | *.[1-9][0-9][0-9]R 98 | *.eledsec[1-9] 99 | *.eledsec[1-9]R 100 | *.eledsec[1-9][0-9] 101 | *.eledsec[1-9][0-9]R 102 | *.eledsec[1-9][0-9][0-9] 103 | *.eledsec[1-9][0-9][0-9]R 104 | 105 | # glossaries 106 | *.acn 107 | *.acr 108 | *.glg 109 | *.glo 110 | *.gls 111 | *.glsdefs 112 | *.lzo 113 | *.lzs 114 | 115 | # uncomment this for glossaries-extra (will ignore makeindex's style files!) 116 | # *.ist 117 | 118 | # gnuplottex 119 | *-gnuplottex-* 120 | 121 | # gregoriotex 122 | *.gaux 123 | *.gtex 124 | 125 | # htlatex 126 | *.4ct 127 | *.4tc 128 | *.idv 129 | *.lg 130 | *.trc 131 | *.xref 132 | 133 | # hyperref 134 | *.brf 135 | 136 | # knitr 137 | *-concordance.tex 138 | # TODO Comment the next line if you want to keep your tikz graphics files 139 | *.tikz 140 | *-tikzDictionary 141 | 142 | # listings 143 | *.lol 144 | 145 | # luatexja-ruby 146 | *.ltjruby 147 | 148 | # makeidx 149 | *.idx 150 | *.ilg 151 | *.ind 152 | 153 | # minitoc 154 | *.maf 155 | *.mlf 156 | *.mlt 157 | *.mtc[0-9]* 158 | *.slf[0-9]* 159 | *.slt[0-9]* 160 | *.stc[0-9]* 161 | 162 | # minted 163 | _minted* 164 | *.pyg 165 | 166 | # morewrites 167 | *.mw 168 | 169 | # nomencl 170 | *.nlg 171 | *.nlo 172 | *.nls 173 | 174 | # pax 175 | *.pax 176 | 177 | # pdfpcnotes 178 | *.pdfpc 179 | 180 | # sagetex 181 | *.sagetex.sage 182 | *.sagetex.py 183 | *.sagetex.scmd 184 | 185 | # scrwfile 186 | *.wrt 187 | 188 | # sympy 189 | *.sout 190 | *.sympy 191 | sympy-plots-for-*.tex/ 192 | 193 | # pdfcomment 194 | *.upa 195 | *.upb 196 | 197 | # pythontex 198 | *.pytxcode 199 | pythontex-files-*/ 200 | 201 | # tcolorbox 202 | *.listing 203 | 204 | # thmtools 205 | *.loe 206 | 207 | # TikZ & PGF 208 | *.dpth 209 | *.md5 210 | *.auxlock 211 | 212 | # todonotes 213 | *.tdo 214 | 215 | # vhistory 216 | *.hst 217 | *.ver 218 | 219 | # easy-todo 220 | *.lod 221 | 222 | # xcolor 223 | *.xcp 224 | 225 | # xmpincl 226 | *.xmpi 227 | 228 | # xindy 229 | *.xdy 230 | 231 | # xypic precompiled matrices and outlines 232 | *.xyc 233 | *.xyd 234 | 235 | # endfloat 236 | *.ttt 237 | *.fff 238 | 239 | # Latexian 240 | TSWLatexianTemp* 241 | 242 | ## Editors: 243 | # WinEdt 244 | *.bak 245 | *.sav 246 | 247 | # Texpad 248 | .texpadtmp 249 | 250 | # LyX 251 | *.lyx~ 252 | 253 | # Kile 254 | *.backup 255 | 256 | # gummi 257 | .*.swp 258 | 259 | # KBibTeX 260 | *~[0-9]* 261 | 262 | # TeXnicCenter 263 | *.tps 264 | 265 | # auto folder when using emacs and auctex 266 | ./auto/* 267 | *.el 268 | 269 | # expex forward references with \gathertags 270 | *-tags.tex 271 | 272 | # standalone packages 273 | *.sta 274 | 275 | # Makeindex log files 276 | *.lpz 277 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Michele Piazzai 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 7 | 8 | # arguelles 9 | 10 | Argüelles is a beamer theme that helps you create beautiful presentations. It aims for simplicity and readability by following best practices of graphic design. The layout is elegant but subtle, so as to keep the audience's attention on your content. This is brought to life by Alegreya, one of the 53 Fonts of the Decade selected by the Association Typographique Internationale (2011). 11 | 12 | The theme requires the packages [alegreya](https://ctan.org/pkg/alegreya), [eulervm](https://ctan.org/pkg/eulervm), [mathalpha](https://www.ctan.org/pkg/mathalpha), [microtype](https://ctan.org/pkg/microtype), [fontawesome5](https://ctan.org/pkg/fontawesome5), [opencolor](https://www.ctan.org/pkg/opencolor), [enumitem](https://www.ctan.org/pkg/enumitem), [parskip](https://www.ctan.org/pkg/parskip), [pgf](https://ctan.org/pkg/pgf), and [tcolorbox](https://ctan.org/pkg/tcolorbox) to be installed on your computer. These are included in common LaTeX distributions, such as MiKTeX and TeXLive. 13 | 14 | ## Demo 15 | 16 | The files `demo-arguelles.tex` and `demo-arguelles.pdf` demonstrate the main features of the theme. 17 | 18 | ![](https://github.com/piazzai/arguelles/blob/master/demo/demo-arguelles.gif) 19 | 20 | ## Installation 21 | 22 | Argüelles is hosted on CTAN and distributed as part of MikTex and TeXLive. It can also be installed manually by cloning this repository in your `$HOME/texmf/tex/latex` folder, which is automatically searched by LaTeX. If you do not have this folder, you can [create one](https://www.ias.edu/math/computing/faq/local-latex-style-files). 23 | 24 | ## Usage 25 | 26 | By default, the theme uses serif fonts for body text. Loading it with the `sans` option makes sans-serif fonts default, keeping serif only for math type. Because sans-serif font is more space-efficient, this could be useful for slides that contain more text and bullet points. 27 | 28 | The `frameno` option adds frame numbering in the bottom right corner of each frame. Frame numbers remain hidden on title and plain frames. They can also be suppressed on individual frames by adding the `noframenumbering` option to the `frame` environment, as in: 29 | 30 | ```tex 31 | \begin{frame}[noframenumbering] 32 | ... 33 | \end{frame} 34 | 35 | ``` 36 | 37 | The `splitnav` option makes the navigation bar in the headline display only the current section and its frames, as opposed to all section and all frames. This could be preferable if your presentation has only a few sections, which do not adequately fill the headline, or if it has a lot of sections and the headline looks too crowded. 38 | 39 | ## Customization 40 | 41 | It is possible to change parts of the theme by altering the style files. There are five such files: 42 | 43 | - `beamercolortheme*.sty` sets the colors; 44 | - `beamerfonttheme*.sty` sets font styles and weights; 45 | - `beamerinnertheme*.sty` sets the appearance of frames; 46 | - `beameroutertheme*.sty` sets the appearance of headline and frame titles; 47 | - `beamertheme*.sty` loads required packages, and defines custom colors and commands. 48 | 49 | ### Colors 50 | 51 | The theme ships with the [opencolor package](https://www.ctan.org/pkg/opencolor), which provides color definitions for the [Open Color library](https://yeun.github.io/open-color/). By default, the background is set to `oc-gray-0`. The foreground and body text are set to `oc-gray-9`. The color of accented text is `oc-red-9`. 52 | 53 | These settings are provided in `beamercolortheme*.sty` and can be customized using any default or opencolor name. For example: 54 | 55 | ```tex 56 | \setbeamercolor*{structure}{bg=oc-blue-0,fg=black!80} 57 | ``` 58 | 59 | See the [opencolor documentation](https://github.com/piazzai/opencolor/blob/master/README.md) for additional details. 60 | 61 | ### Font weights 62 | 63 | Alegreya is a comprehensive family and comes with a variety of weights, as does its sister family Alegreya Sans. In addition to the usual bold provided by `\bfseries`, Alegreya comes in medium, extra bold, and black. Alegreya Sans further comes in light and thin. These weights are set by commands like `\AlegreyaExtraBold` or `\AlegreyaSansThin`, as explained in the Alegreya documentation, and can be combined with `\scshape` or `\itshape` to produce a variety of effects. 64 | 65 | The file `beamerfonttheme*.sty` sets the type for various elements of the layout. For example, the appearance of frame titles is determined by the command: 66 | 67 | ```tex 68 | \setbeamerfont{frame title}{size=\Large} 69 | ``` 70 | 71 | If you wanted to give frame titles a little bit more weight, you could write `series=\AlegreyaMedium` and `size=\Large`. If you wanted to make them slightly larger, you could write `size=\LARGE`. 72 | 73 | By default, the theme uses serif type for body text and reserves sans-serif type for the presentation title, formatted in black weight. It is possible to modify this behavior by rewriting parts of `beamerfonttheme*.sty`. For example, the appearance of the presentation title is determined by: 74 | 75 | ```tex 76 | \setbeamerfont{title}{series=\AlegreyaSansBlack,size=\LARGE} 77 | ``` 78 | 79 | Changing `\AlegreyaSansBlack` to `\AlegreyaBlack` in this line sets the title to serif, keeping the same weight. Deleting `\usefonttheme{serif}` near the top of the file makes sans-serif type the new default for all text. Changing `\urlstyle{same}` to `\urlstyle{sf}` makes URLs sans-serif, and deleting the line altogether resets them to true type. 80 | 81 | ### Figures 82 | 83 | Figures are automatically set to old style, which is more varied and dynamic than the lining ("modern") style. If you wish to use lining figures instead, you can set these as default by opening `beamertheme*.sty` and removing the `osf` options from the packages `Alegreya` and `AlegreyaSans`. 84 | 85 | Both old-style and lining figures are also available in a monospaced version, which is helpful for tables and other environments where numbers are displayed in column. It is possible to use monospaced versions locally with `\AlegreyaTOsF` (for old style) and `\AlegreyaTLF` (for lining). They can also be set as global defaults by loading packages with the `tf` option, as in: 86 | 87 | ```tex 88 | \RequirePackage[osf,tf]{Alegreya} 89 | \RequirePackage[osf,tf]{AlegreyaSans} 90 | ``` 91 | 92 | ## Known issues 93 | 94 | Argüelles is built with the intention to reserve as much space as possible for the content of your slides. When using subsections, the progress bar in the headline places dots on multiple lines, which takes space away from your content. The theme does not handle this situation well. You can force the dots to appear on the same line by loading the `beamer` class with the `compress` option, as below: 95 | 96 | ```tex 97 | \documentclass[compress]{beamer} 98 | ``` 99 | 100 | #### When using notes on second screen, frame text becomes white 101 | 102 | This is a [known problem](https://github.com/josephwright/beamer/issues/337) caused by beamer's `show notes on second screen` option when the document is compiled using XeLaTeX. It is not an issue caused by the theme. It can be fixed by switching to pdfLaTeX or by adding the following to your document's preamble: 103 | 104 | ```tex 105 | \makeatletter 106 | \def\beamer@framenotesbegin{% at beginning of slide 107 | \usebeamercolor[fg]{normal text}% 108 | \gdef\beamer@noteitems{}% 109 | \gdef\beamer@notes{}% 110 | } 111 | \makeatother 112 | ``` 113 | 114 | If you find any other problem using this package, please [open an issue](https://github.com/piazzai/arguelles/issues). 115 | -------------------------------------------------------------------------------- /beamercolorthemeArguelles.sty: -------------------------------------------------------------------------------- 1 | % arguelles v2.4.2 2 | % author: Michele Piazzai 3 | % https://github.com/piazzai 4 | % license: MIT 5 | 6 | \NeedsTeXFormat{LaTeX2e} 7 | \ProvidesPackage{beamercolorthemeArguelles}[2024/06/11 Argüelles] 8 | 9 | \mode 10 | 11 | % color scheme 12 | \setbeamercolor*{structure}{bg=oc-gray-0,fg=oc-gray-9} 13 | \setbeamercolor*{background canvas}{bg=structure.fg} 14 | \setbeamercolor*{section in head/foot}{bg=structure.fg,fg=structure.bg} 15 | \setbeamercolor*{normal text}{fg=oc-gray-8} 16 | \setbeamercolor*{inverted text}{fg=oc-gray-0} 17 | \setbeamercolor*{alerted text}{fg=oc-red-9} 18 | % 19 | \setbeamercolor*{section in toc}{bg=structure.fg,fg=structure.bg} 20 | \setbeamercolor*{section in toc shaded}{bg=structure.bg,fg=oc-gray-6} 21 | 22 | \mode 23 | \endinput 24 | -------------------------------------------------------------------------------- /beamerfontthemeArguelles.sty: -------------------------------------------------------------------------------- 1 | % arguelles v2.4.2 2 | % author: Michele Piazzai 3 | % https://github.com/piazzai 4 | % license: MIT 5 | 6 | \NeedsTeXFormat{LaTeX2e} 7 | \ProvidesPackage{beamerfontthemeArguelles}[2024/06/11 Argüelles] 8 | 9 | \mode 10 | 11 | % set url style 12 | \urlstyle{same} 13 | 14 | % title page elements 15 | \setbeamerfont{title}{series=\AlegreyaSansBlack,size=\LARGE} 16 | \setbeamerfont{subtitle}{series=\AlegreyaSansMedium,size=\Large} 17 | \setbeamerfont{event}{series=\itshape} 18 | \setbeamerfont{date}{series=\itshape} 19 | \setbeamerfont{author}{series=\bfseries,size=\large} 20 | \setbeamerfont{institute}{size=\small} 21 | \setbeamerfont{email}{size=\small} 22 | \setbeamerfont{homepage}{size=\small} 23 | \setbeamerfont{github}{size=\small} 24 | 25 | % frame elements 26 | \setbeamerfont{headline section}{series=\AlegreyaSans\scshape} 27 | \setbeamerfont{footline section}{series=\AlegreyaSans\scshape,size=\footnotesize} 28 | \setbeamerfont{frame title}{series=\mediumfont,size=\Large} 29 | \setbeamerfont{frame subtitle}{series=\mediumfont,size=\large} 30 | \setbeamerfont{block title}{series=\mediumfont\itshape} 31 | 32 | \mode 33 | \endinput 34 | -------------------------------------------------------------------------------- /beamerinnerthemeArguelles.sty: -------------------------------------------------------------------------------- 1 | % arguelles v2.4.2 2 | % author: Michele Piazzai 3 | % https://github.com/piazzai 4 | % license: MIT 5 | 6 | \NeedsTeXFormat{LaTeX2e} 7 | \ProvidesPackage{beamerinnerthemeArguelles}[2024/06/11 Argüelles] 8 | 9 | \mode 10 | 11 | % additional title page fields 12 | \def\insertevent{} 13 | \newcommand{\event}[1]{ 14 | \def\insertevent{#1} 15 | } 16 | \def\insertemail{} 17 | \newcommand{\email}[1]{ 18 | \def\insertemail{\href{mailto:#1}{\raisebox{-.1em}{\faIcon{envelope}}\hspace{.3em}#1}} 19 | } 20 | \def\inserthomepage{} 21 | \newcommand{\homepage}[1]{ 22 | \def\inserthomepage{\href{https://#1}{\raisebox{-.1em}{\hspace{.025em}\faIcon{globe}}\hspace{.325em}#1}} 23 | } 24 | \def\insertgithub{} 25 | \newcommand{\github}[1]{ 26 | \def\insertgithub{\href{https://github.com/#1}{\raisebox{-.1em}{\hspace{.025em}\faIcon{github}}\hspace{.325em}github.com/#1}} 27 | } 28 | 29 | % title page 30 | \defbeamertemplate*{title page}{Arguelles}{ 31 | \vfill\begin{beamercolorbox}{inverted text} 32 | {\usebeamerfont{title}\inserttitle}\par 33 | {\usebeamerfont{subtitle}\insertsubtitle}\par\bigskip 34 | {\usebeamerfont{event}\insertevent}\par 35 | {\usebeamerfont{date}\insertdate}\par\bigskip 36 | {\usebeamerfont{author}\insertauthor}\par\smallskip 37 | {\usebeamerfont{institute}\insertinstitute}\par 38 | {\usebeamerfont{email}\insertemail}\par 39 | {\usebeamerfont{homepage}\inserthomepage}\par 40 | {\usebeamerfont{github}\insertgithub} 41 | \end{beamercolorbox} 42 | \addtocounter{framenumber}{-1} 43 | } 44 | 45 | % lists 46 | \setlist{nosep,leftmargin=*} 47 | \setlist[1]{labelindent=\parindent,itemsep=.5em} 48 | \setlist[2]{before=\small} 49 | \setlist[itemize,1]{label=$\bullet$} 50 | \setlist[itemize,2]{label=$\circ$} 51 | \setlist[itemize,3]{label=$\cdot$} 52 | \setlist[enumerate,1]{label=\arabic*.} 53 | \setlist[enumerate,2]{label=\theenumi\arabic*.} 54 | \setlist[enumerate,3]{label=\theenumii\arabic*.} 55 | \setlist[description]{font=\normalfont\itshape,style=multiline} 56 | 57 | % ToC 58 | % plain toc, no circle, bullet, square, whatever 59 | \setbeamertemplate{section in toc}{\inserttocsection} 60 | % no shade, so we can directly use the oc colors 61 | \setbeamertemplate{section in toc shaded}[default][100] 62 | 63 | % blocks 64 | \setbeamertemplate{blocks}[rounded] 65 | 66 | % background 67 | \BeforeBeginEnvironment{frame}{ 68 | \setbeamertemplate{background}{ 69 | \begin{tikzpicture} 70 | \useasboundingbox (0,0) rectangle (\paperwidth,\paperheight); 71 | \ifnum\theframenumber>0\relax 72 | \fill[structure.bg] (0,.01\paperheight) rectangle (\paperwidth,.99\paperheight); 73 | \fi 74 | \end{tikzpicture} 75 | } 76 | } 77 | 78 | % fullscreen image 79 | \newcommand{\fillpicture}[1]{ 80 | \centering 81 | \ifbeamer@plainframe 82 | \tikz[remember picture,overlay] \node[inner sep=0pt] at (current page.center) { 83 | \includegraphics[width=\paperwidth,height=.98\paperheight]{#1} 84 | }; 85 | \else 86 | \tikz[remember picture,overlay] \node[inner sep=0pt] at ($(current page.north)-(0,.526\paperheight)$) { 87 | \includegraphics[width=\paperwidth,height=.929\paperheight]{#1} 88 | }; 89 | \fi 90 | } 91 | 92 | % background image 93 | \define@key{beamerframe}{bg}{ 94 | \setbeamertemplate{background}{ 95 | \begin{tikzpicture} 96 | \useasboundingbox (0,0) rectangle (\paperwidth,\paperheight); 97 | \path[fill overzoom image=#1] (0,.01\paperheight) rectangle (\paperwidth,.99\paperheight); 98 | \end{tikzpicture} 99 | } 100 | } 101 | 102 | % standout frame 103 | \providebool{Arguelles@standout} 104 | \define@key{beamerframe}{standout}[true]{ 105 | \booltrue{Arguelles@standout} 106 | \begingroup 107 | \setbeamertemplate{background}{} 108 | \setbeamercolor*{normal text}{fg=structure.bg} 109 | \setbeamercolor*{footline}{fg=structure.bg} 110 | \beamer@frametopskip=0pt plus 1fill\relax% 111 | \beamer@framebottomskip=0pt plus 1.25fill\relax% 112 | \color{structure.bg} 113 | \large 114 | } 115 | \pretocmd{\beamer@reseteecodes}{ 116 | \ifbool{Arguelles@standout}{ 117 | \endgroup\boolfalse{Arguelles@standout} 118 | }{} 119 | }{}{} 120 | 121 | % suppress frame numbering 122 | \providebool{Arguelles@noframenumbering} 123 | \define@key{beamerframe}{noframenumbering}[true]{ 124 | \booltrue{Arguelles@noframenumbering} 125 | \begingroup 126 | \setbeamertemplate{footline}{} 127 | } 128 | \pretocmd{\beamer@reseteecodes}{ 129 | \ifbool{Arguelles@noframenumbering}{ 130 | \endgroup\boolfalse{Arguelles@noframenumbering} 131 | }{} 132 | }{}{} 133 | 134 | \mode 135 | \endinput 136 | -------------------------------------------------------------------------------- /beamerouterthemeArguelles.sty: -------------------------------------------------------------------------------- 1 | % arguelles v2.4.2 2 | % author: Michele Piazzai 3 | % https://github.com/piazzai 4 | % license: MIT 5 | 6 | \NeedsTeXFormat{LaTeX2e} 7 | \ProvidesPackage{beamerouterthemeArguelles}[2024/06/11 Argüelles] 8 | 9 | \mode 10 | 11 | % remove navigation symbols 12 | \setbeamertemplate{navigation symbols}{} 13 | 14 | % headline navigation 15 | \defbeamertemplate*{headline}{Arguelles}{ 16 | \begin{beamercolorbox}[ht=1.2em,dp=1.6em]{section in head/foot} 17 | {\usebeamerfont{headline section}\insertnavigation{\paperwidth}} 18 | \end{beamercolorbox} 19 | } 20 | 21 | % frame title 22 | \defbeamertemplate*{frametitle}{Arguelles}{ 23 | \begin{beamercolorbox}[wd=.95\paperwidth]{normal text} 24 | {\usebeamerfont{frame title}\insertframetitle}\hfill 25 | {\usebeamerfont{frame subtitle}\insertframesubtitle} 26 | \end{beamercolorbox} 27 | } 28 | 29 | \mode 30 | \endinput 31 | -------------------------------------------------------------------------------- /beamertheme-arguelles.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piazzai/arguelles/02a71c801c015cadc84b92d500b2ace952b40b37/beamertheme-arguelles.zip -------------------------------------------------------------------------------- /beamerthemeArguelles.sty: -------------------------------------------------------------------------------- 1 | % arguelles v2.4.2 2 | % author: Michele Piazzai 3 | % https://github.com/piazzai 4 | % license: MIT 5 | 6 | \NeedsTeXFormat{LaTeX2e} 7 | \ProvidesPackage{beamerthemeArguelles}[2024/06/11 Argüelles] 8 | 9 | \mode 10 | 11 | \newif\if@optSans 12 | \@optSansfalse 13 | \DeclareOption{sans}{\@optSanstrue} 14 | \newif\if@optFrameno 15 | \@optFramenofalse 16 | \DeclareOption{frameno}{\@optFramenotrue} 17 | \newif\if@optSplitnav 18 | \@optSplitnavfalse 19 | \DeclareOption{splitnav}{\@optSplitnavtrue} 20 | \ProcessOptions 21 | 22 | % split navigation 23 | \if@optSplitnav 24 | \useoutertheme[subsection=false]{miniframes} 25 | \setbeamertemplate{mini frame in other section}{} 26 | \RequirePackage{etoolbox} 27 | \let\beamer@section@set@min@width=\relax 28 | \patchcmd{\insertnavigation}{\hskip-1.875ex plus-1fill}{}{}{} 29 | \patchcmd{\sectionentry}{\hskip1.875ex plus 1fill}{}{}{} 30 | \patchcmd{\sectionentry}{\hyperlink{Navigation#3}{{\usebeamertemplate{section in head/foot shaded}}}}{}{}{} 31 | \patchcmd{\slideentry}{\usebeamertemplate{mini frame in other subsection}}{\usebeamertemplate{mini frame in other subsection of current section}}{}{} 32 | \patchcmd{\slideentry}{\usebeamertemplate{mini frame in other subsection}}{\usebeamertemplate{mini frame in other section}}{}{} 33 | \patchcmd{\slideentry}{\usebeamertemplate{mini frame in other subsection of current section}}{\usebeamertemplate{mini frame in other subsection}}{}{} 34 | \fi 35 | 36 | % package dependencies 37 | \RequirePackage{ifluatex} 38 | \RequirePackage{ifxetex} 39 | % Load inputenc only for pdfLaTeX 40 | \ifluatex 41 | % LuaTeX, no inputenc needed 42 | \else 43 | \ifxetex 44 | % XeLaTeX, no inputenc needed 45 | \else 46 | % pdfLaTeX, load inputenc 47 | \RequirePackage[utf8]{inputenc} 48 | \fi 49 | \fi 50 | \RequirePackage[T1]{fontenc} 51 | \RequirePackage[osf]{Alegreya} 52 | \RequirePackage[osf]{AlegreyaSans} 53 | \RequirePackage[euler-hat-accent]{eulervm} 54 | \RequirePackage[bb=px]{mathalpha} 55 | \RequirePackage[nopatch=footnote]{microtype} 56 | \RequirePackage{fontawesome5} 57 | \RequirePackage{opencolor} 58 | \RequirePackage{enumitem} 59 | \RequirePackage{parskip} 60 | \RequirePackage{tikz} 61 | \RequirePackage[skins]{tcolorbox} 62 | 63 | % tikz libraries 64 | \usetikzlibrary{calc} 65 | 66 | % components 67 | \useinnertheme{Arguelles} 68 | \useoutertheme{Arguelles} 69 | \usecolortheme{Arguelles} 70 | \usefonttheme{Arguelles} 71 | 72 | % sans font 73 | \if@optSans 74 | \usefonttheme[onlymath]{serif} 75 | \newcommand\mediumfont{\AlegreyaSansMedium} 76 | \else 77 | \usefonttheme{serif} 78 | \newcommand\mediumfont{\AlegreyaMedium} 79 | \fi 80 | 81 | % frame numbers 82 | \if@optFrameno 83 | \defbeamertemplate*{footline}{Arguelles}{ 84 | \usebeamerfont{footline section}\hfill\raisebox{.025\paperheight}{ 85 | \insertframenumber\hspace{.01\paperwidth} 86 | } 87 | } 88 | \fi 89 | 90 | \AtBeginEnvironment{proof}{\let\@addpunct\@gobble} 91 | 92 | \newcommand\Section[1]{\section{\texorpdfstring{\lowercase{#1}}{#1}}} 93 | \newcommand\End{\appendix} 94 | \renewcommand{\appendixname}{End} 95 | 96 | \mode 97 | \endinput 98 | -------------------------------------------------------------------------------- /demo/demo-arguelles.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piazzai/arguelles/02a71c801c015cadc84b92d500b2ace952b40b37/demo/demo-arguelles.gif -------------------------------------------------------------------------------- /demo/demo-arguelles.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piazzai/arguelles/02a71c801c015cadc84b92d500b2ace952b40b37/demo/demo-arguelles.pdf -------------------------------------------------------------------------------- /demo/demo-arguelles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piazzai/arguelles/02a71c801c015cadc84b92d500b2ace952b40b37/demo/demo-arguelles.png -------------------------------------------------------------------------------- /demo/demo-arguelles.tex: -------------------------------------------------------------------------------- 1 | % arguelles v2.4.2 2 | % author: Michele Piazzai 3 | % https://github.com/piazzai 4 | % license: MIT 5 | 6 | \documentclass[compress,12pt]{beamer} 7 | 8 | \usetheme{Arguelles} 9 | 10 | \title{Argüelles} 11 | \subtitle{Simple, typographic beamer theme} 12 | \event{} 13 | \date{} 14 | \author{Place Holder} 15 | \institute{University of \TeX} 16 | \email{name@domain.com} 17 | \homepage{www.mywebsite.com} 18 | \github{username} 19 | 20 | \begin{document} 21 | 22 | \frame[plain]{\titlepage} 23 | 24 | \Section{Demo} 25 | 26 | \begin{frame} 27 | \frametitle{A frame with title and subtitle} 28 | \framesubtitle{Subtitle here} 29 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua \par 30 | Itemized list: 31 | \begin{itemize} 32 | \item Lorem ipsum 33 | \item Dolor sit amet 34 | \begin{itemize} 35 | \item Consectetur 36 | \item Adipiscing elit 37 | \end{itemize} 38 | \item Sed do eiusmod 39 | \begin{itemize} 40 | \item Tempor incididunt 41 | \begin{itemize} 42 | \item Ut labore et dolore 43 | \item Magna aliqua 44 | \end{itemize} 45 | \end{itemize} 46 | \end{itemize} 47 | \end{frame} 48 | 49 | \begin{frame} 50 | \frametitle{A frame with title only} 51 | \begin{theorem} 52 | \[e^{i\pi}+1=0\] 53 | \begin{proof} 54 | \begin{equation*} 55 | e^{iz}=\cos{z}+i\sin{z} 56 | \end{equation*} 57 | \center{therefore} 58 | \begin{align*} 59 | e^{i\pi}+1 & \null=\cos\pi+i\sin\pi+1 \\ 60 | & \null=-1+i\times0+1 \\ 61 | & \null=0 62 | \end{align*} 63 | \end{proof} 64 | \end{theorem} 65 | \end{frame} 66 | 67 | \begin{frame}[bg=demo-arguelles.png] 68 | \frametitle{A frame with background image} 69 | You can still add title and subtitle. \par 70 | You can also use a background in the title slide by setting: \\ 71 | \texttt{\textbackslash frame[plain,bg=demo-background.jpg]\{\textbackslash titlepage\}} 72 | \end{frame} 73 | 74 | \begin{frame}[plain] 75 | \frametitle{A plain frame has no headline} 76 | \begin{table} 77 | \small 78 | \begin{tabular}{rl} 79 | \ttfamily\textbackslash Alegreya & \Alegreya Lorem ipsum dolor sit amet \\ 80 | \ttfamily\textbackslash AlegreyaMedium & \AlegreyaMedium Lorem ipsum dolor sit amet \\ 81 | \ttfamily\textbackslash AlegreyaExtraBold & \AlegreyaExtraBold Lorem ipsum dolor sit amet \\ 82 | \ttfamily\textbackslash AlegreyaBlack & \AlegreyaBlack Lorem ipsum dolor sit amet \\ 83 | \ttfamily\textbackslash AlegreyaSansThin & \AlegreyaSansThin Lorem ipsum dolor sit amet \\ 84 | \ttfamily\textbackslash AlegreyaSansLight & \AlegreyaSansLight Lorem ipsum dolor sit amet \\ 85 | \ttfamily\textbackslash AlegreyaSans & \AlegreyaSans Lorem ipsum dolor sit amet \\ 86 | \ttfamily\textbackslash AlegreyaSansMedium & \AlegreyaSansMedium Lorem ipsum dolor sit amet \\ 87 | \ttfamily\textbackslash AlegreyaSansExtraBold & \AlegreyaSansExtraBold Lorem ipsum dolor sit amet \\ 88 | \ttfamily\textbackslash AlegreyaSansBlack & \AlegreyaSansBlack Lorem ipsum dolor sit amet 89 | \end{tabular} 90 | \end{table} 91 | \vfill 92 | \begin{alert}{Alert!} 93 | A \textit{plain} frame does not show the progress bar but still appears in it unless the frame comes after \texttt{\textbackslash End} 94 | \end{alert} 95 | \end{frame} 96 | 97 | \begin{frame}[standout] 98 | \centering\large 99 | A \textbf{\itshape\scshape standout} frame can be used to focus attention 100 | \end{frame} 101 | 102 | \End 103 | \begin{frame}[plain,standout] 104 | \centering 105 | In combination with \textit{plain}, \\ 106 | it makes a nice thank-you slide! 107 | \vfill 108 | \scalebox{4}{\faGithub} \par\bigskip 109 | \url{https://github.com/piazzai/arguelles} \\ 110 | \url{https://ctan.org/pkg/beamertheme-arguelles} 111 | \end{frame} 112 | 113 | \end{document} 114 | --------------------------------------------------------------------------------