相关问题:有没有什么办法可以用投影仪生成帧列表?

相关问题:有没有什么办法可以用投影仪生成帧列表?

相关问题:有没有什么办法可以用投影仪生成帧列表?

考虑以下 MWE:

\documentclass{beamer}

\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}

\newif\ifframeinlbf
\frameinlbftrue
\makeatletter
\newcommand\listofframes{\@starttoc{lbf}}
\makeatother

\addtobeamertemplate{frametitle}{}{%
    \ifframeinlbf
    \addcontentsline{lbf}{section}{\protect\makebox[2em][1]{%
        \protect\usebeamercolor[fg]{structure}\insertframenumber\hfill}%
    \insertframetitle\par}%
    \else\fi
}

\begin{document}

\frameinlbffalse
\begin{frame}

\frametitle{List of frames}

\listofframes

\end{frame}

\frameinlbftrue
\begin{frame}

\frametitle{First frame}

\only<1-2>{Água mole em pedra dura \ldots}

\only<2>{\ldots tanto bate até que fura.}

\end{frame}

\begin{frame}

\frametitle{Second frame}

Água mole em pedra dura tanto bate até que fura.

\end{frame}

\end{document}

在“帧列表”框中,“第一帧”出现了两次。我该怎么做才能让它只出现一次?

答案1

幸运的是,已经有很多命令可以只在某些覆盖层上执行操作。这个命令将仅为覆盖层 1 创建条目:

\newcommand\frametocentry{%
    \ifframeinlbf
    \addcontentsline{lbf}{section}{\protect\makebox[2em][1]{%
        \protect\usebeamercolor[fg]{structure}\insertframenumber\hfill}%
    \insertframetitle\par}%
    \else\fi
}

\addtobeamertemplate{frametitle}{}{%
  \only<1>{\frametocentry}
}

相关内容