tex4ht 在表格中产生有趣的字符(仅限 TL 2023)

tex4ht 在表格中产生有趣的字符(仅限 TL 2023)

我注意到,当用 和 同时使用as 选项tex4ht包围表格时,表格中会生成有趣的字符。这种情况只发生在 TL 2023 中。以下是 MWE 和重现它的命令:\begin{small}...\end{small}p-width

\documentclass[12pt]{book}
\begin{document}
\begin{small}
\begin{tabular}[c]{|p{0.9in}|l|c c c c c c c c|}\hline
1& Optimal&Rubi&MMA&Maple&Maxima&Fricas&Sympy&Giac&Mupad\\ \hline
\end{tabular}
\end{small}
\end{document}

使用编译

make4ht  -ulm default -a debug foo.tex "mathjax,htm,nostyle,p-width"

给予

在此处输入图片描述

在编译过程中它说

INFO]    make4ht-lib: parse_lg process file: foo.htm
[WARNING] domfilter: DOM parsing of foo.htm failed:
[WARNING] domfilter: ...ive/2023/texmf-dist/tex/luatex/luaxml/luaxml-mod-xml.lua:175: Unbalanced Tag (/span) [char=1256]

解决此问题的两种方法:要么删除选项p-width,要么删除\begin{small}....\end{small}。因此,这个 MWE

\documentclass[12pt]{book}
\begin{document}
\begin{tabular}[c]{|p{0.9in}|l|c c c c c c c c|}\hline
1& Optimal&Rubi&MMA&Maple&Maxima&Fricas&Sympy&Giac&Mupad\\ \hline
\end{tabular}
\end{document}

使用同样的命令进行编译

在此处输入图片描述

上述情况仅发生在TL 2023。我在下面进行了测试TL 2022,并且在两种情况下均正常运行。

为什么会发生这种情况?我p-width一直使用,有参考这是我第一次看到这个问题。顺便说一句,\begin{small}...\end{small}\small ....\normalsize替换不是修复了这个问题。所以这个 MWE 仍然会出现同样的问题TL 2023

\documentclass[12pt]{book}
\begin{document}
\small 
\begin{tabular}[c]{|p{0.9in}|l|c c c c c c c c|}\hline
1& Optimal&Rubi&MMA&Maple&Maxima&Fricas&Sympy&Giac&Mupad\\ \hline
\end{tabular}
\normalsize
\end{document}

链接 tex4ht 错误跟踪。

答案1

这似乎是由于该p-width选项错误地处理了包含小数点的字体大小而导致的。小字体(在您的情况下为10.95)会导致错误。

尝试这个配置文件,它使用来自 LaTeX 3 的 FP 库,它似乎解决了这个问题:

\Preamble{xhtml}
\makeatletter
\ExplSyntaxOn
  \Configure{HColWidth}
     {\ifnum\HRow=1% output CSS only on the first row, to prevent duplication
      \tmp:dim=\fp_to_dim:n{\dim_to_fp:n{\HColWidth}/\f@size}
      \Css{\#TBL-\TableNo\space td:nth-child(\HCol)% CSS selects ID of the current table column
          {width:\strip@pt\tmp:dim em;}}
     \fi}
\ExplSyntaxOff
\makeatother
\begin{document}
\EndPreamble

结果:

在此处输入图片描述

相关内容