definition
に基づいて新しい番号付き環境を作成しようとしていますexampleblock
が、期待どおりに動作しません。
私のコード:
% !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}
しかし、スライドは次のようになります
誰か、counter with の正しい使い方を教えてもらえませんか\onslide
?
答え1
車輪の再発明をするのではなく、Beamers のビルドdefinition
環境を使用して定理番号をアクティブ化します。
\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}
この環境の青色がdefinition
気になる場合は、次のように変更できます。
\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}