我 对问题发布了答案
并不是所有 x 中的 # 都需要双写。直接用 primitive 实现的一般不需要双写。但是即使这样也有例外情况,这应该是 LaTeX3 的函数命名不一致导致的,由于 \cs_new:Npx 这些函数
我 发表了评论
@u10508 \cs_new:Npx 相当于 \long\edef。这里的 x 其实是 e。定义函数时,\edef\test#1#2{#1,#2},括号里的 #1 #2 是引用第一、二个参数,应该把
我 对问题发布了答案
1.你的理解是对的,定义函数时遵循这个规则可以在需要展开其参数时不至于有太大的开销。如果需要展开 nofe 参数之后的参数,如 \foo:Nno、\foo:Nne、\foo:Nff、\foo:NnV、
我 发表了评论
@u45041 看看是不是这样:\seq_new:N \g__my_chapter_oimage_seq % odd \seq_new:N \g__my_chapter_eimage_seq % e
我 对问题发布了答案
把图片名分别保存到 seq 里即可。\seq_new:N \g__my_chapter_oimage_seq % odd \seq_new:N \g__my_chapter_eimage_seq %
我 对问题发布了答案
1.忽略类别码(catcode)是指在比较两个 token list 时,先把它们 \detokenize,然后再按字典序比较,(也就是不比较它们的类别码,因为经过 \detokenize 后,同一字
我 发表了评论
@u10508 “使用了 load 的键,只在使用 \SetKeys 时才能正确处理。”这里写错了,改为 \ProcessKeyOptions。代码没错。
我 对问题发布了答案
代码中的多出的长度正好是 \@pnumwidth。这是因为没有正确设置目录中章的页码。改为\titlecontents{chapter}[0mm] {\addvspace{0em}} {\bo
我 对问题发布了答案
load:该键只能作为宏包选项(或文档类选项)被设置;preamble:该键只能在导言区设置;general:该键只要有定义就能设置。使用了 load 的键,只在使用 \SetKeys 时才能正确处理
我 对问题发布了答案
TeX 在获取命令的参数时,参数的 catcode 已经固定了,多个空格合并为一个,行结束符(一般是换行符)转为空格。所以再使用修改 catcode 的命令(比如 \obeyspaces)已经无效了。
我 对问题发布了答案
LaTeX3中l3sys模块的\sys_timer:函数记录的是引擎完成编译所用的时间吗?