用于Pandoc的表布局

时间:2015-05-29 11:17:42

标签: latex markdown pandoc

我正在尝试创建文档生成工作流程(专业文档)。目标是在Markdown中尽可能多地写作。生成的文档应为PDF,但仍可以在必要时导出到.docx。

我已经确定了Pandoc,为此我将创建一个Latex模板并使用YAML文档来保存文档元数据。到现在为止还挺好。但是,我不时需要使用表格,从非常简单的表格到更复杂的布局,例如专栏。

除了最简单的桌子之外,Markdown几乎不可用。我尝试使用HTML来定义更复杂的表格布局,但似乎Pandoc不知道如何处理列或行跨越。

如果还有其他替代方法允许使用易于维护的方法来定义表,同时仍然能够使用Pandoc将它们转换为Latex / PDF,那么

没有在Latex中完全定义表吗?

更复杂的表格的示例(取自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>
&#13;
&#13;
&#13;

这是PDF中的结果:

PDF result

2 个答案:

答案 0 :(得分:2)

来自https://github.com/jgm/pandoc/wiki/Pandoc-vs-Multimarkdown
“Pandoc的管道表[...]没有MMD管道表的所有功能(部分,colspan,rowspan,分组)。”

因此,可能一种解决方法可能是在reStructuredText中处理单独文件中的(复杂)表格,然后再将它们包含在内。这只是我的2美分,因为我可能不得不面对这个任务,直到几周。如果您找到了解决方案,请发布!我很好奇,欢迎你!

答案 1 :(得分:1)

实际上,Pandoc doesn't(目前)支持col-or rowpans。

如果您绝对需要多种输出格式的单元格跨度,那么最好的选择是以您想要的任何格式(例如HTML甚至HTML)编写表格(在pandoc markdown&#39;或<div class="table">内) reStructuredText)。然后你可以写一个pandoc filter将pandoc AST的这部分转换为HTML,另一个过滤器将它转换为LaTeX。