将 LaTeX 列表格式化为 HTML 表

将 LaTeX 列表格式化为 HTML 表

是否可以在某处添加一些配置以便获得 LaTeX 列表,例如:

\begin{customlist}
 \item[keyword1] Description.
 \item[keyword2] Another description.
 \item[keyword3] Yet another.
\end{customlist}

通过 tex4ht 格式化为 HTML 表格,如下所示:

<table>
<tr><td>keyword1</td><td>Description.</td></tr>
<tr><td>keyword2</td><td>Another description.</td></tr>
<tr><td>keyword3</td><td>Yet another.</td></tr>
</table>

在您告诉我如果想要表格应该使用 之前tabular,我会说我正在尝试通过修改文件来改编旧的 LaTeX 文档.sty,在 中引入尽可能少的更改.texcustomlist环境被定义为列表,引入某种标题,因此 LaTeX 输出看起来已经有点像表格了。

我的主要问题tex4t是描述不是任何命令的参数,所以我不知道如何</td></tr>在每行末尾引入该部分。其余部分可能类似于以下内容:

\ConfigureList{customlist}{\Tg<table>}{\Tg</table>}{\Tg<tr>\Tg<td>}{\Tg</td><td>}

但当然,这不会创建有效的表格(至少不是在 XHTML 中,而这是我所喜欢的)。

在 LaTeX 中将列表格式化为表格的功能也受到欢迎。

答案1

您可以使用一些辅助宏:

\ConfigureList{customlist}
{\Tg<table>\def\trtdend{}}
{\trtdend\Tg</table>}
{\trtdend\HCode{<tr><td>}\def\trtdend{\HCode{</td></tr>}}}
{\Tg</td><td>}

在每个项目中都插入宏\trtdend。它在环境开始时设置为空,在第一个项目中设置为,\HCode{</td></tr>}以便这些标签在每个下一个项目或环境结束时正确关闭

相关内容