Beamer는 오버레이 내부 환경 간 카운터 재설정을 일시 중지합니까?

Beamer는 오버레이 내부 환경 간 카운터 재설정을 일시 중지합니까?

나는 이 질문에 대한 답을 읽고 있었습니다.열거 블록과 중복 인쇄 혼합

[링크를 따라갈 필요가 없도록 코드를 다시 복사했습니다.]

\documentclass{beamer}
\usetheme{Warsaw}

\begin{document}

\begin{frame}{Test}
  \begin{center}
  text before
  \pause
  \begin{overlayarea}{\textwidth}{3.3cm}
    \only<2-3>{%
        \begin{block}{Some title here}
        \begin{enumerate}[<+->]
        \item One
        \item Two
        \end{enumerate}
        \end{block}}
    \only<4-7>{%
    \begin{block}{Some title here}
        \begin{enumerate}[<+(2)->]
        \item CHicken
        \item Duck
        \item Rooster
        \end{enumerate}
        \end{block}}
  \end{overlayarea}
  text after
  \end{center}
\end{frame}

\end{document}

그리고 두 번째 환경의 기본 증분 오버레이 사양에서 괄호 사이에 숫자가 사용되는 것을 확인했습니다 enumerate. ( 존재 여부 참조 [<+(2)->]) 그런 다음에야 환경에서 두 번째 번호가 매겨진 목록의 항목이 overlayarea점진적으로 발견됩니다.

그게 왜 필요한가요? 이는 환경 beamerpauses간에 재설정됨을 의미하는 것 같습니다 enumerate. 아니면 환경 only의 명령 사이에 재설정됩니까 overlay?

그건 불쾌한 행동이 아닌가? 왜냐하면 그것은 마치 당신이 빔머포즈를 계속 추적해야 하는 것과 같기 때문입니다. 그러면 의 유용성이 [<+->]사라지는 것 아닌가요?

답변1

겉보기에 이상한 현상은 다음의 간단한 예를 검토하여 설명할 수 있습니다.

\documentclass{beamer}

\newcommand\showpauses{The value of beamerpauses at this point in slide \insertpagenumber\ is: \thebeamerpauses}

\begin{document}

\begin{frame}{Test}
\only<1-2>{\par\showpauses%
\begin{enumerate}[<+->]
  \item One \showpauses
  \item Two \showpauses
\end{enumerate}
}
\only<3>{\par\showpauses}
\end{frame}

\end{document}

문서를 처리한 후에는 여러 단계의 카운터 값을 보여주는 세 개의 슬라이드 프레젠테이션을 보게 됩니다 beamerpauses.

슬라이드 2까지는 모든 것이 예상대로 진행됩니다. enumerate슬라이드 2의 끝에서 값은 beamerpauses3입니다. 그러나 슬라이드 3에서는 beamerpauses입니다 1. 왜 이런 일이 일어났나요? 글쎄요, 의 오버레이 사양은 \only다음과 같았기 때문입니다.1-2 때문에모든 것슬라이드 1과 2에서 발생하는 일은 해당 슬라이드에서만 발생합니다. 특히, 스텝의beamerpauses 열거자에 의해 생성된 스테핑이 영향을 미칩니다.오직슬라이드 1과 2의 경우. 의 영향을 받지 않는 세 번째 슬라이드에서는 \only카운터가 beamerpauses이전 값을 갖게 됩니다.

에 문제가 있는 것인가요 beamer? 나는 그렇게 생각하지 않습니다. 결국 예상되는 의미는\only 사물을 해당 범위 내로 유지하는 것입니다.오직지정된 슬라이드에 대해

위의 예에서와 같이 <1->(또는 <1-3>)를 대신 사용하면<1-2>

\documentclass{beamer}

\newcommand\showpauses{The value of beamerpauses at this point in slide \insertpagenumber\ is: \thebeamerpauses}

\begin{document}

\begin{frame}{Test}
\only<1->{\par\showpauses%
\begin{enumerate}[<+->]
  \item One \showpauses
  \item Two \showpauses
\end{enumerate}
}
\only<3>{\par\showpauses}
\end{frame}

이제 슬라이드 3에서 카운터의 값이 3인 것을 볼 수 있습니다. 왜냐하면 세 번째 슬라이드는 의 범위에 속하기 때문입니다 \only.

원래 예에서 카운터의 "더러운" 수동 증가는 단순히 OP가 달성하고자 하는 특수 효과 때문이었습니다. 아마도 수동 개입 없이 다른 방법으로 이와 동일한 효과를 얻을 수 있을까요?

관련 정보