Beamer中envcountsect下example块负增量编号异常的解决问询
Beamer 启用
envcountsect时回顾示例的正确编号方案 在启用envcountsect的Beamer文档中,示例块编号绑定章节序列(如1.1、1.2、2.1),直接调整计数器会破坏后续编号逻辑。以下是两种可靠的解决方法:
方法1:标签引用回顾(推荐,无计数器干扰)
通过给原始示例添加标签,在回顾时直接引用其编号,完全不修改计数器序列,避免打乱后续编号。
步骤:
- 给目标示例添加标签:
\section{第一章} \begin{example} \label{ex:chap1:second} 这是第一章的第二个示例内容。 \end{example}
- 在需要回顾的位置,使用标签引用编号,可自定义回顾块样式:
\section{第二章} \begin{example} 当前章节的第一个示例,编号2.1。 \end{example} % 方式1:直接在example块标题中引用 \begin{example}[回顾示例~\ref{ex:chap1:second}] 这里是对示例\ref{ex:chap1:second}的回顾: \par \textit{原内容:这是第一章的第二个示例内容。} \end{example} % 方式2:自定义独立的回顾块(不占用当前示例编号) \newenvironment{reviewexample}[1]{% \begin{block}{示例~\ref{#1}(回顾)} }{% \end{block} } \begin{reviewexample}{ex:chap1:second} 仅展示回顾内容,不生成新的示例编号,后续示例仍按2.2递增。 \end{reviewexample}
方法2:临时修改计数器并恢复(需谨慎)
若必须让回顾块显示原示例的完整编号格式,可临时修改计数器,操作后立即恢复状态,但需注意避免影响章节相关的其他元素(如页眉)。
代码示例:
\section{第二章} % 提前保存当前章节和示例计数器状态 \newcounter{save_section} \newcounter{save_example} \setcounter{save_section}{\value{section}} \setcounter{save_example}{\value{example}} % 切换到目标章节和示例编号 \setcounter{section}{1} \setcounter{example}{2} \begin{example}[回顾] 此块将显示编号1.2,完全匹配原示例格式。 \end{example} % 恢复计数器,保证后续示例正常编号 \setcounter{section}{\value{save_section}} \setcounter{example}{\value{save_example}} % 后续示例仍按2.2编号 \begin{example} 当前章节的第二个示例,编号2.2。 \end{example}
内容的提问来源于stack exchange,提问作者Peter Jensen
相关产品推荐
相关产品推荐

