使用圖像作為 itemize 的標籤

使用圖像作為 itemize 的標籤

在幫助朋友完成論文時,我遇到了 itemize 的一個奇怪問題。她需要使用一些小圖像作為她的 itemize 的標籤,我建議使用\item[\includegraphics{xx}].然而,我們發現使用可選參數 for\includegraphics設定圖形的某些參數(即大小)會導致編譯失敗。

相反,如果我建立一個僅接受一個參數的輔助命令,編譯就會順利進行。

有人可以提示我為什麼會發生這種情況嗎?也許到哪裡去了解這裡發生的事?非常感謝!

example.png這是一個 MWE,它需要工作目錄中的圖像:

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

答案1

TeX 不像大括號那樣追蹤括號的巢狀。

當你嵌套大括號時

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

那麼 TeX 就知道哪些對屬於同一組。對於括號,這種情況不會發生。這裡的程式碼只是找出下一個右括號。所以 TeX 會像這樣將它們配對

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

你的命令就會中斷。為了避免這種情況,您可以將內括號隱藏在大括號組中:

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

答案2

由於您在所有項目中使用相同的圖像,因此\imagebullet根據需要修改巨集可能會更容易,然後只需插入[\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}

在此輸入影像描述

相關內容