Beamer 子弹无项目

Beamer 子弹无项目

我已经使用 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}

在此处输入图片描述

相关内容