69

I like the Boadilla layout for Beamer presentations, but I find its enumerate bullet points illegible, as illustrated below (from the Beamer Theme Matrix).

Boadilla bullet points

How can I change the formatting of the bullet points in the enumerate environment to something more legible, like the default style, illustrated below?

default bullet points

Is it possible to borrow a different style's bullet point formatting, either in whole, or in parts (itemize and enumerate separately)?

0

4 Answers 4

64

You can use

\setbeamertemplate{itemize items}[default]
\setbeamertemplate{enumerate items}[default]

See section 12.1 of the manual of beamer for more information.

3
  • 4
    This is cool, but it seems not to change the TOC items. Also, it'd be good to include a section number for the manual, cause that's one dense document.
    – naught101
    Commented Apr 30, 2012 at 3:23
  • 7
    Also, items is the parent of both enumerate and itemize items, so you can just do something like \setbeamertemplate{items}[square], and it will apply to both.
    – naught101
    Commented Apr 30, 2012 at 3:31
  • For changing the style of the TOC items, you can call \setbeamertemplate{sections/subsections in toc}[...] (i.e., with default). Alternatively, see here. Commented Jun 17 at 14:54
23
\documentclass{beamer}

\usetheme{boadilla}

% Adapted from beamerinnerthemedfault.sty
\setbeamertemplate{itemize item}{\scriptsize\raise1.25pt\hbox{\donotcoloroutermaths$\blacktriangleright$}}
\setbeamertemplate{itemize subitem}{\tiny\raise1.5pt\hbox{\donotcoloroutermaths$\blacktriangleright$}}
\setbeamertemplate{itemize subsubitem}{\tiny\raise1.5pt\hbox{\donotcoloroutermaths$\blacktriangleright$}}
\setbeamertemplate{enumerate item}{\insertenumlabel.}
\setbeamertemplate{enumerate subitem}{\insertenumlabel.\insertsubenumlabel}
\setbeamertemplate{enumerate subsubitem}{\insertenumlabel.\insertsubenumlabel.\insertsubsubenumlabel}
\setbeamertemplate{enumerate mini template}{\insertenumlabel}

\begin{document}

\begin{frame}
\begin{enumerate}
\item{bla}
  \begin{enumerate}
  \item{blubb}
    \begin{enumerate}
    \item{foo}
    \end{enumerate}
  \end{enumerate}
\end{enumerate}
\end{frame}

\end{document}
3
  • It's right, but not the common use.
    – Leo Liu
    Commented Feb 15, 2011 at 21:58
  • @Leo Liu: I suspected so, and only posted my answer because the original version of your one didn't seem to work.
    – lockstep
    Commented Feb 15, 2011 at 22:00
  • You're right. I misused braces (should be bracets).
    – Leo Liu
    Commented Feb 15, 2011 at 22:04
15

You can use inner theme constructs to achieve a uniform style. For instance, when I prefer to use square face for items, sections and subsections, I would use the following.

\useinnertheme{rectangles}

Please browse the beamer source code for various themes to get an idea about available inner themes and how various themes define certain styles. I felt that this way was easier to find what I was looking for to customize instead of reading the beamer manual.

1
  • This is excellent!
    – mcp
    Commented Mar 10, 2022 at 20:49
2

Abstraction of Properties in Beamer

\defbeamertemplate{element id}{option id}[argument index][default optional arg]{...definition...}

Beamer's Technique: Give everything a label (or unique id) and apply things by referring to their label/id.

Equivalent words for ids in beamer jargon from my experience

  • template
  • alias

Enumerated List Template Definitions

\defbeamertemplate{enumerate item}{circle}{...definition...}
\defbeamertemplate{enumerate subitem}{circle}{...definition...}
\defbeamertemplate{enumerate subsubitem}{circle}{...definition...}
\defbeamertemplate{enumerate mini template}{circle}{...definition...}

To make formatting easier, all of those levels can be abstracted into one object we can call a parent with

\defbeamertemplateparent{enumerate items}{enumerate item,enumerate subitem,enumerate subsubitem,enumerate mini template}{}

It is also possible to abstract the hell out of the layers again by assigning an alias to the whole thing, but this is not done for enumerated lists:

\defbeamertemplatealias{itemize item}{triangle}{default}
\defbeamertemplatealias{itemize subitem}{triangle}{default}
\defbeamertemplatealias{itemize subsubitem}{triangle}{default}

Example of Defaults for Enumerated

As you can see, there is no formatting, just numbering. This is why using ``''

\defbeamertemplate*{enumerate item}{default}{\insertenumlabel.}
\defbeamertemplate*{enumerate subitem}{default}{\insertenumlabel.\insertsubenumlabel}
\defbeamertemplate*{enumerate subsubitem}{default}{\insertenumlabel.\insertsubenumlabel.\insertsubsubenumlabel}
\defbeamertemplate*{enumerate mini template}{default}{\insertenumlabel}

Example Using fontawesome as Bullet

Makes the bullet a right-facing chevron in itemized lists.

\defbeamertemplate{itemize item}{chevron}{\usebeamerfont*{itemize item}\raise1.25pt\hbox{\faAngleRight}}
\setbeamertemplate{items}[chevron]

Boadilla

texmf-dist/tex/latex/beamer/beamerthemeBoadilla.sty

It just imports another inner theme, which controls aspects of the content of slides. It loads rounded. Without looking into the details of rounded, I can guess from the semantics of the name that that is ther reason for the ugly enumerated balls.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .