Я пользуюсь Beamer уже много лет. Почти на каждом слайде у меня есть \begin{itemize}
и \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}