当使用 tex4ht 并将列类型设为居中段落时,\downarrow 不在表格中居中

当使用 tex4ht 并将列类型设为居中段落时,\downarrow 不在表格中居中

我正在制作一个表格,只有一列。表格居中。列类型为居中段落。

我在每行之间使用\downarrow注释来指示所做的转换。

在 pdf 中,所有内容都居中。但在 HTML 中,数学居中,但箭头不居中。仅当我使用列类型作为居中段落时才会发生这种情况。如果我只使用c,则箭头居中。

但我必须使用居中段落而不是c列类型,因为我在表格中使用显示数学,这需要段落。我使用显示数学是因为数学稍大一些,更容易阅读。

下面是一个在 PDF 和 HTML 中以相同方式工作的示例,使用c。然后,下面我展示了一个在 HTML 中不起作用的示例,当我将列类型更改为居中段落时

\documentclass[12pt,oneside]{book}  

%added nov 23, 2023 to enlarge vertical arrow.
%https://tex.stackexchange.com/questions/213811/how-to-elongate-down-arrow
\newcommand{\xdownarrow}[1]{%
  {\left\downarrow\vbox to #1{}\right.\kern-\nulldelimiterspace}
}
\usepackage{amsmath}

\begin{document}

\begin{table}
\centering
\begin{tabular}{c}
$\int \frac{e^{x+e^x} \left(e^x+1\right)}{x+e^x} \, dx$\\
$\Big\downarrow$ \rlap{7258}\\
$\int \frac{e^{x+e^x}}{x+e^x}d\left(x+e^x\right)$\\
$\Big\downarrow$ \rlap{2609}\\
$\operatorname{ExpIntegralEi}\left(x+e^x\right)$
\end{tabular}
\end{table} 

\end{document}

使用 lualatex 进行编译

在此处输入图片描述

使用 tex4ht 进行编译

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

给予

在此处输入图片描述

输出类似。箭头居中

现在我修改了 MWE 以使用列类型居中段落,以便我可以使用显示数学

\documentclass[12pt,oneside]{book}  
%added nov 23, 2023 to enlarge vertical arrow.
%https://tex.stackexchange.com/questions/213811/how-to-elongate-down-arrow
\newcommand{\xdownarrow}[1]{%
  {\left\downarrow\vbox to #1{}\right.\kern-\nulldelimiterspace}
}

\usepackage{array}
%see https://tex.stackexchange.com/questions/12703/how-to-create-fixed-width-table-columns-with-text-raggedright-centered-raggedlef
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

\usepackage{amsmath}    
\begin{document}
\begin{table}
\centering
\begin{tabular}{C{\textwidth}}
$\displaystyle \int \frac{e^{x+e^x} \left(e^x+1\right)}{x+e^x} \, dx$\\
$\Big\downarrow$ \rlap{7258}\\
$\displaystyle \int \frac{e^{x+e^x}}{x+e^x}d\left(x+e^x\right)$\\
$\Big\downarrow$ \rlap{2609}\\
$\displaystyle \operatorname{ExpIntegralEi}\left(x+e^x\right)$
\end{tabular}
\end{table}

\end{document}

现在 lualatex 提供

在此处输入图片描述

但是 tex4ht 使用与上面相同的命令给出了这样的结果:

在此处输入图片描述

由于某种原因,箭头不再像 PDF 那样居中。

有没有简单的解决方法?

TL 2023 大约 2 个月前更新。

Tex4ht 追踪号码

答案1

尝试这个配置文件:

\Preamble{xhtml}

\catcode`\:=11
\Configure{halignTD} {}{}
   {<}{\HCode{ style="white-space:nowrap; text-align:left;"}}
   {-}{\HCode{ style="white-space:nowrap; text-align:center;"}}
   {>}{\HCode{ style="white-space:nowrap; text-align:right;"}}
   {^}{\HCode{ style="vertical-align:top; white-space:nowrap;"}}
   {=}{\HCode{ style="vertical-align:baseline; white-space:nowrap;"}}
   {|}{\HCode{ style="vertical-align:middle; white-space:nowrap;"}}
   {_}{\HCode{ style="vertical-align:bottom; white-space:nowrap;"}}
   {p}{\HCode{ style="white-space:normal; text-align:left;"}\Protect\a:HColWidth}
   {m}{\HCode{ style="white-space:normal; text-align:center; vertical-align:middle;"}\Protect\a:HColWidth}
   {b}{\HCode{ style="white-space:normal; text-align:left; vertical-align:bottom;"}\Protect\a:HColWidth}
   {}
\catcode`\:=12
\begin{document}
\EndPreamble

这是表格列规范可能值的配置。理论上,应该可以C在此处添加您的规范的行,但它似乎m在内部转换为规范array。所以我将配置更改为m居中对齐:{m}{\HCode{ style="white-space:normal; text-align:center; vertical-align:middle;"}\Protect\a:HColWidth}。我不会在 TeX4ht 源中更改它,因为m列通常应该左对齐。希望这不会在您的其他表格中造成问题。

结果如下:

在此处输入图片描述

相关内容