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