为什么 latexml 不能识别“\include”?

为什么 latexml 不能识别“\include”?

brew install latexml这是 latexml (安装在 OS X 上)的一个错误:

$ latexml --dest tmp/book.xml main.tex
latexml (LaTeXML version 0.8.5)
processing started Thu Aug 26 13:19:17 2021

(Digesting TeX main...
(Loading /usr/local/Cellar/latexml/0.8.5/libexec/lib/perl5/LaTeXML/Package/TeX.pool.ltxml...
(Loading /usr/local/Cellar/latexml/0.8.5/libexec/lib/perl5/LaTeXML/Package/eTeX.pool.ltxml... 0.00 sec)
(Loading /usr/local/Cellar/latexml/0.8.5/libexec/lib/perl5/LaTeXML/Package/pdfTeX.pool.ltxml... 0.01 sec) 0.14 sec)
(Processing content .../main.tex...
Error:undefined:\include The token T_CS[\include] is not defined.
    at main.tex; line 4 col 8 - line 4 col 8
    Defining it now as <ltx:ERROR/>
...

我相信包括指令是 LaTeX。

这是一本书,所以有 20 个左右的文件按一定顺序放在一起main.tex。这本书在 overleaf 上编译得很好。

编辑:这是简化版本main.tex

\include{preamble}
% more preamble files "include"-d here.
\begin{document}

\frontmatter

\input{titlepage}
% more frontmatter files here ...

\tableofcontents

\mainmatter

\input{chapter01n}
% more chapter files here ...

\appendix
\appendixpage
\addappheadtotoc

\input{appendixA}
% more appendix files here ...

\end{document}

序言中有很多\usepackage这样\newcommand的句子。序言中的第一个语句(实际上称为aprogpre2.tex)是:

\documentclass[reqno,10pt,english]{book}

答案1

您没有提供测试文件,但看起来您有一个类似的文件

\include{sample2e}
\documentclass{article}
\begin{document}
aabb
\end{document}

\include如果在之前,LaTeXML 会给出错误\documentclass

Error:undefined:\include The token T_CS[\include] is not defined.
        at lm1.tex; line 1 col 8 - line 1 col 8
        Defining it now as <ltx:ERROR/>
        Next token is T_BEGIN[{]
        In Core::Gullet[@0x5597b66acc18] /home/david/lm1.tex; from line 1 col 9 to line 1 col 9
         <= Core::Stomach[@0x5597b6862870] <= ...

\include如果在序言中、\documentclass和之间使用,则会产生略有不同的错误\begin{docuemnt}

\include仅在主文档中使用时才能正常工作,\begin{document}不幸的是,标准乳胶处理不会给出错误(它只是默默地做错事)。因此,假设这是问题所在,解决方案将是修复源文档,可能通过更改\include\input

相关内容