프레임 내용 반복

프레임 내용 반복

각 프레임에 항상 두 개의 블록을 사용한다고 가정합니다.

그런 다음 복사/붙여넣기 절차 없이 다음을 수행하는 간단한 방법을 갖고 싶습니다.

각 프레임(첫 번째 프레임 제외)에서

  • 첫 번째 블록은 이전 프레임의 두 번째 블록이어야 합니다.

따라서 아래 코드와 유사한 것이 가능하고 도움이 될 것이라고 생각합니다.

\begin{frame}
% code to call the second block from the previous frame
\begin{block} % the new block, to be used again on the next frame
\end{block}
\end{frame}

일부 오버레이를 사용할 수 있다면 좋을 것입니다.

어떤 아이디어?

답변1

수동 개입이 필요 없는 솔루션은 다음과 같습니다. \dupbox모든 일을 합니다. 처음에는 초기 내용을 정의한 다음 새 텍스트로 간단히 호출합니다. \dupbox블록의 제목을 지정할 수 있는 선택적 인수도 있습니다.

\documentclass{beamer}
\usepackage{tikz}
\usetheme{Warsaw}
\usecolortheme{crane}

\newcommand\dupbox[2][]{%
\begin{block}{\duptitle}
\begin{minipage}{\linewidth}
\duptext
\end{minipage}
\end{block}
\begin{block}{#1}
\begin{minipage}{\linewidth}
#2
\end{minipage}
\end{block}
\gdef\duptext{#2}
\gdef\duptitle{#1}
}

\gdef\duptext{Initial text}
\gdef\duptitle{}

\begin{document}

\begin{frame}
\dupbox[Optional title]{Some text for frames one and two}
\end{frame}

\begin{frame}
\dupbox{Another test text for frames two and three with some math:
\[a=b.\]
}
\end{frame}

\begin{frame}
\dupbox[A simple TikZ drawing]{\tikz{\fill[blue] (0\linewidth,0) circle (13pt);
\fill[orange] (6,0) circle (13pt);}
}
\end{frame}

\begin{frame}
\dupbox{Even more text}
\end{frame}

\end{document}

여기에 이미지 설명을 입력하세요

답변2

그렇게요?

\documentclass{beamer}
\begin{document}
\begin{frame}
\only<1>{\begin{block}{First} block \end{block}}
\only<1,2>{\begin{block}{Second} block  \end{block}}
\only<2,3>{\begin{block}{Third} block \end{block}}
\only<3>{\begin{block}{4th}  block \end{block}}
\end{frame}
\end{document}

관련 정보