NOWEB文档中未定义的控制序列(nwstartdeflinemarkup)



在使用以下命令编译的文档中

noweave -tex -filter "elide comment:*" adocument.nw > documentation.tex

并尝试使用命令编译生成的文件

xetex -halt-on-error documentation.tex

我收到以下错误消息

! Undefined control sequence.
<argument> ...on}endmoddef nwstartdeflinemarkup 
                                              nwenddeflinemarkup

似乎无法识别nwstartdeflinemarkup。

如果我从文档中删除所有序列

nwstartdeflinemarkupnwenddeflinemarkup

文件编译正常。

问题出在哪里?

我认为问题是noweb分发中的一个错误,其中我认为应该同时支持TeX和LaTeX的几个命令实际上只适用于LaTeX。

一个简单的修复方法是在源文件的开头添加两行:

letnwstartdeflinemarkuprelax
letnwenddeflinemarkuprelax

这方面的一些背景信息。给定此源文件:

One line of documentation.  
<<SomeChunkname>>=  
// No real code  
@ %  
Second and last line of documentation.

运行noweave,然后运行xelatex:

noweave -tex adocument.nw > documentation.tex
xetex -halt-on-error documentation.tex

复制错误,这并不奇怪,因为nwstartdeflinemarkup没有在nwmac.tex中定义。现在,浏览nwmac.tex的源文件,即ctan镜像站点中的support.nw,可以发现nwstartdeflinemarkup是为LaTeX定义的,而不是为TeX定义。

相关内容

  • 没有找到相关文章

最新更新