Linux 上有关 TL 2022 的 MWE
\documentclass[letterpaper,12pt,reqno]{amsart}
\usepackage[T1]{fontenc}
\newtheorem{theorem}[subsection]{Theorem}
\usepackage{floatrow}
\floatsetup[table]{capposition=top}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}[c]{|l|l|l|}\hline
case & allowed pole order for $r$ & allowed order of $r$ at $\infty$ \\\hline
1 & $\left\{ 0,1,2,4,6,8,\cdots\right\} $ & $\left\{ \cdots,-8,-6,-4,-2,0,2,3,4,5,6,\cdots\right\} $ \\\hline
2 & $\left\{ 2,3,5,7,9,\cdots\right\} $ & no condition \\\hline
3 & $\left\{ 1,2\right\} $ & $\left\{ 2,3,4,5,6,7,\cdots\right\} $ \\\hline
\end{tabular}
\caption{Necessary conditions for each Kovacic case}\label{tab:first}
\end{table}
\end{document}
使用 pdflatex 编译成功(我必须使用 pdflatex 而不是 lualatex,因为 arxiv 要求)。但是使用 tex4ht 编译时会出现此错误
(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/mathcolor.ltx)) [1]
[2] (/usr/local/texlive/2022/texmf-dist/tex/latex/lm/t1lmtt.fd)
! Extra }, or forgotten \endgroup.
\@endfloatbox ...pagefalse \outer@nobreak \egroup
\color@endbox
l.27 \end{table}
?
使用的命令是
make4ht -ulm default -a debug foo.tex "mathjax,htm,fn-in,notoc*,p-width,charset=utf-8,cut-fullname"
PDF 中的表格如下
但由于编译错误,它没有显示在 HTML 中。
>which make4ht
/usr/local/texlive/2022/bin/x86_64-linux/make4ht
>make4ht --version
make4ht version v0.3l
问题似乎是由于使用floatrow
包造成的。当将代码更改为使用
\ifdefined\HCode
\else
\usepackage{floatrow}
\floatsetup[table]{capposition=top}
\fi
错误消失了。我根据答案使用了此包如何强制表格标题位于顶部强制将标题置于表格上方。它在 PDF 中运行良好,但在 tex4ht 中则不行。所以现在,我不会在 tex4ht 模式下使用此包。
参考:也在此输入了一张票tex4ht 错误追踪