Latex Beamer:仅显示框架中的覆盖子集

Latex Beamer: Only show subset of overlays in a frame

我在 latex beamer 演示文稿中有一些 tikz 图片,其中有很多我想在多个位置显示的叠加层,但每次只显示一部分步骤。我想避免复制 tikz 代码并不得不维护多个类似的文件。因此,我的问题是:如何在 beamer 帧中仅使用覆盖幻灯片的子集,或者如何以特定的覆盖编号开始帧?

我创建了一个简化的示例来演示:在两个框架中导入具有重叠项目的相同输入项目。我想在第一帧显示前两张幻灯片,在第三帧显示另外两张幻灯片。在两者之间我谈论其他东西(更多细节等)。此处带有 \only<...> 标签的解决方案不起作用:在第一种情况下有一张空幻灯片,在第二种情况下有两张。

\documentclass{beamer}
\usepackage[utf8]{inputenc}

\begin{document}

\begin{frame}
\only<1-2>{ % this almost works, but there is an empty slide too much
\input{list.tex}
}
\end{frame}

\begin{frame}
Some kind of intermediate distraction.
\end{frame}

\begin{frame}
% here I would like to set the overlay count to 3
\only<3-4>{
\input{list.tex}
}
\end{frame}

\end{document}

list.tex:

\begin{itemize}
  \item<1-> item 1 % this should appear in frame 1 slide 1 and frame 2 slide 1-2
  \item<2-> item 2 % this should appear in frame 1 slide 2 and frame 2 slide 1-2
  \item<3-> item 3 % this should appear in frame 2 slide 1
  \item<4-> item 4 % this should appear in frame 2 slide 2
\end{itemize}

\againframe 是你最好的新朋友:

\documentclass{beamer}

\begin{document}

\begin{frame}<1-2>[label=foo]
\begin{itemize}
  \item<1-> item 1 % this should appear in frame 1 slide 1 and frame 2 slide 1-2
  \item<2-> item 2 % this should appear in frame 1 slide 2 and frame 2 slide 1-2
  \item<3-> item 3 % this should appear in frame 2 slide 1
  \item<4-> item 4 % this should appear in frame 2 slide 2
\end{itemize}
\end{frame}

\begin{frame}
Some kind of intermediate distraction.
\end{frame}

\againframe<3-4>{foo}

\end{document}