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^"
有关可用选项的概述,请参阅本文