我已经使用 Beamer 多年了。几乎每张幻灯片上都有 a\begin{itemize}
和 an\end{itemize}
以及它们之间的所有\item Blah
点。如果有嵌套,我需要小心地再次使用相同的构造:
\begin{itemize}
\item One
\begin{itemize}
\item One and a Half
\end{itemize}
\item Two
\end{itemize}
我突然想到,我可以使用一个更简单的命令,它可能只是插入一个带有可选前导缩进的项目符号。可以使用以下方法获取上述代码的输出:
\i0 One
\i1 One and a Half
\i0 Two
我想我可以轻松创建这样一个简单的命令,也许使用\bullet
,但我宁愿首先问:是否已经有类似的东西了;并且是否有人使用这个习语足够长的时间来评论其优缺点。
答案1
您可以使用\usebeamertemplate{}
宏。对于您的情况:
\usebeamertemplate{itemize item}
\usebeamertemplate{itemize subitem}
\usebeamertemplate{itemize subsubitem}
如果你还希望使用其预定义的颜色,你可以这样写
{\usebeamercolor[fg]{itemize item}\usebeamertemplate{itemize item}}
对于subitem
和也类似subsubitem
。请注意括号,以使颜色定义成为局部的。
\documentclass{beamer}
\newcommand{\Item}{\par\leavevmode
\hbox to\labelwidth{\hss\usebeamercolor[fg]{itemize item}\usebeamertemplate{itemize item}}\hspace{\labelsep}}
\newcommand{\Subitem}{\par\leavevmode\hskip\leftmarginii
\hbox to\labelwidth{\hss\usebeamercolor[fg]{itemize subitem}\usebeamertemplate{itemize subitem}}\hspace{\labelsep}}
\newcommand{\Subsubitem}{\par\leavevmode\hskip\leftmargini\hskip\leftmarginii
\hbox to\labelwidth{\hss\usebeamercolor[fg]{itemize subsubitem}\usebeamertemplate{itemize subsubitem}}\hspace{\labelsep}}
\begin{document}
\begin{frame}
\Item One
\Item Two
\end{frame}
\end{document}