R'n*_*n'E 11 markdown ms-word pandoc knitr pander
我正在玩Tal的介绍,在现实世界的情况下尽可能少地产生单词表.(请参阅那里可重现的例子 - 谢谢,Tal!)在实际应用中,表格要宽,以便在面向纵向的页面上打印,但您可能不想拆分它们.
很抱歉,如果我在pandoc或pander文档中忽略了这一点,但在从R写入Word .docx文件时如何控制页面方向(纵向/横向)?
我可能应该加上我开始使用knitr + markdown,我还不熟悉LaTex语法.但是我在尝试完成我的工作时尽可能多地接受.
Mar*_*jak 15
我很确定docx编写器没有实现分节符,据我所知也--reference-docx允许自定义样式而不是页面布局(但我可能也错了),这是来自pandocs指南--reference-docx:
--reference-docx = 文件在生成docx文件时,使用指定的文件作为样式参考.为获得最佳结果,参考docx应该是使用pandoc生成的docx文件的修改版本.参考docx的内容将被忽略,但其样式表将在新的docx中使用.如果在命令行中未指定引用docx,则pandoc将在用户数据目录中查找文件reference.docx(请参阅--data-dir).如果未找到,则将使用合理的默认值.pandoc使用以下样式:[paragraph] Normal,Title,Authors,Date,Heading 1,Heading 2,Heading 3,Heading 4,Heading 5,Block Quote,Definition Item,Definition,Body Text,Table Caption,Image Caption ; [character]默认段落字体,正文文本字符,逐字字符,脚注参考,链接.
哪些样式保存在文档的/word/styles.xml组件中docx.另一方面,页面布局保存在标签的/word/document.xml组件中<w:sectPr>,但据我所知,pandoc的docx编写器忽略了这一部分.
docx编写器默认构建一个连续文档,包含标题,段落,简单表等元素......就像html输出一样.
您可以通过样式定义的唯一页面布局选项是在pageBreakBefore特定样式之前添加分页符
最近,自定义已添加的作家,允许自定义lua脚本,你应该能够定义Pandoc如何某些块将被写入到输出文件......这意味着你可能会定义分节符和页面布局特定块插入该sectPr标签到文档中.我没有试过这个,但值得研究.在pandoc github上,您可以查看示例lua脚本文件以获取自定义html输出.
但是,这意味着,您必须安装lua,学习语言,如果您认为值得投入时间,则由您决定.
因为您可能会花费相当多的时间来设置如何插入部分以及正确的大小,边距以及如何使表格适合这样的布局...我建议您使用pandoc来编写文档. docx,你在Word中打开,并手动进行布局:
- 在横向页面上选择所需的表格
- 转到布局>边距
>选择应用于:所选文本
>选择页面设置>选择横向
现在,您的桌子周围应该有一个横向方向的新部分.
无论如何你也可能想要做的是将表格和表格标题设置一点(字体大小,......),以获得最佳效果(所有文本样式都可以使用pandoc --reference-docx来实现).
据我所知,pandoc可以很好地处理表格md -> docx(对齐,样式,......),tex -> docx有时会遇到一些麻烦.但是,如果你的选择允许pdf输出乳胶将是你最好的朋友.例如,您的问题就像使用一样容易解决
\usepackage{pdflscape}
Run Code Online (Sandbox Code Playgroud)
并在你的桌子周围添加这个
\begin{landscape}
...
\end{landscape}
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我能想到的选择.
我总是建议使用pdf格式的报告,因为你可以根据自己的喜好设置乳胶样式,布局将保持你想要的样子.
但是,我也知道,由于各种原因,word文档仍然是审查许多领域的手稿的主要方式...所以我很可能只是采用我建议的选项3,主要是因为它是一个懒惰和快速的解决方案,因为我通常没有很多文件,有大量的巨型桌子,尴尬的放置和造型.
祝好运 ;-)