我正在制作一个表格,只有一列。表格居中。列类型为居中段落。
我在每行之间使用\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 个月前更新。
答案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
列通常应该左对齐。希望这不会在您的其他表格中造成问题。
结果如下: