可展开的方括号解析宏,TeX 宏技巧一例
可展开的方括号解析宏,TeX 宏技巧一例 可展开的方括号解析宏,TeX 宏技巧一例 可展开的方括号解析宏,TeX 宏技巧一例
可展开的方括号解析宏,TeX 宏技巧一例
可展开的方括号解析宏,TeX 宏技巧一例
可展开的方括号解析宏,TeX 宏技巧一例
作品简介

TeX 宏编程的技巧很多,其中之一就是定界符来分割参数,减少宏层面的判断,以此减少编译时间。

对于方括号可选参数的判断,一般是使用 \futurelet primitive 来实现的,最典型的就是 LaTeX 内核中的 \@ifnextchar\@ifstarcmdxparse)提供了可展开的可选参数接口,但是其实现非常复杂,而且也有一定局限性。

本例提供了三个可展开的方括号参数解析宏,它们只需要线性时间即可完成(3-5)次宏展开,其实现方式正是使用有定界符的参数,不使用任何宏层面的判断,而且可以直接用于 \edef\xdef 中。

末尾的 test case 显示了其应有效果。

  •   1928
  •   11
  •   2
  • 作  者:雾月  关注  已关注
  • 测试平台:texlive
  • 编译方式:pdflatex
  • 源码属性:原创
  • 上传时间:2022-03-19 11:29:58
  • 更新时间:2022-03-19 12:00:02

暂无评论