如何删除围绕 Plastex 呈现的每个表格单元格?

如何删除围绕 Plastex 呈现的每个表格单元格?

Plastex 可以将 LaTeX 渲染成漂亮的 HTML... 但有一个问题是,表格中每个单元格的内容都被 HTML 标签包围

p> content </p 

即使它已经在一个

td > </td 

像这样

<td ><p> content </p></td>

这会在“内容”上方和下方添加很多填充,使表格看起来很糟糕。

参考书目也发生了类似的事情。

有人知道在 Plastex 的 python 代码、ccs 样式表等中要修改什么才能防止它添加不必要的 p 标签吗?

=== 数学方程 ===

乳胶

\documentclass{book}
\begin{document}
\begin{tabular}{|c|c|}\hline
content & content\\\hline
content & content\\\hline
content & content\\\hline
\end{tabular}
\end{document}

Plastex 输出

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"         "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<title></title>
</head>
<body>

<div> <table cellspacing="0" class="tabular">
<tr>

<td style="border-top-style:solid; border-left:1px solid black; border-right:1px solid black; border-top-color:black; border-top-width:1px; text-align:center"><p>content </p></td>

<td style="border-top-style:solid; text-align:center; border-top-color:black; border-top-width:1px; border-right:1px solid black"><p> content</p>    </td>

</tr><tr>

<td style="border-top-style:solid; border-left:1px solid black; border-right:1px solid black; border-top-color:black; border-top-width:1px; text-align:center"><p>content </p></td>

<td style="border-top-style:solid; text-align:center; border-top-color:black; border-top-width:1px; border-right:1px solid black"><p> content</p></td>

</tr><tr>

<td style="border-top-style:solid; border-bottom-style:solid; border-bottom-width:1px; border-left:1px solid black; border-right:1px solid black; border-top-color:black; border-top-width:1px; border-bottom-color:black; text-align:center"><p>content </p></td>

<td style="border-top-style:solid; border-bottom-style:solid; border-bottom-width:1px; border-bottom-color:black; border-right:1px solid black; border-top-color:black; border-top-width:1px; text-align:center"><p> content</p></td>

</tr>
</table> </div>

</body>
</html>

如果您在浏览器中显示 HTML,您会看到表格的每个单元格都有 3 行,因此它们很粗。相反,如果您通过 LaTeX 运行 LaTeX 代码,则每个单元格只有 1 行,表格很紧凑,这是理所当然的。

问题在于,Plastex 用 HTML p 标签包裹每个单元格的内容,即使内容已经在 td 标签内。p 标签是多余的。

Plastex 代码源是 Python 并且可用,但它很广泛,我不知道在哪里可以找到。

答案1

我所知道的关于 Plastex 的一切都是 Tim Arnold 和 Kevin Smith 的功劳。没有他们,我什么都不知道。Echeban。

根据 Kevin 的(不太喜欢的)建议,我在 bibitem 类中将 forceParse 设置为 false:

class bibitem(List.item):
    args = '[ label ] key:str'
    # Echeban
    forcePars = False
    # End Echeban

forceParse = True -> 强制在节点的子节点集上使用 <p> 标记。用外行人的话来说,这意味着,例如,一旦收集了 \item 的所有内容,它就会被封闭在 <p> 标记中。这样做是为了保留原始 \item 的段落。但 \bibitem 始终是一个段落,将其封闭在 <p> 中会在每个 \bibitem 之前和之后添加一个空格,这看起来不太对劲,尤其是在 ePub 上。所以,我决定通过设置 forceParse = False 来删除该空格,这会产生不添加 <p> 标记的效果。它有效!

现在我必须从表格单元格内容中删除 <p>。否则表格会变得太宽,看起来不像纸上那么好看。

相关内容