46

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)?

43

You can use

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

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

  • I may be wrong, but solely using \useinnertheme{default} does not have the desired effect. Did you mean to use it in addition to \setbeamertemplate? – lockstep Feb 15 '11 at 21:52
  • 1
    Yes. It seems useless. I deleted it. – Leo Liu Feb 15 '11 at 21:56
  • 2
    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 Apr 30 '12 at 3:23
  • 2
    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 Apr 30 '12 at 3:31
18
\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}
  • It's right, but not the common use. – Leo Liu Feb 15 '11 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 Feb 15 '11 at 22:00
  • You're right. I misused braces (should be bracets). – Leo Liu Feb 15 '11 at 22:04
8

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

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.