1

ps. I can not paste the whole MWE here as I get error Body is limited to 30000 characters; you entered 501493 This is using the smallest size of the table I can make it while producing the error.


I have table generated by a program which is a little large. But no problem compiling it with lualatex. When using tex4ht using same commands I always use, now it gives this error which I never saw before

make4ht -ulm default -a debug -c ./nma_mathjax.cfg main.tex "mathjax,htm,fn-in"
....

(/usr/local/texlive/2022/texmf-dist/tex/generic/tex4ht/html5.4ht)) (./main.aux)
(/usr/local/texlive/2022/texmf-dist/tex/latex/base/ts1cmr.fd))19    nil
 [1] [2]
(/usr/local/texlive/2022/texmf-dist/tex/latex/lm/t1lmtt.fd)Unsupported font pzdr

Overfull \vbox (32240.63214pt too high) detected at line 1125

Overfull \vbox (32240.63214pt too high) has occurred while \output is active

! LaTeX mark Error: Infinite shrinkage found in 'page'.

For immediate help type H <return>.
 ...                                              
                                                  
l.1125 \end{table}
                
? H

This is a coding error.

The mark region 'page' contains some infinite negative glue allowing it to
shrink to an arbitrary size. This makes it impossible to split the region
apart to get at its marks. They are lost.

? 

Since the .tex file is large and my nma_mathjax.cfg is large and needed, I put these two files in the folder at the link at the bottom. I also put the .pdf compiled by lualatex with no problem.

The files are self contained and have minimal packages needed to reproduce the problem.

Simply download the .tex and .cfg files to one folder and issue the above command to see the problem.

I am using TL 2022 on Linux

>which make4ht
/usr/local/texlive/2022/bin/x86_64-linux/make4ht

This is the .tex file preview

\documentclass[12pt]{book}    
\usepackage{amsmath} 
\usepackage{breqn}
\usepackage{graphicx}
\usepackage{caption} %added 2/18/16  for making caption in figure same size as image
\usepackage{multirow} %added 2/21/16. To allow table with columns that span rows
\usepackage{longtable} %2/24/16  does not work in two columns
\usepackage{xcolor}
\usepackage{hyperref}

%added OCT 28, 2018
\ifdefined\HCode 
\newcommand{\cprotect}{}
\else 
\usepackage{cprotect} %only needed to latex
\fi
    
\usepackage{pifont} %http : // ctan.org/pkg/pifont
\newcommand{\cmark}{\textcolor{blue}{\Large \ding{51}}}
\newcommand{\xmark}{\textcolor{red}{\Large \ding{55}}}
\newcommand{\notsure}{\ding{103}} %

