Неопределенная последовательность управления в документе 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.