
Я пытаюсь воспроизвести перечисленную среду этого поста (Причудливый и красивый тип перечисления) вБимер. Мой MWE, адаптированный оттуда, выглядит следующим образом:
\documentclass{beamer}
\usepackage{tikz}
\newcommand{\Colorlist}{red,blue,green,yellow}
\newcommand{\SebastianoItem}[1]{\foreach \X[count=\Y] in \Colorlist
{\ifnum\Y=#1\relax
\xdef\SebastianoColor{\X}
\fi
}
\tikz[baseline=(SebastianoItem.base),remember
picture]{%
\node[fill=\SebastianoColor,inner sep=4pt,font=\sffamily,fill opacity=0.5] (SebastianoItem){#1)};}
}
\newcommand{\SebastianoHighlight}{\tikz[overlay,remember picture]{%
\fill[\SebastianoColor,fill opacity=0.5] ([yshift=4pt,xshift=-\pgflinewidth]SebastianoItem.east) -- ++(4pt,-4pt)
-- ++(-4pt,-4pt) -- cycle;
}}
\begin{document}
\begin{frame}
\renewcommand{\labelenumi}{\SebastianoItem{\arabic{enumi}}}
Some general advices.
\begin{enumerate}
\item No fast food.
\item Don't drink to much alcohol.
\item No pineapple on pizza. \SebastianoHighlight
\item Don't use onions in food.
\end{enumerate}
\end{frame}
\end{document}
Когда я раскомментирую строки \renewcommand и \SebastianoHighlight, код компилируется, так что я предполагаю, что ошибки там. Я знаю, что команды обновления в Beamer сложнее, чем в классе документа Article. Однако я не могу найти решение. Есть идеи?
решение1
В проекторе:
\setbeamertemplate{enumerate item}{\SebastianoItem{\arabic{enumi}}}
Аналогично дляперечислить подпункт,перечислить подпункт, и перечислить мини-шаблон.
редактировать файл:
\documentclass{beamer}
\usepackage{tikz}
\newcommand{\Colorlist}{red,blue,green,yellow}
\newcommand{\SebastianoItem}[1]{\foreach \X[count=\Y] in \Colorlist
{\ifnum\Y=#1\relax
\xdef\SebastianoColor{\X}
\fi
}
\tikz[baseline=(SebastianoItem.base),remember
picture]{%
\node[fill=\SebastianoColor,inner sep=4pt,font=\sffamily,fill opacity=0.5] (SebastianoItem){#1)};}
}
\newcommand{\SebastianoHighlight}{\tikz[overlay,remember picture]{%
\fill[\SebastianoColor,fill opacity=0.5] ([yshift=4pt,xshift=-\pgflinewidth]SebastianoItem.east) -- ++(4pt,-4pt)
-- ++(-4pt,-4pt) -- cycle;
}}
\setbeamertemplate{enumerate item}{\SebastianoItem{\arabic{enumi}}}
\begin{document}
\begin{frame}
%\renewcommand{\labelenumi}{\SebastianoItem{\arabic{enumi}}}
Some general advices.
\begin{enumerate}
\item No fast food.
\item Don't drink to much alcohol.
\item No pineapple on pizza. \SebastianoHighlight
\item Don't use onions in food.
\end{enumerate}
\end{frame}
\end{document}