# Getting the theme's itemize bullet in beamer?

I was wondering if there is a way to get the itemize bullet symbol defined by the theme in beamer. More precisely, I'd like to manually place the bullet symbol somewhere in the text.

One option is to look in the style file of the theme and place the appropriate mark manually (e.x. in default theme the bullet is a $\blacktriangleright$ and I can place the same symbol whenever I want -- I also have to take care of the color and size, ...) but in this case if I want to change the theme it will be a mess!

I believe there must be a better way to do this ...

Thanks,

You can use the appropriate template, font, and color, to define a command; in this way you assure that your definition will honour the settings of the selected theme:

\documentclass{beamer}

\newcommand\Mitemitem{%
\begingroup
\leavevmode
\usebeamerfont*{itemize item}%
\usebeamercolor[fg]{itemize item}%
\usebeamertemplate**{itemize item}%
\endgroup
}
\newcommand\Mitemsubitem{%
\begingroup
\leavevmode
\usebeamerfont*{itemize subitem}%
\usebeamercolor[fg]{itemize subitem}%
\usebeamertemplate**{itemize subitem}%
\endgroup
}

\begin{document}

\begin{frame}
\Mitemitem\ AAA

\Mitemsubitem\ AAA
\end{frame}

\end{document}


The same code, but with the default theme gives

• Thanks a lot Gonzalo! It works. The only issue is that in the second level of itemize' (nested itemize) I get a bigger bullet (i.e. that of the first level). Could you please help me fix this? – kMaster Sep 25 '15 at 9:06
• @ManiBastaniParizi Please see my updated answer. – Gonzalo Medina Sep 25 '15 at 13:24

In case somebody is interested to see how that works for enumerations, i.e., numbered lists, here's the code, adapted from Gonzalo Medina.

\newcounter{copyOfCurrentNumber}
\newcommand{\EnumItem}[1] {%
\begingroup
\setcounter{copyOfCurrentNumber}{\theenumi}
\setcounter{enumi}{#1}
\leavevmode
\usebeamerfont*{enumerate item}%
\usebeamercolor[fg]{enumerate item}%
\usebeamertemplate**{enumerate item}%
\setcounter{enumi}{\thecopyOfCurrentNumber}
\endgroup
}


Now what that code does in addition to replacing itemize by enumerate is to "save" the current enumeration number. So the command \EnumItem receives an argument which equals the number that is supposed to be printed (in the style of the enumerate list of course). But by setting the enumeration number to that of the argument (i.e., the printed number) we change the current enumerate number as a side effect. That is a problem if we are currently within such an enumerate. Thus the code saves the current number in a new variable, and copies it back once the job is done.

Below is the example code plus is visualization.

\begin{frame}[t]{Example}
\begin{enumerate}
\item First list entry.
\item This is label 5: \EnumItem{5} (although we don't have that list entry).
\item Third entry. Still starts with 3, not with 6! Phew!
\end{enumerate}
\end{frame}