我有一个带有方形图标的枚举环境,它为我提供了一个彩色的方块,里面的每个项目都有一个数字。
在此之下,我想将一些内容与这些项目进行视觉对应。因此,我希望制作一个相同的正方形,里面有一个数字。有什么想法吗?
编辑:这是一个最小的工作示例:
\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}