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