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}
그러나 슬라이드는 다음과 같습니다.
누군가 카운터를 올바르게 사용하는 방법을 보여줄 수 있습니까 \onslide
?
답변1
바퀴를 재발명하려고 시도하는 대신 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}