如何使用 xparse 和 mk4ht oolatex 转换为 odt

如何使用 xparse 和 mk4ht oolatex 转换为 odt

tex4ht和都htlatex 使用包来编译文档xparse

mk4ht oolatex事实并非如此。在文档上运行它很简单:

\documentclass{article}
\usepackage{xparse}
\begin{document}
a
\end{document}

引发以下错误:

! Missing number, treated as zero.
<to be read again>
                   ^
l.30 \catcode`\^^
                 A=\catcode`\%

! Missing number, treated as zero.
<to be read again>
                   ^
l.479 \Gin@codes

我该如何修复它?

答案1

问题在于 LaTeX 核心graphics包中的一个假设。早期,它包括以下几行

\edef\Gin@codes{%
 \catcode`\noexpand\^^A\the\catcode`\^^A\relax
 \catcode`\noexpand\"\the\catcode`\"\relax
 \catcode`\noexpand\*\the\catcode`\*\relax
 \catcode`\noexpand\!\the\catcode`\!\relax
 \catcode`\noexpand\:\the\catcode`\:\relax}
\catcode`\^^A=\catcode`\%

其目的是保存各种项目的类别代码,然后更改的类别代码^^A(然后用于设置一些调试代码)。问题是,^^A输入语法仅在是数学上标字符(类别代码 7)时才有效^。几乎总是这样,但运行mk4ht oolatex会将的类别代码设置^为 12(“其他”)。

xparse(您在加载时会看到问题expl3,然后又加载了graphics。但是,您可以看到加载时出现问题graphics,因此这不是xparse问题本身

关于如何处理上标和下标的一些信息tex4ht可以在故障排除站点上的部分tex4ht。要抑制下标重新定义,您可以使用no^命令行选项。因此对于您的文件,这应该可以编译而不会出现错误:

mk4ht oolatex filename "xhtml, no^"

有关可用选项的概述,请参阅本文

相关内容