2015-05-29 49 views
3

我试图创建文档工作流程代(专业文件)使用。目标是在Markdown中尽可能多地编写代码。生成的文档应该是PDF,但仍然可以在需要时导出到.docx。表的布局与Pandoc

我看中了Pandoc,为此,我将创建一个模板,乳胶,并使用YAML文件来保存文档元数据。到现在为止还挺好。然而,我不时需要使用表格,从非常简单的表格到更复杂的布局,例如列跨越。

降价是任何东西,但最简单的表几乎不能使用。我尝试了HTML来定义更复杂的表格布局,但似乎Pandoc不知道如何处理列或行跨越。

短定义完全乳胶表,如果有任何其他的替代方案,允许易于维护的方法来定义表的同时仍然能够将它们与Pandoc到乳胶/ PDF转换?

(从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:

PDF result

+0

不确定Pandoc需要了解/支持列或行跨越的原因。这应该全部在您的原始HTML表格中定义。也许如果我们有样品,可以提供一些帮助。 – Waylan

+0

@Waylan我在HTML中添加了一个例子,以及它是如何由Pandoc转换为HTML的(在Windows上使用MiKTeX 2.9)。 –

回答

1

事实上,Pandoc doesn't(目前)支持同事或rowspans。

如果您绝对需要多种输出格式的单元格,最好的选择是以任何您想要的格式(例如HTML或甚至reStructuredText)编写表格(在pandoc markdown的代码块或<div class="table">内)。然后,您可以编写一个pandoc filter,将pandoc AST的这部分转换为HTML,另一个将其转换为LaTeX。

+0

...还有一个内部表示的问题:[支持AST中的表列跨度·问题#1024·jgm/pandoc](https://github.com/jgm/pandoc/issues/1024) – Wolf

2

https://github.com/jgm/pandoc/wiki/Pandoc-vs-Multimarkdown
“潘doc的管道表格没有MMD管道表格的所有功能(节,colspan,rowspan,分组)。“

因此,也许一个解决办法可能是处理在单独的文件reStructuredText(复)表,包括他们算账。这只是我的2分,因为我可能不得不面对这个任务,直到几个星期。如果您找到解决方案,请发布!我很好奇,问候!

+1

您是否找到了此问题的替代方法?我也对它感兴趣,如何在具有pandoc的工作流中使用reStructuredText? –