Bild als Beschriftung für Einzelauflistung verwenden

Bild als Beschriftung für Einzelauflistung verwenden

Als ich einer Freundin bei ihrer Abschlussarbeit half, stieß ich auf ein seltsames Problem mit itemize. Sie musste ein kleines Bild als Beschriftung für ihr itemize verwenden, und ich schlug vor, zu verwenden \item[\includegraphics{xx}]. Wir stellten jedoch fest, dass die Kompilierung fehlschlug, wenn wir das optionale Argument für \includegraphicszum Festlegen eines Parameters der Abbildung (z. B. der Größe) verwendeten.

Wenn ich stattdessen einen Hilfsbefehl erstelle, der nur ein Argument annimmt, verläuft die Kompilierung reibungslos.

Kann mir jemand einen Hinweis geben, warum das passiert? Und vielleicht, wo ich nachschauen muss, um zu verstehen, was hier passiert? Vielen Dank!

Hier ein MWE, dazu muss das Image example.pngin deinem Arbeitsverzeichnis liegen:

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

Antwort1

TeX berücksichtigt die Verschachtelung von Klammern nicht so wie dies bei geschweiften Klammern der Fall ist.

Wenn Sie Klammern verschachteln

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

dann weiß TeX, welche Paare zusammengehören. Das passiert bei Klammern nicht. Hier sucht der Code einfach nach der nächsten schließenden Klammer. TeX paart sie also so

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

und Ihr Befehl wird unterbrochen. Um dies zu vermeiden, können Sie die innere Klammer in einer Klammerngruppe verbergen:

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

Antwort2

Da Sie bei allen Elementen dasselbe Bild verwenden, ist es möglicherweise einfacher, das \imagebulletMakro nach Wunsch zu ändern und dann einfach einzufügen [\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}

Bildbeschreibung hier eingeben

verwandte Informationen