我注意到,当用 和 同时使用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}
答案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
结果: