我有这个代码:
\documentclass{beamer}
\mode<presentation> {
\usetheme{Warsaw}
}
\usepackage{tikz}
\AtBeginSection[]
{
\begin{frame}
\tableofcontents[currentsection]
\end{frame}
}
\begin{document}
\begin{frame}
\frametitle{Hello}
\begin{center}
\begin{tikzpicture}
\foreach \t in {1,...,40}
{
\only<\t>{\node [circle,draw] (a) at (22:11) {\t};}
}
\end{tikzpicture}
\end{center}
\end{frame}
\end{document}
我希望在第一张幻灯片中有一个空白框,然后我开始计数。
我想要的正是这个:
\begin{tikzpicture}
\foreach \t in {1,...,40}
{
\only<\t+1>{\node [circle,draw] (a) at (22:11) {\t};}
}
\end{tikzpicture}
但这不起作用。我认为问题出在\t+1
。
答案1
可能有很多软件包可以提供帮助。但是,以下内容足以评估表达式:
\number\numexpr\t+1\relax
以下是“完整”上下文:
\begin{tikzpicture}
\foreach \t in {1,...,40}
{%
\only<\number\numexpr\t+1\relax>{\node [circle,draw] (a) at (22:11) {\t};}%
}%
\end{tikzpicture}
请注意,偶尔(有时是必要的,但不是在您的示例中)在行尾使用%
。有关更多信息,请参阅%
行末百分号 ( ) 有什么用?
答案2
您可以尝试一个条件:\ifnum\t = 1 \else \only<\t>...\fi
\documentclass{beamer}
\mode<presentation> {
\usetheme{Warsaw}
}
\usepackage{tikz}
\AtBeginSection[]
{
\begin{frame}
\tableofcontents[currentsection]
\end{frame}
}
\begin{document}
\begin{frame}
\frametitle{Hello}
\begin{center}
\begin{tikzpicture}
\foreach \t in {0,1,...,40}
{
\ifnum\t = 1
\else
\only<\t>{\node [circle,draw] (a) at (22:11) {\t};}
\fi
}
\end{tikzpicture}
\end{center}
\end{frame}
\end{document}