我正在尝试创建文档生成工作流程(专业文档)。目标是尽可能多地用 Markdown 编写。生成的文档应该是 PDF,同时仍然能够在必要时导出为 .docx。
我选择了 Pandoc,我将为其创建一个 Latex 模板并使用 YAML 文档来保存文档元数据。到目前为止,一切都很好。然而,我有时需要使用表格,从非常简单的表格到更复杂的布局,例如列跨越。
除了最简单的表格外,Markdown 几乎无法用于任何其他内容。我尝试使用 HTML 来定义更复杂的表格布局,但 Pandoc 似乎不知道如何处理列或行跨越。
除了在 Latex 中完全定义表格之外,是否有任何其他替代方案可以使用易于维护的方法来定义表格,同时仍然能够使用 Pandoc 将其转换为 Latex/PDF?
更复杂的表格示例(取自此处):
<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 格式的结果:
从pandoc 2.10版本开始,其内部文档AST可以表示表的col-和rowspans。
在后续版本中添加了对各种输入和输出格式的支持(html 和 Latex 应该已经可以使用),更多功能正在开发中!
使用 Markdown 时,请查看网格表格...
旧答案reStructuredText
)编写表格(在 pandoc markdown 的代码块或
<div class="table">
内)。然后,您可以编写一个 pandoc 过滤器,将 pandoc AST 的这一部分转换为 HTML,以及另一个将其转换为 LaTeX 的过滤器。
https://github.com/jgm/pandoc/wiki/Pandoc-vs-Multimarkdown:
“Pandoc 的管道表 [...] 不具备 MMD 管道表的所有功能(节、列跨度、行跨度、分组)。”
reStructuredText 中的(复杂)表,然后将它们包含在内。这只是我的 2 美分,因为几周后我可能就要面对这项任务。如果您找到解决方案,请发布!我很好奇,你好!