我有一些使用 algorithmicx 和 hyperref 的文档,过去 htlatex 可以正确处理这些文档。当我更新 MikTex 安装时,HTML 生成开始出错。我设法将问题简化为以下示例:
\documentclass[10pt,a4paper]{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{hyperref}
\begin{document}
\begin{algorithm}
\caption{Some Algorithm}
\begin{algorithmic}[1]
\Function{Foo}{$A$}
\ForAll{$a \in A$}
\State process $a$
\EndFor
\EndFunction
\end{algorithmic}
\end{algorithm}
\end{document}
当我跑步时
make4ht TestAlgorithmicxWithTex4ht.tex
我收到以下错误:
[STATUS] make4ht: Conversion started
[STATUS] make4ht: Input file: TestAlgorithmicxWithTex4ht.tex
[WARNING] tocid: char-def module not found
[WARNING] tocid: cannot fix section id's
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (MiKTeX 23.4) (preloaded format=latex.fmt)
restricted \write18 enabled.
entering extended mode
[ERROR] htlatex: Compilation errors in the htlatex run
[ERROR] htlatex: Filename Line Message
[ERROR] htlatex: ? 855 Undefined control sequence.
[ERROR] htlatex: ? 12 Undefined control sequence.
[ERROR] htlatex: ? 13 TeX capacity exceeded, sorry [input stack size=10000].
[FATAL] make4ht-lib: Fatal error. Command htlatex returned exit code 1
如果我用 注释掉该行\usepackage{hyperref}
,则make4ht
成功完成。在这两种情况下,PDF 生成都可以正常工作,因此问题似乎是 TeX4ht 特有的。
以下是从 MikTex 控制台获取的一些软件包日期:| 软件包 | 日期 | |----------------------|-----------------------| | algorithmics | 2005/5/4 | | hyperref | 2023/2/23 | | miktex-*-bin-x64-2.9 | 2023/4/15 | | make4ht | 2023/3/17 | | tex4ht | 2022/3/12 |
不确定其他版本信息是否相关以及从哪里获取。