Beamer 暂停后发生随机变化

Beamer 暂停后发生随机变化

在 Beamer 中,我想进行随机构造,然后在 \pause(或使用 \onslide<>{})后向幻灯片添加更多信息。问题是,在新文本隐藏后,随机构造再次运行,因此它会发生变化,而我却没有。

有人知道如何在不再次编译随机数的情况下向幻灯片添加更多信息吗?

这是一个例子,随机向量在 \pause 之后发生变化。

\documentclass{beamer}

\usepackage{pgfmath}
\newcommand\randmin{}
\newcommand\randmax{}
\newcommand\setrand[2]%
  {\def\randmin{#1}%
   \def\randmax{#2}
   }
\newcommand\nextrand
  {\pgfmathparse{int(int((rnd*(\randmax-\randmin+1)+\randmin)))}%
   \xdef\thisrand{\pgfmathresult}%
  }


\begin{document}


\begin{frame}
\setrand{0}{1}
$(\nextrand\thisrand,\nextrand\thisrand,\nextrand\thisrand,\nextrand\thisrand)$
\pause 

Text
 \end{frame}


\end{document}

答案1

您可以将\newsavebox, \savebox,\usebox序列与\savebox之外创建的内容一起使用frame

\documentclass{beamer}

\usepackage{pgfmath}
\newcommand\randmin{}
\newcommand\randmax{}
\newcommand\setrand[2]%
  {\def\randmin{#1}%
   \def\randmax{#2}
   }
\newcommand\nextrand
  {\pgfmathparse{int(int((rnd*(\randmax-\randmin+1)+\randmin)))}%
   \xdef\thisrand{\pgfmathresult}%
  }
  \newsavebox{\myrandlist}

\begin{document}


\setrand{0}{1}
\savebox{\myrandlist}{$(\nextrand\thisrand,\nextrand\thisrand,\nextrand\thisrand,\nextrand\thisrand)$}

\begin{frame}
\usebox{\myrandlist}
\pause 

Text
 \end{frame}

\end{document}

在此处输入图片描述

相关内容