%this adds support to fixed width tables.
\newenvironment{fixedtabular}[2]{\gdef\tablewidth{#2}\begin{tabular}{#1}}{\end{tabular}}
%
\newcommand{\eslowast}{}
\begin{document}        
Number of problems in this table is 1066

Column notations: A is ODE degree. B is Program Number of solutions generated. C is CAS Number of solutions generated.
\ifdefined\HCode
\begin{table}
\caption{isobaric}
\begin{fixedtabular}{|p{1in}|p{5in}|p{0.6in}|p{0.6in}|p{.6in}|p{2in}|p{2in}|p{.75in}|p{.75in}|p{0.75in}|}{1100px}\hline
...... very long table here
\ifdefined\HCode\HCode{<a href="chapters/differential_equations_by_shepley_L_ross_third_edition/indexsubsection66.htm">10619</a>}\else\hyperref[10619]{10619}\fi&\begin{minipage}{\linewidth}\begin{dmath*}{}2 x^{2}+2 x y+y^{2}+\left(x^{2}+2 x y\right) y^{\prime} = 0 \end{dmath*}\end{minipage}&1&\textcolor{red}{1}&2&{isobaric}&[[\_homogeneous, class A], \_exact, \_rational, [\_Abel, 2nd type, class B]]&\textcolor{blue}{\Large \cmark}&\textcolor{blue}{\Large \cmark}&91.892\\ \hline
\ifdefined\HCode
\end{fixedtabular}
\end{table}
\else
\end{longtable}
\fi
\normalsize

\end{document}

Any idea what is the cause of this problem and how to workaround it will be appreciated as it stopping my build now. I did not do any changes to tex4ht or to my setup for the last few months and this is first time I see this error. May be because the table size got larger? But this should not cause a problem.

The files are in this folder. (safe link, my own page)

Link to tex4ht tracking bug report

10
  • 1
    You're much more likely to get (better) answers if you reduce this to a problem that you can post here. (Why does you saying it's a safe link to your own page make it a safe link?)
    – Teepeemm
    Jun 1, 2023 at 18:40
  • 2
    you can't need a very large example as it fails on page 2. Do not use external links Jun 1, 2023 at 18:57
  • @DavidCarlisle when I try to post the file I get Body is limited to 30000 characters; you entered 501493. And this is before I even put my large .cfg file which is all is needed. I do not understand why you think that posting such very large text is better than one link where one can easily download the file. This is only for problems where the input happened to be very large as in this case (and will hard to copy using the mouse and can lead to error copying also). I could not make smaller size file.
    – Nasser
    Jun 1, 2023 at 19:40
  • @Teepeemm why do you think I would I put a virus in my own file for?
    – Nasser
    Jun 1, 2023 at 19:49
  • 1
    @Nasser the fixedtabular is replacement for normal tabular, in this case, you would need a version that uses longtable, because this huge table needs to be broken over several pages to prevent this shrinkage error.
    – michal.h21
    Jun 1, 2023 at 20:47

1 Answer 1

1

The problem is that you create too large table (the linked full TeX sample produced about 150 pages), but you use tabular with TeX4ht. It seems that it caused this issue. You can change the code to use longtable in both cases:

\documentclass[12pt]{book}    
\usepackage{amsmath} 
\usepackage{breqn}
\usepackage{graphicx}
\usepackage{caption} %added 2/18/16  for making caption in figure same size as image
\usepackage{multirow} %added 2/21/16. To allow table with columns that span rows
\usepackage{longtable} %2/24/16  does not work in two columns
\usepackage{xcolor}
\usepackage{hyperref}

%added OCT 28, 2018
\ifdefined\HCode 
\newcommand{\cprotect}{}
\else 
\usepackage{cprotect} %only needed to latex
\fi
    
\usepackage{pifont} %http : // ctan.org/pkg/pifont
\newcommand{\cmark}{\textcolor{blue}{\Large \ding{51}}}
\newcommand{\xmark}{\textcolor{red}{\Large \ding{55}}}
\newcommand{\notsure}{\ding{103}} %

%this adds support to fixed width tables.
\newenvironment{fixedtabular}[2]{\gdef\tablewidth{#2}\begin{longtable}{#1}}{\end{longtable}}
%
\newcommand{\eslowast}{}
\begin{document}        
Number of problems in this table is 1066

Column notations: A is ODE degree. B is Program Number of solutions generated. C is CAS Number of solutions generated.
\begin{table}
\caption{isobaric}
\begin{fixedtabular}{|p{1in}|p{5in}|p{0.6in}|p{0.6in}|p{.6in}|p{2in}|p{2in}|p{.75in}|p{.75in}|p{0.75in}|}{1100px}\hline
\ifdefined\HCode\HCode{<a href="chapters/differential_equations_by_shepley_L_ross_third_edition/indexsubsection66.htm">10619</a>}\else\hyperref[10619]{10619}\fi&\begin{minipage}{\linewidth}\begin{dmath*}{}2 x^{2}+2 x y+y^{2}+\left(x^{2}+2 x y\right) y^{\prime} = 0 \end{dmath*}\end{minipage}&1&\textcolor{red}{1}&2&{isobaric}&[[\_homogeneous, class A], \_exact, \_rational, [\_Abel, 2nd type, class B]]&\textcolor{blue}{\Large \cmark}&\textcolor{blue}{\Large \cmark}&91.892\\ \hline
\end{fixedtabular}
\end{table}
\normalsize

\end{document}

The change is this:

\newenvironment{fixedtabular}[2]{\gdef\tablewidth{#2}\begin{longtable}{#1}}{\end{longtable}}

You can then also remove the unnecessary conditionals around your table.

This is the result:

enter image description here

You must log in to answer this question.

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