Frage zum Beamer Counter

Frage zum Beamer Counter

Ich versuche, eine neue nummerierte definitionUmgebung basierend auf zu erstellen exampleblock, aber es funktioniert nicht wie erwartet.

Mein Code:

% !TEX program = xelatex

\documentclass[serif, compress]{beamer}

\usetheme{Warsaw}
\useoutertheme{miniframes}

\begin{document}

\newcounter{definition}
\renewenvironment{definition}[1][]
    {\stepcounter{definition}\begin{exampleblock}{Definition\,\arabic{definition}}}
    {\end{exampleblock}}

\begin{frame}
    \onslide<1->
    \begin{definition}
        qwq1 % expected to be "Definition 1"
    \end{definition}
    \onslide<2->
    \begin{definition}
        qwq2 % expected to be "Definition 2"
    \end{definition}
\end{frame}

\end{document}

Die Folie sieht jedoch aus wie

Bildbeschreibung hier eingeben

Kann mir jemand zeigen, wie man den Zähler richtig verwendet \onslide?

Antwort1

Anstatt zu versuchen, das Rad neu zu erfinden, verwenden Sie einfach die in definitiondie Umgebung integrierte Beamer-Umgebung und aktivieren Sie Theoremnummern:

\documentclass{beamer}

\setbeamertemplate{theorems}[numbered]

\begin{document}

\begin{frame}
    \begin{definition}<1->
        qwq1 % expected to be "Definition 1"
    \end{definition}
    \begin{definition}<2->
        qwq2 % expected to be "Definition 2"
    \end{definition}
\end{frame}

\end{document}

Bildbeschreibung hier eingeben


Falls Sie die blaue Farbe dieser definitionUmgebung stört, können Sie sie folgendermaßen ändern:

\documentclass{beamer}

\setbeamertemplate{theorems}[numbered]


\BeforeBeginEnvironment{definition}{%
    \setbeamercolor{block title}{fg=white,bg=example text.fg!75!black}
    \setbeamercolor{block body}{fg=black, bg=block title.bg!10!bg}
}
\AfterEndEnvironment{definition}{
        \setbeamercolor{block title}{use=structure,fg=white,bg=structure.fg!75!black}
        \setbeamercolor{block body}{parent=normal text,use=block title,bg=block title.bg!10!bg}
}


\begin{document}

\begin{frame}
    \begin{definition}<1->
        qwq1 % expected to be "Definition 1"
    \end{definition}
    \begin{definition}<2->
        qwq2 % expected to be "Definition 2"
    \end{definition}
\end{frame}

\end{document}

verwandte Informationen