我显然错过了一些关于指定 LaTeX 命令的更新信息我习惯的是
\newcommand{<command-name>}[<numargs>][<default>]{<command definition>}
现在我看到了这样的定义
\NewDocumentCommand \sidenote { o o +m }
这对我来说毫无意义,并且与我过去 30 年来指定新命令的方式没有明显的关系。
在哪里可以找到有关命令定义设施的彻底改变的信息,以及为什么没有关于它的任何明显的公告?
我在 comp.text.tex 新组上并运行 TeXlive 2021,但正在等待 DVD 到达后再更新到 2022。
答案1
它的格式比较新(2020 年 10 月),但已作为软件包提供xparse
十年左右了,并且这种形式的一些版本的提供时间更长:xparse.dtx
版权日期可以追溯到 1999 年。
格式中的新代码记录在texdoc source2e
g 章(ltcmd)中,尽管更方便的是更新的用户指南(目前texdoc usrguide3
我们可能usrguide
很快会将其合并回来)
\NewDocumentCommand \sidenote { o o +m }{...#1 ... #2 ... #3}
定义\sidenote
两个可选参数和一个强制参数。here+
表示\long
可以接受空行(\par
)的参数,类似于 using\newcommand
而不是\newcommand*
except,它\NewDocumentCommand
允许为每个参数单独指定。
因此
\sidenote[a][b]{main}
不能轻易使用来定义\newcommand
,它只允许声明一个可选参数。
一般来说,每个版本的新功能描述如下ltnews
texdoc ltnews
显示包含完整系列的 pdf,您需要记录此内容的 LaTeX News 32 (2020/10)。