我可以在 Latex Beamer 中调用的随机变量

我可以在 Latex Beamer 中调用的随机变量

我正在 latex beamer 中创建幻灯片,用于答题器问题。对于每个问题,我希望每次编译时数字都会随机更改,但我希望能够稍后调用变量,以便可以在单独的幻灯片上编写解决方案。例如,我希望 Lim 当 x 变为 1/(xa) 的 a 时,其中 a 是随机的,可以在下一张幻灯片上使用。这可能吗?

答案1

你熟悉 R 吗?如果熟悉,我建议你查找 knitr:

https://yihui.name/knitr/demo/beamer/

http://faculty.washington.edu/gyollin/docs/simpleBeamerKnitrExample.Rnw

每次使用 R 编译它时,如果生成一个随机数,您将获得一个新值。对于一个例子来说,这可能有点夸大其词,但对于更大的项目来说,它可能很有用。之后您可以使用以下方法访问这些值\Sexpr{var_name}

在其创始人谢益辉的网站上可以找到大量的例子。

此代码片段生成一个介于 0 和 10 之间的随机数。由于echo= FALSE

<<echo = FALSE>>= 
a <- runif(1,min = 0, to = 10)
@

这是改编自http://faculty.washington.edu/gyollin/docs/simpleBeamerKnitrExample.Rnw

\documentclass{beamer}
\usetheme{Madrid}
\title{MWE for knitr}

\begin{document}

\maketitle

\begin{frame}[fragile]
\frametitle{Generation of a random vector}
No code snippet is displayed.
Slides with code chunks need to be marked as "fragile"
<<echo = FALSE>>=
x <- rnorm(100)
mean.x <- mean(x)
@
\end{frame}

\begin{frame}[fragile]
\frametitle{Displaying the mean of the random vector}
The mean of the random vector is \Sexpr{mean.x}
\end{frame}

\end{document}

答案2

以下示例使用伪随机整数。它们很可能取决于文件本身。更改文件.tex很可能会更改随机数。您需要将这些数字保存到计数器并记住它们的名称。请参阅http://www.ctan.org/pkg/lcg

\documentclass{beamer}

\usepackage{amsmath}

\usepackage[first=0, last=127]{lcg}
\newcommand{\setCounterToRandom}[1]{\rand\setcounter{#1}{\arabic{rand}}}
\newcommand{\createNewRandomCounter}[1]{\newcounter{#1}\setCounterToRandom{#1}}

\newcounter{randomA}
\setCounterToRandom{randomA}%assigning a pseudo-random value.

\begin{document}

\begin{frame}
\newcounter{randomB}%works here, too. 
\setCounterToRandom{randomB}%works here, too. 
\createNewRandomCounter{randomC}%makes things simple.

Random Number A \therandomA

Random Number B \therandomB

Random Number C \therandomC

\begin{align*}
    %This example even makes sense, when the random number is eight. 
    \lim_{\xi \to \therandomA}  \frac 1 {\xi-\therandomA}
        &\neq \rotatebox[origin=c]{90}{$\therandomA$}
\end{align*}
\end{frame}



\begin{frame}
Random Number A \therandomA

Random Number B \therandomB

Random Number C \therandomC

\setCounterToRandom{randomA}

New Random Number A \therandomA

Old Random Number B \therandomB

Random Number C \therandomC
\end{frame}
\end{document}

在此处输入图片描述

相关内容