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

时间:2012-08-29 12:27:14

标签: noweb

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

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

并尝试使用命令

编译生成的文件
xetex -halt-on-error documentation.tex

我收到以下错误消息

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

似乎无法识别\ nwstartdeflinemarkup。

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

\nwstartdeflinemarkup\nwenddeflinemarkup

文档正常编译。

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

我认为问题是noweb的分发错误,我认为在TeX和LaTeX的支持中应该出现的一些命令实际上只适用于LaTeX。

一个简单的解决方法是将两行添加到源文件的开头:

\let\nwstartdeflinemarkup\relax
\let\nwenddeflinemarkup\relax

有关此问题的一些背景资料。鉴于此源文件:

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 mirror site中的support.nw,显示为LaTeX定义了\nwstartdeflinemarkup,但没有为TeX定义。