Sobreposição linear em um ambiente personalizado

Sobreposição linear em um ambiente personalizado

Esseuma boa solução me ajudou a reunir dois ambientes, mas conforme usei esse código, mais e mais erros ocorreram. Quero sobreposição linear usando o mesmo ambiente. Por favor, veja este exemplo -

\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}

Não entendo o que são esses erros e por que estão ocorrendo. Quero que essa sobreposição funcione no mesmo ambiente. O que pode ser feito para obtê-lo?

Responder1

Sua myframedefinição atual espera um argumento opcional

\newenvironment*{myframe}[1][]

O argumento opcional, se não estiver presente, o padrão é nada. No entanto, como você especifica um argumento obrigatório no uso demyframe

\begin{myframe}{TEXT TEXT TEXT}

o argumento é colocado no início do regular frame, que fica dentro de um \itemize. E, como você não usou \item- as listas só podem começar com \item- você recebe um erro que aponta para "talvez um ausente \item".

A solução aqui é exigir um argumento obrigatório para myframevia

\newenvironment*{myframe}[1]

insira a descrição da imagem aqui

\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}

Responder2

\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}

informação relacionada