在 Beamer 中,创建一个带有数字的方块(​​如枚举)

在 Beamer 中,创建一个带有数字的方块(​​如枚举)

我有一个带有方形图标的枚举环境,它为我提供了一个彩色的方块,里面的每个项目都有一个数字。

在此之下,我想将一些内容与这些项目进行视觉对应。因此,我希望制作一个相同的正方形,里面有一个数字。有什么想法吗?

编辑:这是一个最小的工作示例:

\documentclass[mathserif,xcolor=svgnames]{beamer}
\setbeamertemplate{enumerate items}[square]
\begin{document}

\begin{frame}{Example}
 \begin{enumerate}
  \item Hello there
 \end{enumerate}
\end{frame}

\end{document}

答案1

创建框的代码可以在 中找到beamerbaseauxtemplates.sty。您可以将其包装在新命令中,以便在枚举之外使用它:

\documentclass[mathserif,xcolor=svgnames]{beamer}
\setbeamertemplate{enumerate items}[square]
\begin{document}

\newcommand\boxednumber[1]
{%
  \hbox{%
    \usebeamerfont*{item projected}%
    \usebeamercolor[bg]{item projected}%
    \vrule width2.25ex height1.85ex depth.4ex%
    \hskip-2.25ex%
    \hbox to2.25ex{%
      \hfil%
      \color{fg}#1%
      \hfil}%
  }%
}

\begin{frame}{Example}
 \begin{enumerate}
  \item Hello there
 \end{enumerate}

Let's talk about item \boxednumber{1}
\end{frame}

\end{document}

答案2

这是另一种方法,但使用\label\ref。我创建了一个\squareref命令,它将把它的引用括在一个方框中。我最初这样做是为了球型引用,所以我也在示例中包含了该代码。基本代码取自beamer与 Jake 的答案相同的来源。

\documentclass{beamer}

\newcommand*{\squareref}[1]{
  \hbox{%
    \usebeamerfont*{item projected}%
    \usebeamercolor[bg]{item projected}%
    \vrule width2.25ex height1.85ex depth.4ex%
    \hskip-2.25ex%
    \hbox to2.25ex{%
      \hfil%
      \color{fg}\ref{#1}%
      \hfil}%
  }%
}

\newcommand*{\ballref}[1]{%
    \begin{pgfpicture}{-1ex}{-0.65ex}{1ex}{1ex}
    \usebeamercolor[fg]{item projected}
    {\pgftransformscale{1.75}\pgftext{\normalsize\pgfuseshading{bigsphere}}}
    {\pgftransformshift{\pgfpoint{0pt}{0.5pt}}
      \pgftext{\usebeamerfont*{item projected}\ref{#1}}}
  \end{pgfpicture}}%


\begin{document}
\setbeamertemplate{enumerate items}[square]

\begin{frame}

\begin{enumerate}
\item\label{item1} Go to \squareref{item2}
\item\label{item2} Go to \squareref{item1}
\end{enumerate}
\setbeamertemplate{enumerate items}[ball]

\begin{enumerate}
\item\label{item3} Go to \ballref{item4}
\item\label{item4} Go to \ballref{item3}

\end{enumerate}

\end{frame}

\end{document} 

代码输出

相关内容