# Can one replace bullet points with graphics?

Is it possible to replace bullet points in an itemize environment with graphics? I can find answers about replacing bullet points with other symbols, but in all the examples I can find, these symbols are given by LaTeX commands and are not separate graphics files.

I am interested in finding out if this is possible both in Beamer and other standard document classes.

-

Simply replace the mentioned LaTeX commands with \includegraphics[<options>]{<image>} (graphicx package). You can adjust the scale or height of the images using the scale and height option, receptively. Using either ex or em as unit for the height will scale the image depending on the font size.

For beamer you do it the following way (See also Change bullet style / formatting in Beamer)

\documentclass{beamer}

\usepackage{graphicx}

\defbeamertemplate{itemize item}{image}{\small\includegraphics[height=1.6ex]{myimage}}
\defbeamertemplate{itemize subitem}{image}{\scriptsize\includegraphics[height=1.6ex]{myimage}}
\defbeamertemplate{itemize subsubitem}{image}{\tiny\includegraphics[height=1.6ex]{myimage}}

\setbeamertemplate{itemize item}[image]
\setbeamertemplate{itemize subitem}[image]
\setbeamertemplate{itemize subsubitem}[image]

\begin{document}

\begin{frame}{Example}

\begin{itemize}
\item A
\item B
\item C
\begin{itemize}
\item A
\item B
\item C
\begin{itemize}
\item A
\item B
\item C
\end{itemize}
\end{itemize}
\end{itemize}

\end{frame}

\end{document}


For the normal itemize you can redefine \labelitemi, \labelitemii, \labelitemiii and \labelitemiv for the four possible nesting levels.

If you want to have different images for different items you should simply define macros which call \item with the optional argument as described by me in How to define a list with custom symbols?.

For images this would look e.g. like this:

\newcommand*\tick{\item[\includegraphics[height=1.6ex]{tickimg}]}
\newcommand*\fail{\item[\includegraphics[height=1.6ex]{failimg}]}

-
Very good comprehensive answer! I also like \defbeamertemplate which my solution didn't use. –  Stefan Kottwitz Mar 5 '11 at 19:49
@Stefan: Thanks, for that I like your \setbeamertemplate{itemize item}{\upbullet} because it is more direct, which is good for small changes which are are not reused often. –  Martin Scharrer Mar 5 '11 at 21:01
@MartinScharrer i adopted this solution myself by i later found out that it does not play well with \setbeamercovered{transparent} (the image remains fully showed when the text is grayed out). is there a way to fix this? or at least include a different image when the item is covered? –  capitalaslash Sep 19 '12 at 21:59
@capitalaslash: Sorry, no idea. My beamer template knowledge doesn't go so far. –  Martin Scharrer Sep 20 '12 at 5:08

Here's a beamer way, using setbeamertemplate which Leo mentioned:

\documentclass{beamer}
\newcommand*{\upbullet}{\includegraphics[width=1em]{up}}
\setbeamertemplate{itemize item}{\upbullet}
\begin{document}
\begin{frame}
\begin{itemize}
\item One
\item Two
\item Three
\end{itemize}
\end{frame}
\end{document}


-

Redefine \labelitemi. The origin definition is (in standard document classes):

\newcommand\labelitemi{\textbullet}


You can redefine it as your wish:

\renewcommand\labelitemi{\includegraphics{foo}}


For beamer, you can use \setbeamertemplate. Please refer manual of beamer for details. And you can see this question:

Change bullet style / formatting in Beamer

-
Or do the same thing using the enumitem package. \setitemize[1]{\includegraphics{foo}}, where [1] is the depth of the itemization. –  Alan Munn Mar 5 '11 at 19:42
@Alan Munn: Very good advice! enumitem is great for most documents. Just a remark, since also beamer is a part of the question: enumitem doesn't work with beamer. –  Stefan Kottwitz Mar 5 '11 at 19:56