1

This MWE on TL 2022 on Linux

\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}

Compiles OK with pdflatex (I have to use pdflatex and not lualatex since arxiv requirement). But when compiling with tex4ht it gives this error

(/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}
              
? 

The command used is

make4ht  -ulm default -a debug  foo.tex "mathjax,htm,fn-in,notoc*,p-width,charset=utf-8,cut-fullname"

The table in the pdf looks as follows

enter image description here

But it does not show in the HTML due to the compile errors.

>which make4ht 
 /usr/local/texlive/2022/bin/x86_64-linux/make4ht
>make4ht --version 
 make4ht version v0.3l

The problem seems due to using floatrow package. When changing the code to use

\ifdefined\HCode 
\else 
\usepackage{floatrow}
\floatsetup[table]{capposition=top}
\fi 

The error went way. I used this package based on answer how-to-force-table-caption-on-top to force the caption above the table. It works well in PDF but not in tex4ht. So for now, I will just not use this package in tex4ht mode.

reference: entered also a ticket on this at tex4ht bug tracking

1 Answer 1

1

It seems that floatrow tries to redefine some standard LaTeX environments, such as table. This clashes with TeX4ht redefinitions of these environments. It cannot do anything useful in the HTML output, as there is no support for floats, so the best thing to do is to suppress this functionality.

The basic floatrow.4ht configuration file could look like this:

\def\:tempa#1{}
\HLet\flrow@restyle\:tempa
\Hinput{floatrow}
\endinput

It redefines the \florow@restyle to do nothing. With this change, your file should compile without errors:

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .