如何将 LaTeX3 变量设置为计算控制序列的 LaTeX3 表达式的值?

如何将 LaTeX3 变量设置为计算控制序列的 LaTeX3 表达式的值?

我想将控制序列设置\my_cs为某些扩展为控制序列的 LaTeX3 表达式的值,例如

\use:c {some_other_control_sequence}

换句话说,\some_other_control_sequence是一个已设置为某个值的现有控制序列,我想将其设置\my_cs为该值,但又不想明确写出控制序列\some_other_control_sequence。我该怎么做?

例如,假设\some_other_control_sequence是一个全局 LaTeX3 变量,设置为整数42,并且假设我正在编写一个 LaTeX3 函数,并且some_other_control_sequence希望将此变量的名称作为参数传入#1,但是在编写函数时我不知道此变量的名称。我如何在正在编写的函数中将的值设置\my_cs为?\some_other_control_sequence42

答案1

每个变量类型expl3都有一系列set_eq用于此任务的功能,例如

\tl_set_eq:NN \l_my_new_tl \l_my_old_tl
\seq_set_eq:Nc \l_my_new_seq { g_my_old_seq }
\dim_gset_eq:cc { g_my_new_dim } { l_my_old_dim }

请注意,可以使用N- 和c-type 参数,并且范围对于所设置的变量应该是正确的。

相关内容