哪些确切版本的“xparse”改变了“k”类型和“e”类型参数的行为?

哪些确切版本的“xparse”改变了“k”类型和“e”类型参数的行为?

2016 年某个时候,该xparse软件包将其k-type 参数更改为更好的e-type 参数。然后,不久之后,-type 参数的行为e再次发生改变,以提高其可用性。

这在这个问题

现在,我正在编写一个使用e-type args 定义一些命令的类,并且我希望与其中一个版本兼容xparse。值得注意的是,论文集运行 TeXLive 2016 的一个版本xparse似乎支持老的-type args的行为e,因此这是一个需要考虑的重要情况。

因此,我想\@ifpackagelater在代码中使用它来检测我必须使用哪种类型的参数,并相应地定义我的宏。但是,我很难找到确切的版本(IE给出的日期\@ifpackagelater)来区分这两个变化,IEk-type 到e-type,以及从旧到新e-type 的行为。

哪些变化的日期适合\@ifpackagelate用于此目的?

更新:澄清我的需求。我想要做的是编写支持 TeXLive 2016 及更高版本的类代码,因为这是 arXiv 运行的,这意味着我必须:

  1. 如果 xparser 包太旧,则正常退出(通过提供正确的日期\RequirePackage)并且
  2. 区分两种e类型的行为以支持两者(通过提供正确的日期来\@ifpackagelater

所以我需要这两次变化的日期。

答案1

此更改于xparse2016-11-18 提交b5adad3cd

commit b5adad3cd26cf518099611baa4e8f6ea8f80ed0b
Author: Joseph Wright <[email protected]>
Date:   Fri Nov 18 20:22:43 2016 +0000

    Switch from "k"- to "e"-type

尽管后来又进行了几次提交,以确保一切顺利。此代码已发送至 CTAN,并附带发布字符串2016-11-21替换先前版本2016-10-19,其中仍然包含旧代码。


重大变化e随后发生的类型行为94411cca7

commit 94411cca7b70dbbd634ee42846e36039143aad87
Author: Bruno Le Floch <[email protected]>
Date:   Wed Apr 12 17:46:46 2017 +0000

    Make xparse e-type give separate arguments (see #226, #331) (breaking change)

    This avoids requiring an auxiliary to use the output of e-type arguments. The
    current "e{^_}" has a behaviour similar to the old "k^k_" (but allowing arbitrary
    order) but quite different from the previous version of e-type arguments.

第一个包含此内容的版本是2017-05-13;最后一个第一次尝试e-type的是2017-04-01

相关内容