如何在 expl3 中为随机数生成器设置特定种子以用于 xfp

如何在 expl3 中为随机数生成器设置特定种子以用于 xfp

我正在使用该xfp包来生成一些随机数,并试图弄清楚如何为伪随机数生成器指定特定的随机种子(因此,无论何时使用给定的种子进行编译,它都会给出相同的结果)。

这是一个最小的代码示例:

\documentclass{article}
\usepackage{xfp}
% TODO: set specific random seed here

\begin{document}
A random integer between 0 and 10: $\fpeval{randint(0,10)}$
\end{document}

我知道这xfp是 的一个接口expl3,在其中可以使用 设置随机种子\sys_gset_rand_seed:n。但是,我不知道如何在我的文档中执行此操作。任何帮助都非常感谢。

答案1

访问expl3编程环境:

\ExplSyntaxOn
\sys_gset_rand_seed:n {42}
\ExplSyntaxOff

使用 0 至 2 28 − 1之间的整数。

如果需要多次设置种子,可以定义一个接口:

\ExplSyntaxOn
\cs_new_eq:NN \setrandomseed \sys_gset_rand_seed:n
\ExplSyntaxOff

然后\setrandomseed{42}在适当的位置使用。

相关内容