5

I use enumitem in beamer to create a enumerate list as follows:

\documentclass{beamer}
\usetheme{Dresden}
\useinnertheme{circles}
\usepackage{enumitem} 

\newlist{enum}{enumerate}{5}  
\setlist[enum]{label*=\arabic*., listparindent=21pt, font=\bfseries\tiny } 

\setitemize{label=\usebeamerfont*{itemize item}%
  \usebeamercolor[fg]{itemize item}
  \usebeamertemplate{itemize item}}

\begin{document}

\begin{frame}
\frametitle{Frame title}

\begin{enum}
\item First item 

\begin{enum}
\item First subitem
\item Second subitem

\begin{enum}
\item First subitem
\item Second subitem

\begin{itemize}
\item First subitem
\item Second subitem

\end{itemize}
\end{enum}
\end{enum}

\item Second subitem
\end{enum}
\end{frame}

\end{document} 

The result is: The fonts all the levels are same. enter image description here

But how to set different font size with corrospending different levels in the list as follows? How to make higher level with higher text size? enter image description here

2 Answers2

8

I resolve this by the command "before" in enumitem.

\documentclass{beamer}
\usetheme{Dresden}
\useinnertheme{circles}
\usepackage{enumitem} 

\newlist{enum}{enumerate}{3}  
\setlist[enum, 1]{label*=\arabic*., listparindent=21pt, font=\bfseries\tiny, before*=\huge } 
\setlist[enum, 2]{label*=\arabic*., listparindent=21pt, font=\bfseries\tiny, before*=\large }
\setlist[enum, 3]{label*=\arabic*., listparindent=21pt, font=\bfseries\tiny, before*=\small }

\setlist[itemize,1]{before*=\tiny}

\setitemize{label=\usebeamerfont*{itemize item}%
  \usebeamercolor[fg]{itemize item}
  \usebeamertemplate{itemize item}}

\begin{document}

\begin{frame}
\frametitle{Frame title}

\begin{enum}
\item First item 

\begin{enum}
\item First subitem
\item Second subitem

\begin{enum}
\item First subitem
\item Second subitem

\begin{itemize}
\item First subitem
\item Second subitem

\end{itemize}
\end{enum}
\end{enum}

\item Second subitem
\end{enum}
\end{frame}

\end{document} 

It works as follows:

enter image description here

4

Instead of attempting to use enumitem with beamer, use beamer's own mechanism:

\documentclass{beamer}
\usetheme{Dresden}
\useinnertheme{circles}

\setbeamertemplate{enumerate item}[default]
\setbeamertemplate{enumerate subitem}[default]
\setbeamertemplate{enumerate subsubitem}[default]

\setbeamerfont{itemize/enumerate subbody}{size=\footnotesize}
\setbeamerfont{itemize/enumerate subsubbody}{size=\tiny}

\begin{document}

\begin{frame}
\frametitle{Frame title}

\begin{enumerate}
\item First item 

\begin{enumerate}
\item First subitem
\item Second subitem

\begin{enumerate}
\item First subitem
\item Second subitem

\end{enumerate}
\end{enumerate}

\item Second subitem
\end{enumerate}
\end{frame}

\end{document} 

enter image description here