使用最近的 expl3 编写代码,同时保持与旧系统的兼容性

使用最近的 expl3 编写代码,同时保持与旧系统的兼容性

我想使用系统最近添加的功能(通常\seq_map_indexed_inline:Nn文档说是在 2018 年引入的)编写一些 expl3 代码,但由于这可能会在较旧的 LaTeX 安装上使用,而我无法控制(我设定的目标是让它在 TeXlive 2014 上运行,这是 overleaf 上最古老的版本),我需要保持兼容性,并且想知道如何最好地做到这一点。

目前我的计划是有一个包含文件,其中包含类似

\cs_if_exist:NF \wh_at_ever { \cs_new:Npn \wh_at_ever #1 { ... } }

其中的内容取自的最新版本expl3-code.tex,我在此过程中添加了缺失的功能,但万一某些内部代码在此期间发生变化,这感觉既残酷又有潜在风险。

另一种选择是在私有命名空间下复制或重新实现我需要的函数并使用它,但我真的更希望实际代码使用官方的 expl3 函数,即使只是为了文档目的。

有没有更好的办法?

相关内容