Beamer、框架标题和副标题

Beamer、框架标题和副标题

我喜欢在框架中使用\allowframebreaks不同的选项\framesubtitle。解决方案由samcarter_is_at_topanswers.xyz帧中断后更改帧字幕满足我的愿望,但是我想改变帧的编号方式。\Roman我喜欢\arabic用以下方式编号,而不是数字

    (<frame number>/<number of slides in frame>)

当框架有三张幻灯片时,编号分别为 (1/3)、(2/3) 和 (3/3)。如何实现?

给定链接中的代码是:

\documentclass{beamer}

\makeatletter
\newcommand*{\slideinframe}{\number\beamer@slideinframe}
\newcounter{bar}
\newcommand{\foo}{%
  \setcounter{bar}{\insertframeendpage}%
  \addtocounter{bar}{-\insertframestartpage}%
  \addtocounter{bar}{1}%
  (\slideinframe/\thebar)%
}
\makeatother

\usepackage{lipsum}

\begin{document}
    \begin{frame}%[allowframebreaks]
        \frametitle{Foo \foo}
        \only<+>{
            \framesubtitle{Bar}
        }
\lipsum[1]

%\framebreak
        \only<+>{
            \framesubtitle{Baz}
        }
\color{red}\lipsum[2]
    \end{frame}
\end{document}

它做什么,但考虑@samcarter_is_at_topanswers.xyz 答案框架中建议的解决方案未在幻灯片上划分:

在此处输入图片描述

但是当我取消注释上述 MWE 中的行时,幻灯片出现了,但是编号不再按预期工作......

在此处输入图片描述

答案1

您可以从框架的起始页和结束页计算框架内的幻灯片总数:

\documentclass{beamer}

\newcounter{bar}
\newcommand{\foo}{%
  \setcounter{bar}{\insertframeendpage}%
  \addtocounter{bar}{-\insertframestartpage}%
  \addtocounter{bar}{1}%
  (\insertoverlaynumber/\thebar)%
}

\usepackage{lipsum}

\begin{document}
    \begin{frame}
        \frametitle{Foo \foo}
        \only<+>{
            \framesubtitle{Bar}
            \lipsum[1]
        }
        \only<+>{
            \framesubtitle{Baz}
            \color{red}\lipsum[2]
        }
    \end{frame}
\end{document}

在此处输入图片描述

相关内容