[Tex/LaTex] How to get larger item symbols for some lists in a Beamer presentation

beamerfontsizeitemize

I am writing a Beamer presentation that mixes normal-size font for some slides, and large-size font for other slides. When I use the itemize environment with a large font, the item symbol (a small ball) does not become larger, and the result is not aesthetically pleasant.

How can I make itemized lists with large item symbols, but only for those which have large text, not for the entire presentation (i.e., without globally changing the beamer template)?

Best Answer

itemize symbols have font size hardcoded in definition (look at beamerthemedefault.sty or beamerbaseauxtemplates.sty).

% Itemize items, circle

\defbeamertemplate{itemize item}{circle}{\small\raise0.5pt\hbox{\textbullet}}
\defbeamertemplate{itemize subitem}{circle}{\footnotesize\raise0.5pt\hbox{\textbullet}}
\defbeamertemplate{itemize subsubitem}{circle}{\footnotesize\raise0.5pt\hbox{\textbullet}}

Section 16.3 "Changing the Templates Used for Different Elements of a Presentation" form beamer manual explain how to change it. It seems that would be possible to define a template with an option for font size. I don't know how to do it but a fast solution could be redeclare itemize symbols with new hardcoded size, something like

\documentclass{beamer}

\begin{document}    
\begin{frame}[t]{Frame title}
  \begin{itemize}
  \item First item
  \item Second item
  \end{itemize}
\bigskip
{\setbeamertemplate{itemize item}{\small\raise1.25pt\hbox{\donotcoloroutermaths$\blaktriangleright$}}
  \begin{itemize}
  \item Second first item
  \item Second second item
  \end{itemize}
}
\bigskip
  \begin{itemize}
  \item Third first item
  \item Third second item
  \end{itemize}
\end{frame}
\end{document}

enter image description here

EDIT: Changing balls for Madrid Theme.

Madrid Theme (beamerthemeMadrid.sty) uses \useinnertheme[shadow]{rounded} which declares \setbeamertemplate{items}[ball]. So we need to look for ball in beamerbaseauxtemplates.sty. To do it short, in this file some 'spheres' are defined and used. You can make your own definition,

\documentclass{beamer}
\usetheme{Madrid}

\makeatletter
\pgfdeclareradialshading[bg,parent.bg]{mysphere}{\pgfpoint{0.15cm}{0.15cm}}%
{color(0cm)=(bg!15);
 color(0.15cm)=(bg!75);
 color(0.3cm)=(bg!70!black);
 color(0.301cm)=(parent.bg)}

\defbeamertemplate{itemize item}{myball}%
{\raise-0.2cm\beamer@usesphere{item projected}{mysphere}}
\makeatother

\begin{document}    
\begin{frame}[t]{Frame title}
  \begin{itemize}
   \item First item
   \begin{itemize}
     \item first subitem
     \item second subitem
   \end{itemize}
   \item Second item
  \end{itemize}
  \bigskip
{\setbeamertemplate{itemize item}[myball]
  \begin{itemize}
   \item Third first item
   \item Third second item
   \end{itemize}
}
\end{frame}
\end{document}

The result is

enter image description here

I think sphere sizes are related with font size because they are declared using ex units but I'm not able to change its size with just a fontsize declaration. May be somebody else can help us.