这仅与 tex4ht 相关。
tabular
当 tex4ht位于单元格内部时,它会在周围添加额外的框架,longtable
但当它单独存在时则不会。如何解决这个问题?
平均能量损失
\documentclass[11pt]{article}
\usepackage{longtable}
\begin{document}
When table inside long table, it adds extra frame
\begin{longtable}{|p{1.75in}p{1.75in}|}\hline
\begin{tabular}{p{1.75in}}
entry 1
\end{tabular}
&
\begin{tabular}{p{1.75in}}
entry 2
\end{tabular}
\\\hline
\end{longtable}
When table on its own, no extra frame shows up
\begin{tabular}{p{1.75in}}
entry 1
\end{tabular}
\end{document}
PDF 输出正确
但是 html,在使用命令编译之后
make4ht -ulm default -a debug foo3.tex "htm,mathjax"
显示这个
longtable
顺便说一句,这与在 tex4ht 中使用无关,即使在没有要求的情况下,tabular
内部tabular
也会将这些额外的框架添加到内部。MWE。在 HTML 中给出与上述类似的输出tabular
\documentclass[11pt]{article}
\begin{document}
When table inside table also, it adds extra frame
\begin{tabular}{|p{1.75in}p{1.75in}|}\hline
\begin{tabular}{p{1.75in}}
entry 1
\end{tabular}
&
\begin{tabular}{p{1.75in}}
entry 2
\end{tabular}
\\\hline
\end{tabular}
When table on its own, no extra frame shows up
\begin{tabular}{p{1.75in}}
entry 1
\end{tabular}
\end{document}
它似乎tex4ht 会从外部继承或使用框架设置table
(如果有)。
使用 TL 2020
答案1
这是 CSS 问题。这是生成的 CSS 文件中的内容:
#TBL-1 colgroup{border-left: 1px solid black;border-right:1px solid black;}
它将边框设置为 id 表的左边框和右边框TBL-1
。但由于 HTML 和 CSS 的工作方式,此声明也适用于此表的子表。
要修复此问题,您需要提供自定义 CSS。请注意,以一般方式执行此操作实际上是不可能的,因此您需要手动修复特定表格。
尝试这个.cfg 文件:
\Preamble{xhtml}
\Css{\#TBL-1 table colgroup{border:none;}}
\begin{document}
\EndPreamble
它禁用了 子表的边框TBL-1
。您应该只在文档完成时添加此类修复,因为在配置的表之前插入的每个表都会更改 ID,您需要更改配置文件。
结果如下: