Use a imagem como rótulo para detalhar

Use a imagem como rótulo para detalhar

Ao ajudar uma amiga com sua tese, me deparei com um problema estranho com o itemize. Ela precisa usar alguma imagem pequena como rótulo para seu item, e eu sugeri usar \item[\includegraphics{xx}]. Entretanto, descobrimos que usar o argumento opcional for para \includegraphicsdefinir algum parâmetro da figura (ou seja, o tamanho) faz com que a compilação falhe.

Em vez disso, se eu criar um comando auxiliar que receba apenas um argumento, a compilação prosseguirá sem problemas.

Alguém pode me dar uma dica de por que isso acontece? E talvez onde procurar para entender o que está acontecendo aqui? Muito obrigado!

Aqui um MWE, requer a imagem example.pngem seu diretório de trabalho:

\documentclass{article}
\usepackage{graphicx}

\newcommand{\imagebullet}[1]{\includegraphics[width=0.5cm]{#1}}

\begin{document}
    \begin{itemize}
        \item[\imagebullet{example.png}] This works
        \item[\includegraphics[width=0.5cm]{example.png}] This does not!
    \end{itemize}
\end{document}

Responder1

O TeX não rastreia o aninhamento de colchetes como faz com colchetes.

Quando você aninha chaves

{.... { .... } ....}
1     2      2     1

então o TeX sabe quais pares pertencem um ao outro. Isso não acontece com colchetes. Aqui o código simplesmente procura o próximo colchete de fechamento. Então o TeX irá emparelhá-los assim

\item[\includegraphics[width=0.5cm]{example.png}]
     1                2           1

e seu comando é interrompido. Para evitar isso, você pode ocultar o colchete interno em um grupo de chaves:

\item[{\includegraphics[width=0.5cm]{example.png}}]
     1{                2           2             }1   

Responder2

Como você usa a mesma imagem em todos os itens, pode ser mais fácil modificar a \imagebulletmacro como desejar, bastando inserir o arquivo [\imagebullet].

\documentclass{article}
\usepackage{graphicx}

\newcommand{\imagebullet}{$\vcenter{\hbox{\includegraphics[width=0.5cm]{example-image}}}$}

\begin{document}
    \begin{itemize}
        \item[\imagebullet] This works
        \item[\imagebullet] This also works 
    \end{itemize}
\end{document}

insira a descrição da imagem aqui

informação relacionada