Ms word 是否有控制输出页面方向的选项(使用knitr->;pander->;pandoc->;docx)

Ms word 是否有控制输出页面方向的选项(使用knitr->;pander->;pandoc->;docx),ms-word,markdown,knitr,pandoc,pander,Ms Word,Markdown,Knitr,Pandoc,Pander,在现实世界中,我正在使用intro以尽可能少的开销生成单词表。(请参阅此处可复制的示例-谢谢,塔尔!)在实际应用中,表格太宽,无法在纵向页面上打印,但您可能不想拆分它们 抱歉,如果我在pandoc或pander文档中忽略了这一点,那么在从R写入Word.docx文件时如何控制页面方向(纵向/横向) 我可能应该添加tat,因为我开始使用knitr+markdown,但我还不熟悉LaTex语法。但是我在完成我的工作的同时尽可能多地学习。我很确定docx writer没有实现分节,就我所知,——参考d

在现实世界中,我正在使用intro以尽可能少的开销生成单词表。(请参阅此处可复制的示例-谢谢,塔尔!)在实际应用中,表格太宽,无法在纵向页面上打印,但您可能不想拆分它们

抱歉,如果我在pandoc或pander文档中忽略了这一点,那么在从R写入Word.docx文件时如何控制页面方向(纵向/横向)


我可能应该添加tat,因为我开始使用knitr+markdown,但我还不熟悉LaTex语法。但是我在完成我的工作的同时尽可能多地学习。

我很确定docx writer没有实现分节,就我所知,
——参考docx
允许定制样式,而不是页面布局(但我可能在这里也错了),这是来自《pandocs指南》的
——参考docx

--参考docx=文件 在生成docx文件时,将指定的文件用作样式引用。 为了获得最佳结果,参考docx应该是 使用pandoc生成的docx文件。参考文件的内容 被忽略,但其样式表在新的docx中使用。如果没有 如果在命令行上指定了reference docx,pandoc将查找 用户数据目录中的文件reference.docx(请参见--data dir)。如果 也找不到,将使用合理的默认值。这个 pandoc使用以下样式:[段落]普通,标题, 作者,日期,标题1,标题2,标题3,标题4,标题5, 块引号、定义术语、定义、正文文本、表格标题、, 图像字幕;[字符]默认段落字体,正文文本字符, 逐字字符,脚注参考,链接

这些样式保存在
docx
文档的
/word/styles.xml
组件中。 另一方面,页面布局保存在
标记中的
/word/document.xml
组件中,但据我所知,pandoc的docx writer忽略了这一部分

docx writer默认情况下构建一个连续文档,其中包含标题、段落、简单表格等元素。。。很像html输出。


选项#1(无法解决页面方向问题): 您可以通过样式定义的唯一页面布局选项是
pageBreakBefore
,它将在特定样式之前添加分页符

选项#2(看似优雅,但尚未测试): 最近添加了自定义编写器,它允许自定义
lua
脚本,您可以在其中定义如何将某些Pandoc块写入输出文件。。。这意味着您可以为将
sectPr
标记插入文档的特定块定义分节符和页面布局。我还没试过,但值得调查

然而,这意味着,您必须安装lua,学习该语言,如果您认为值得投入时间,则由您决定

选项3(在Word中单击几下就可以了): 因为您可能会花费相当多的时间来设置如何插入部分,以及正确的大小、边距,以及如何使表格适合这样的布局。。。我建议您使用pandoc将您的document.docx放入Word中打开,并手动进行布局:

  • 在横向页面上选择所需的表格
  • 转到版面>页边距
    选择应用于:所选文本 选择页面设置>选择横向
现在,您的桌子周围应该有一个横向的新区域

无论如何,您可能还想做的是对表格和表格标题进行一点样式设置(字体大小,…),以获得最佳效果(所有文本样式都可以在pandoc中应用,其中
--reference docx
非常方便)

选项#4(在您可以直接使用pdf而不是docx的情况下): 据我所知,pandoc在
md->docx
(对齐,样式,…)中的表处理方面做得很好,在
tex->docx
中,它有时会遇到一些问题。但是,如果您的选择允许使用pdf输出,latex将是您最好的朋友。例如,您的问题就像使用

\usepackage{pdflscape}
把这个放在桌子上

\begin{landscape}
...
\end{landscape}
这是目前为止我能想到的选择

我总是建议使用pdf格式的报告,因为你可以用latex根据自己的喜好来设计,并且布局将保持你想要的样子

然而,我也知道,由于种种原因,word文档仍然是许多领域审查手稿的主要方式。。。因此,我很可能会选择我建议的选项3,主要是因为它是一个懒惰且快速的解决方案,而且因为我通常没有太多的文档包含大量的巨大表格,这些表格的位置和样式都很笨拙

祝你好运;-)

根据塔勒布的回答和一些
官员的文件包,我创建了一个可以这样使用的小要点:

---
title: "Example"
author: "Dan Chaltiel"
output: 
  word_document:
    pandoc_args:
     '--lua-filter=page-break.lua'
---

I'm in portrait

\endLandscape

I'm in landscape

\endPortrait

I'm in portrait again
使用
分页符.lua
作为此处托管的文件:


这远非完美(例如,如果没有最后一个纵向部分,它将无法工作),但有时它非常有用。

您只能使用Pandoc更改
docx
文档的全局方向(通过传递自定义
--参考docx
)。但是如果你想要一个由LaTeX和Pandoc生成的pdf文件(基于你的最后一段),这绝对是可能的。嗯,我已经使用了custom reference.docx,但没有效果。我应该添加:1st@darocig:谢谢你的支持!我试过:
系统(pa)