gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 02:14:46 26 4
gpt4 key购买 nike

我正在玩Tal's介绍如何在现实情况下以尽可能少的开销生成单词表。 (请参阅那里的可重复示例 - 谢谢,塔尔!)在实际应用中,表格太宽,无法将它们打印在纵向页面上,但您可能不想拆分它们。

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

我也许应该补充一点,我开始使用knitr+markdown,而且我还不熟悉LaTex语法。但我会在完成工作的同时尽可能多地学习。

最佳答案

据我所知,我很确定 docx 编写器没有实现分节符 --reference-docx允许自定义样式而不是页面布局(但我在这里也可能是错的),这是来自 --reference-docx 上的 pandocs 指南:

--reference-docx=FILE

Use the specified file as a style reference in producing a docx file. For best results, the reference docx should be a modified version of a docx file produced using pandoc. The contents of the reference docx are ignored, but its stylesheets are used in the new docx. If no reference docx is specified on the command line, pandoc will look for a file reference.docx in the user data directory (see --data-dir). If this is not found either, sensible defaults will be used. The following styles are used by pandoc: [paragraph] Normal, Title, Authors, Date, Heading 1, Heading 2, Heading 3, Heading 4, Heading 5, Block Quote, Definition Term, Definition, Body Text, Table Caption, Image Caption; [character] Default Paragraph Font, Body Text Char, Verbatim Char, Footnote Ref, Link.

哪些样式保存在 /word/styles.xmldocx的组成部分文档。另一方面,页面布局保存在 /word/document.xml<w:sectPr> 中的组件标签,但据我所知,pandoc 的 docx 编写器忽略了这部分。

docx 编写器默认构建一个连续文档,其中包含标题、段落、简单表格等元素……非常类似于 html 输出。

<小时/>

选项#1(不能解决页面方向问题):

您可以通过样式定义的唯一页面布局选项是 pageBreakBefore这将在特定样式之前添加分页符

选项#2(看起来很优雅,但尚未经过测试):

最近添加了自定义编写器,允许自定义 lua脚本,您应该能够在其中定义如何将某些 Pandoc block 写入输出文件...这意味着您可以为插入 sectPr 的特定 block 定义分节符和页面布局。标记到文档中。我还没有尝试过,但值得研究一下。 On pandoc github you can check out a sample lua script file for custom html output .

但是,这意味着,你必须安装 lua,学习该语言,这取决于你是否认为值得投入时间。

选择 #3(在 Word 中点击几下就可以了):

因为您可能会花费相当多的时间来设置如何插入部分以及正确的大小、边距,以及计算如何使表格适合这样的布局...我建议您使用 pandoc 来写您在 Word 中打开的 document.docx,然后手动进行布局:

  • select the table you want on the landscape page
  • go to Layout > Margins
    > select Apply to: Selected text
    > choose Page Setup > select Landscape

现在,您的 table 周围应该有一个横向的新部分。

无论如何,您可能还想做的是对表格和表格标题进行一些样式设置(字体大小,...),以达到最佳结果(所有文本样式都可以使用 pandoc 进行应用,其中 --reference-docx很方便)。

选项#4(在您只能使用 pdf 而不是 docx 的情况下):

据我所知,pandoc 可以很好地处理 md -> docx 中的表。 (对齐方式、样式...),位于 tex -> docx有时会遇到一些麻烦。但是,如果您的选项允许 pdf 输出,那么 latex 将是您最好的 friend 。例如,您的问题只需使用即可轻松解决

\usepackage{pdflscape}

并将其添加到您的 table 周围

\begin{landscape}
...
\end{landscape}

这是迄今为止我能想到的选项。

我始终建议使用 pdf 格式的报告,因为您可以使用 Latex 根据自己的喜好设计样式,并且布局将保持您想要的方式。

但是,我也知道,由于各种原因,Word 文档仍然是许多领域审阅稿件的主要方式......所以我很可能会选择我建议的选项 3,主要是因为它是一个懒惰而快速的解决方案而且因为我通常没有太多包含大量放置和样式笨拙的巨型表格的文档。

祝你好运;-)

关于ms-word - 是否有控制输出页面方向的选项(使用 knit->pander->pandoc->docx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16173081/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com