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

  • You mean .tex source of the second beamer slide is not available with you. – texenthusiast Mar 2 '13 at 5:30
  • 1
    The second I use {\huge \begin{enum} \item First subitem \item Second subitem } to make it in every level of lists. But it's dirty. How to make it better use a global setting? – WonderTree Mar 2 '13 at 5:44
  • I hope this may help Changing font size of list items and subitems – texenthusiast Mar 2 '13 at 5:45
  • Thank you for your advice. But that method works just for itemize, enumerate, doesn't for enumitem, I try \setbeamertemplate{enum subbody begin}{\tiny} It doesn't work. – WonderTree Mar 2 '13 at 5:57
  • 1
    Please see this Trouble combining enumitem and beamer. When you use beamer class stick to \setbeamertemplate{} option don't use enumitem package designed for other class. – texenthusiast Mar 2 '13 at 6:04
7

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

2

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

  • +1 for not using enumitem within beamer! – user31729 Feb 25 '18 at 15:46
  • @ChristianHupfer Thank you for your vote(s) :) – user36296 Feb 25 '18 at 15:52

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.