我想将控制序列设置\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_sequence
42
答案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 参数,并且范围对于所设置的变量应该是正确的。