在 expex 中我们可以在标题中定义 \NNext 和 \LLLast 等命令:
\newcommand{\NNext}[1][]{(\anextx{#1})\xspace}
\newcommand{\LLLast}[1][]{(\bblastx{#1})\xspace}
前者指的是下面的第二个等式,后者指的是前面的第三个等式。
但是,我们不能\NNNext
直接定义 a (参见下面的第三个等式),因为 expex 缺少命令\aanextx
。我们怎样才能\NNNext
在与标准 expex 分发文件一起运行的标头中定义 a ?
答案1
你可以定义\aanextx
自己:
\makeatletter
\def\aanextx{{\@printref{\advance\excnt by 2 \ep@rawexnoprint}}}
\makeatother
但请记住 expex 文档中的警告:
使用宏(例如
\bblastx
或 )\anextx
来引用示例可能会带来危险,因为文档中后续的添加或删除可能会使引用失效。这种错误引用在校对文档时特别容易被忽视。最好为要引用的内容指定名称,并按名称引用它们,尤其是在需要大量重写的文档中。如果使用按名称引用,并且删除或添加了中间的示例,则不会出现任何问题。如果删除了引用的示例,则 Tex 将报告缺少引用。
如果引用和被引用对象之间的距离增加,这个问题会变得更加严重。