tex4ht 未在表格中显示某些数学运算

tex4ht 未在表格中显示某些数学运算

此 MWE 制作了一个包含 2 行类型的小表格p。第一行有两个数学方程式。tex4ht 仅显示第一个而不显示第二个。使用 lualatex 编译为 pdf 时,会按预期显示两个方程式。

平均能量损失

\documentclass[12pt]{book}
\usepackage{amsmath,mathtools}
\usepackage{array}

\begin{document}
\begin{tabular}{|p{.6in}|>{\setlength\columnwidth{5.8in}}p{5.8in}|}\hline
ODE&\vspace{-2em}\begin{gather*}
y^{\prime}-1-2 x=0
\end{gather*}
With initial conditions
$
\begin{aligned}
[y \left(0\right) = 3]
\end{aligned}
$
\\ \hline
program solution&\vspace{-1em}
\begin{align*}
y \left(x \right) = x^{2}+x +3
\end{align*}
Verified OK. 
\\ \hline
\end{tabular}

\end{document}

PDF 是

在此处输入图片描述

使用以下方式编译为 html

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

给出

在此处输入图片描述

这是生成的原始 HTML。我看到缺少的数学运算在那里,但它没有显示出来,而是静静地待在那里什么也不做。

<!DOCTYPE html> 
<html lang='en-US' xml:lang='en-US'> 
<head><title></title> 
<meta charset='utf-8' /> 
<meta content='TeX4ht (https://tug.org/tex4ht/)' name='generator' /> 
<meta content='width=device-width,initial-scale=1' name='viewport' /> 
<link href='foo.css' rel='stylesheet' type='text/css' /> 
<meta content='foo.tex' name='src' /> 
<script>window.MathJax = { tex: { tags: "ams", }, }; </script> 
 <script async='async' id='MathJax-script' src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js' type='text/javascript'></script>  
</head><body> 
<div class='tabular'> <table class='tabular' id='TBL-1'><colgroup id='TBL-1-1g'><col id='TBL-1-1' /></colgroup><colgroup id='TBL-1-2g'><col id='TBL-1-2' /></colgroup><tr class='hline'><td></td><td></td></tr><tr id='TBL-1-1-' style='vertical-align:baseline;'><td class='td11' id='TBL-1-1-1' style='white-space:normal; text-align:left;'> <!-- l. 18 --><p class='noindent'>ODE      </p></td>
                  <td class='td11' id='TBL-1-1-2' style='white-space:normal; text-align:left;'> <!-- l. 20 --><p class='noindent'>\begin {gather*}  y^{\prime }-1-2 x=0  \end {gather*} With initial conditions \( \begin {aligned} [y \left (0\right ) = 3] \end {aligned} \)
                                                                                                              </p></td></tr><tr class='hline'><td></td><td></td></tr><tr id='TBL-1-2-' style='vertical-align:baseline;'><td class='td11' id='TBL-1-2-1' style='white-space:normal; text-align:left;'> <!-- l. 28 --><p class='noindent'>program 
solution   </p></td><td class='td11' id='TBL-1-2-2' style='white-space:normal; text-align:left;'> <!-- l. 31 --><p class='noindent'>\begin {align*}  y \left (x \right ) = x^{2}+x +3  \end {align*}
</p><!-- l. 32 --><p class='noindent'>Verified OK.                                                                                            </p></td>
</tr><tr class='hline'><td></td><td></td></tr></table>                                                                                 </div>
 
</body> 
</html>

在 Linux 上使用 TL 2022

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

如何纠正这个问题以便数学运算显示在 HTML 中?

仅供参考,票也已添加到 tex4ht这里

答案1

环境aligned接受方括号中的可选参数,因此我认为 MathJax 只会吞噬这些括号中的数学内容,而不会显示它。您可以使用\left[\right]来解决此问题:

\documentclass[12pt]{book}
\usepackage{amsmath,mathtools}
\usepackage{array}

\begin{document}
\begin{tabular}{|p{.6in}|>{\setlength\columnwidth{5.8in}}p{5.8in}|}\hline
ODE&\vspace{-2em}\begin{gather*}
y^{\prime}-1-2 x=0
\end{gather*}
With initial conditions
$
\begin{aligned}
\left[y \left(0\right) = 3\right]
\end{aligned}
$
\\ \hline
program solution&\vspace{-1em}
\begin{align*}
y \left(x \right) = x^{2}+x +3
\end{align*}
Verified OK. 
\\ \hline
\end{tabular}

\end{document}

在此处输入图片描述

相关内容