在使用以下命令编译的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
文档正常编译。
可能是什么问题?
答案 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定义。