사용자 정의 환경의 선형 오버레이

사용자 정의 환경의 선형 오버레이

이것좋은 솔루션은 두 가지 환경을 하나로 묶는 데 도움이 되었지만 이 코드를 사용할수록 오류가 점점 더 많이 발생했습니다. 동일한 환경을 사용하는 선형 오버레이를 원합니다. 이 예를 참조하십시오 -

\documentclass[8pt]{beamer}
\newenvironment*{myframe}[1][]%
{\begin{frame}{#1}%
    \begingroup\itemize}
{\enditemize\endgroup
\end{frame}}

\begin{document}
\begin{myframe}{TEXT TEXT TEXT}
\item<1-> TEXT TEXT TEXT
\begin{enumerate}
    \item<2-> TEXT TEXT TEXT
    \item<3-> TEXT TEXT TEXT
    \item<4-> TEXT TEXT TEXT
\end{enumerate}
\item<5-> TEXT TEXT TEXT
\end{myframe}
\end{document}

이러한 오류가 무엇인지, 왜 발생하는지 이해할 수 없습니다. 이 오버레이가 동일한 환경에서 작동하기를 원합니다. 그것을 얻으려면 어떻게 해야 합니까?

답변1

현재 myframe정의에는 선택적 인수가 필요합니다.

\newenvironment*{myframe}[1][]

선택적 인수가 없으면 기본값은 없음입니다. 그러나 사용 시 필수 인수를 지정하므로myframe

\begin{myframe}{TEXT TEXT TEXT}

인수는 정규의 시작 부분에 배치되며 frame, 이는 \itemize. 그리고 - 목록을 사용하지 않았기 때문에 - \item목록은 다음으로만 시작할 수 있습니다 \item. "아마도 누락됨"을 가리키는 오류가 표시됩니다 \item.

myframe여기서 수정 사항은 via 에 대한 필수 인수를 요구하는 것입니다.

\newenvironment*{myframe}[1]

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

\documentclass{beamer}

\newenvironment*{myframe}[1]
  {\begin{frame}{#1}%
      \begingroup\itemize}
  {\enditemize\endgroup
  \end{frame}}

\begin{document}

\begin{myframe}{TEXT TEXT TEXT}
  \item<1-> TEXT TEXT TEXT
  \begin{enumerate}
    \item<2-> TEXT TEXT TEXT
    \item<3-> TEXT TEXT TEXT
    \item<4-> TEXT TEXT TEXT
  \end{enumerate}
  \item<5-> TEXT TEXT TEXT
\end{myframe}

\end{document}

답변2

\documentclass[8pt]{beamer}
\usepackage{environ}
\NewEnviron{myframe}[1]%
{\begin{frame}{#1}%
    \begin{itemize}
    \BODY
    \end{itemize}
\end{frame}}

\begin{document}
\begin{myframe}{TEXT TEXT TEXT}
\item<1-> TEXT TEXT TEXT
\begin{enumerate}
    \item<2-> TEXT TEXT TEXT
    \item<3-> TEXT TEXT TEXT
    \item<4-> TEXT TEXT TEXT
\end{enumerate}
\item<5-> TEXT TEXT TEXT
\end{myframe}
\end{document}

관련 정보