5

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,

3
4

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}
\usetheme{Madrid}

\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}

enter image description here

The same code, but with the default theme gives

enter image description here

2
  • 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
0

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}

enter image description here

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.