使用 enumitem 包枚举列表中的球形项目

使用 enumitem 包枚举列表中的球形项目

在 Beamer 中,我希望能够在由包定义的布局列表items中使用球(里面有一个数字)。enumerateenumitem

这个问题与使用 enumitem 时使 enumerate 具有 beamer 主题。其实已经给出了提示,但是不起作用。

此后,我的 MWE。如果您删除\protect\usebeamertemplate{enumerate item},MWE 即可工作。

\documentclass[12pt]{beamer}
\usepackage{enumitem}
\setbeamertemplate{enumerate item}[ball]
\setenumerate[1]{%
  label=\protect\usebeamerfont{enumerate item}
        \protect\usebeamercolor[fg]{enumerate item}
        \protect\usebeamertemplate{enumerate item}
        \insertenumlabel.}
\begin{document}
\begin{frame}
  \begin{enumerate}
    \item First item
    \item Second item
  \end{enumerate}
\end{frame}
\end{document}

您对正确纳入item模板有什么建议吗?谢谢。

答案1

我会建议不是enumitem与 一起使用beamer,因为这种组合可能产生的损害大于益处。以您在问题中链接的答案中给出的代码为例:

\documentclass[12pt]{beamer}
\usetheme{Singapore}
\usepackage{enumitem}
\setenumerate[1]{%
  label=\protect\usebeamerfont{enumerate item}%
        \protect\usebeamercolor[fg]{enumerate item}%
        \insertenumlabel.}
\begin{document}
\begin{frame}
  \begin{enumerate}
    \item First item
    \item Second item
  \end{enumerate}
\end{frame}
\end{document}

这段代码可以工作,而且表面上一切正常,但这段代码“隐藏”了一点,那enumerate就是不是覆盖感知,这是一个严重的缺点;添加典型的覆盖规范

\documentclass[12pt]{beamer}
\usetheme{Singapore}
\usepackage{enumitem}
\setenumerate[1]{%
  label=\protect\usebeamerfont{enumerate item}%
        \protect\usebeamercolor[fg]{enumerate item}%
        \insertenumlabel.}
\begin{document}
\begin{frame}
  \begin{enumerate}[<+->]
    \item First item
    \item Second item
  \end{enumerate}
\end{frame}
\end{document}

你收到错误消息

! Package enumitem Error: <+-> undefined.

See the enumitem package documentation for explanation. Type  H <return>  for immediate help.  ...                                    

l.14 \end{frame}

如果您想要自定义列表式环境,可以通过重新定义 中定义的相应元素来实现beamer。例如,可以在文件 中找到enumerate item每个预定义选项(defaultballcircle、 )的模板定义。然后,您可以根据需要更改此定义;举个小例子,增加圆圈的大小并在枚举标签后添加最后一个点:squarebeamerbaseauxtemplates.sty

\documentclass[12pt]{beamer}

\makeatletter
\setbeamertemplate{enumerate item}
{
  \begin{pgfpicture}{-1ex}{-0.65ex}{1ex}{1ex}
    \usebeamercolor[fg]{item projected}
    {\pgftransformscale{2}\pgftext{\normalsize\pgfuseshading{bigsphere}}}
    {\pgftransformshift{\pgfpoint{0pt}{0.5pt}}
      \pgftext{\usebeamerfont*{item projected}\insertenumlabel.}}
  \end{pgfpicture}%
}
\makeatother

\begin{document}

\begin{frame}
\begin{enumerate}
  \item First item
  \item Second item
\end{enumerate}
\end{frame}

\end{document}

在此处输入图片描述

相关内容