我正在使用pandoc和markdown撰写快速而肮脏的报告。
我需要以最小的麻烦生成PDF或DOCX,我不关心哪些(当然最好是两者)。此外,我对数字和表格有一定的限制 - 它们已经与另一个程序先验地生成,我宁愿能够插入它们,因为它们将它们转换为适合pandoc的需要。
但是,主要的限制是我不想手动编辑生成的文档,无论是LaTeX还是DOCX。我想在降价时进行所有编辑。
问题在于:
因此,所生成的文件都不能用于我的目的。
我想要做的就是将一些结果拼凑在一起并生成一个我可以发送给另一位科学家的文件。
问题:在pandoc中生成快速而脏的报告的最佳解决方案是什么,只需最少的工作量,至少可以看到所有结果?
更新:将pandoc升级到1.4或更高版本可以解决问题 - 这些数据现在在docx文档中的大小正确。
答案 0 :(得分:4)
目前,您无法直接从Markdown控制该功能。对于LaTeX / PDF输出,这由LaTeX / pdflatex自动处理。
最近几个月,Pandoc开发人员和用户社区一直在讨论如何最好地实现它并创建易于使用的语法,例如
![Image Caption](./path/to/image.jpg "Image Comment"){width="60%", height="150px"}
(警告:仅限示例,当场制作+我自己从空气中提取 - 无法记住讨论的最新状态......)这是为了转移而设计的 所有 支持的输出格式,可以包含图像,而不仅仅是LaTeX / PDF。
因此,计划成为Pandoc下一个主要版本的主要新功能,并且将开始在ODT / DOCX输出中更好地工作。
您如何使用Markdown语法指定表格?
您是否知道Pandoc支持多种变体,例如gid_tables
,pipe_tables
,simple_tables
和multiline_tables
?
您应该考虑使用pandoc --from=markdown+multiline_tables ...
作为命令,并在Markdown中将关键表格写为multiline_tables
。
通过man pandoc_markdown
...
多行表可以对输出中各列的宽度进行有限控制,只需通过加宽或缩小降价源本身的列宽即可。
Pandoc支持将raw_tex
行和环境插入Markdown源文件。当遇到这样的行时,它会将它们未更改地传输到其LaTeX输出中。 (但是对于所有其他输出,它将被忽略。)
所以你可以插入像
这样的行\newpage{}
进入Markdown以强制执行分页符。这已经为您提供了一些有限的控制,可以保持错误的数字或表格的顺序。 (毕竟,你说你寻找一个“快速而肮脏”的方法,而不是复杂的排版文档...)
当然,如果你更了解LaTeX,你也可以使用像
Markdown中的/FloatBarrier
。
走这条路(将LaTeX代码混合到Markdown)会给你带来一些缺点:
但优势仍然是: