Неопределенная последовательность управления в документе NOWEB (\nwstartdeflinemarkup)

В документе 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 ответ

Я полагаю, что проблема заключается в ошибке в распространении 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а именно support.nw в зеркале ctan показывает, что \nwstartdeflinemarkup определяется для LaTeX, но не для TeX.

Другие вопросы по тегам