![在 Beamer 列表中创建自定义项目类型](https://linux22.com/image/403712/%E5%9C%A8%20Beamer%20%E5%88%97%E8%A1%A8%E4%B8%AD%E5%88%9B%E5%BB%BA%E8%87%AA%E5%AE%9A%E4%B9%89%E9%A1%B9%E7%9B%AE%E7%B1%BB%E5%9E%8B.png)
我想使用这样的语法:
\begin{itemize}
\pro An advantage
\con A disadvantage
\end{itemize}
其中\pro
和\con
替换\item
并且它们具有以下效果:根据给定的颜色为文本着色并将标记类型(可以使用进行全局设置\setbeamertemplate{itemize}[square]
)更改为复选标记或叉号。
目前我有以下内容,其工作足够接近,只是我不知道如何在宏内部本地更改标记类型:
\documentclass{beamer}
\newcommand{\pro}[1]{\item {\color{green}#1}}
\newcommand{\con}[1]{\item {\color{red}#1}}
\begin{document}
\frame{
\begin{itemize}
\pro{pro 1}
\con{con 1}
\begin{itemize}
\pro{pro in subitem}
\end{itemize}
\end{itemize}
}
\end{document}
宏的行为在子项内应该相同。
答案1
您可以使用可选参数来\item[]
设置标记。例如,
\documentclass{beamer}
\usepackage{pifont}
\newcommand{\pro}[1]{\item[\ding{52}] {\color{green}#1}}
\newcommand{\con}[1]{\item[\ding{56}] {\color{red}#1}}
\begin{document}
\frame{
\begin{itemize}
\pro{pro 1}
\con{con 1}
\begin{itemize}
\pro{pro in subitem}
\end{itemize}
\end{itemize}
}
\end{document}