答案1
这个问题实际上比你想象的要棘手得多。主要问题是,在 beamer 中块没有编号,如果你给它们贴上标签,你将获得帧编号而不是块编号。
您可以修改块环境的定义以包含计数器。一旦对块进行编号,您就可以使用@marmots 的出色建议并使用它\numberwithin{block}{section}
包含部分编号。
附加评论:永远不要\section
在框架内使用,这可能会产生副作用。
\documentclass[12pt,xcolor=dvipsnames]{beamer}
\usefonttheme{serif}
\usetheme{Madrid}
\usepackage{lipsum}
\newcounter{block}
\setcounter{block}{0}
\numberwithin{block}{section}
\setbeamertemplate{block begin}
{%
\refstepcounter{block}%
\par\vskip\medskipamount%
\begin{beamerboxesrounded}[upper=block title,lower=block body,shadow=true]%
{\raggedright\usebeamerfont*{block title}\insertblocktitle}%
\raggedright%
\usebeamerfont{block body}%
}
\begin{document}
\section{}
\begin{frame}{Example \ref{block1}}
\begin{block}{}\label{block1}
\lipsum[2]
\end{block}
\end{frame}
\begin{frame}
content...
\end{frame}
\begin{frame}{Example \ref{block2}}
\begin{block}{}\label{block2}
\lipsum[2]
\end{block}
\end{frame}
\end{document}