Table 与 Pandoc 一起使用的布局

Table layouts for use with Pandoc

我正在尝试创建文档生成工作流程(专业文档)。目标是尽可能多地用 Markdown 编写。生成的文档应为 PDF,同时仍可根据需要导出为 .docx。

我选择了 Pandoc,为此我将创建一个 Latex 模板并使用 YAML 文档来保存文档元数据。到目前为止,一切都很好。然而,有时我需要使用 tables,从非常简单的布局到更复杂的布局,例如列跨越。

Markdown 除了最简单的 tables 之外几乎没有用处。我尝试 HTML 定义更复杂的 table 布局,但 Pandoc 似乎不知道如何处理列或行跨越。

没有在 Latex 中完全定义 table,如果有任何其他替代方法允许使用易于维护的方法来定义 table,同时仍然能够使用 Pandoc 将它们转换为 Latex/PDF?

一个更复杂的例子table(取自here):

<body>
<table border="1">

<!-- First row -->

<tr>
<td>1</td>
<td colspan="2">2 and 3</td>
<td>4</td>
</tr>

<!-- Second row -->

<tr>
<td rowspan="3">5, 9 and 13</td>
<td>6</td>
<td>7</td>
<td>8</td>
</tr>

<!-- Third row -->

<tr>
<td>10</td>
<td>11</td>
<td>12</td>
</tr>

<!-- Fourth row -->

<tr>
<td colspan="3">14, 15 and 16</td>
</tr>

</table>
</body>

这是 PDF 格式的结果:

来自https://github.com/jgm/pandoc/wiki/Pandoc-vs-Multimarkdown
"Pandoc's pipe tables [...] do not have all of the features of MMD pipe tables (sections, colspan, rowspan, grouping)."

因此,解决方法可能是在单独的文件中处理 reStructuredText 中的(复杂)表格,然后将它们包括在内。这只是我的 2 美分,因为我可能要在几周后才能完成这项任务。如果您找到解决方案请post啦!我很好奇,问好!

pandoc version 2.10以来,其内部文档AST可以表示table列和行跨度。

在后续版本中添加了对各种输入和输出格式的支持(html 和 latex 应该已经可以工作了)更多的是 in the works!

旧答案

如果你绝对需要多种输出格式的单元格跨度,你最好的选择是以你想要的任何格式(例如HTML 甚至 reStructuredText). Then you can write one pandoc filter 将这部分 pandoc AST 转换为 HTML,另一个过滤器将其转换为 LaTeX。