【发布时间】:2020-08-31 23:32:07
【问题描述】:
我很抱歉提出了一个最低限度的问题......信息量不是很多,因为它只是在我第一次尝试时失败了,而且我还不太擅长 RMarkdown 调试。
我是第一次尝试 flextable(有兴趣控制 HTML 和 Word 中的表格输出)。
已安装 Flextable,它可以为 HTML 运行,但完全停止对 Word 的任何呈现。当我尝试编织到 Word 时,在我得到一个新的 Word 文件之前,它在 RMarkdown 面板中停止并出现错误,即:
Line [first line of R-chunk]: Error: read_docx only support docx files Execution halted
以前有没有人看到并解决过这个问题? There is just one SO question potentially related to this here,但还没有答案:(
编辑——我发现了一些东西,但这仍然是个问题:-p
我想到了另一件事是“自定义”...我已经有了自己的 reference_docx。
当我把它拿走以便使用默认的 Word 模板时......它运行了!!
但我绝对想要我的风格! flextable 不是我唯一可以使用的东西:-D。
有人知道对 flextable 的 reference_docx 有什么限制吗?
或者我们可能会猜测这些限制实际上是针对官员的?
能克服吗?
我不会打扰转储标题,因为无论如何你都没有我的文件。但它肯定是最新的 Word 格式,因为我有 Office 365,如果我愿意,几乎无法停止 Windows 更新。
我将尝试自己解压缩 docx,并检查 docx 的元数据与使用默认值的 Knit 中看到的标准元数据是否有任何差异。
EDIT/UPDATE 2 -- 破解文件失败,而且.....也许没关系
所以我确实通过 zip 转换将我首选的 reference_docx 制作为一个文件夹,并将使用“default”制作的输出 docx 制作到一个文件夹中。
我检查了 BeyondCompare,也许最大的区别是我喜欢的尾注中有信息。
我用的是 Zotero,所以我实际上是从 Word 中卸载了 Zotero,重新保存,没有任何变化。
我尝试从文档中删除所有尾注并重新保存,但没有任何变化。
我尝试编辑原始文件夹以删除“endnotes.xml”文件,重新压缩它,尝试在 Word 中打开,让它修复,重新保存。 . .没有变化。
我尝试另外删除与“尾注”相关的顶级 xml 中的条目,并重新压缩并打开并修复并重新保存......没有变化。
所以我接受了也许我只需要重建我喜欢的参考文档样式,并尝试使用 pandoc "default" 的输出 docx 重新开始。我确实认为首先将其用作reference_docx 只是为了确保它有效。 . . . . .
它不是 。 :(
- 所以我们可以看到我的盒子上有一些关于 docx 文件的内容 freetable 或官员根本不会接受参考 docx。
我可能不得不和他们一起提出。
与此同时,我可以查看是否有一个用于“默认”的实际 doc 文件,也许我仍然可以继续进行。
我在 Windows 10 上运行 RStudio 1.3.1073。
我正在运行的简单代码是:
``` {r}
library(dplyr)
library(flextable)
myDF = mtcars
myDF[1:10,] %>%
flextable()
```
运行 sessionInfo() 产生:
R version 4.0.2 (2020-06-22)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] rstudioapi_0.11 knitr_1.29 magrittr_1.5 tidyselect_1.1.0 munsell_0.5.0 colorspace_1.4-1 R6_2.4.1 rlang_0.4.7
[9] dplyr_1.0.2 tools_4.0.2 grid_4.0.2 gtable_0.3.0 xfun_0.16 tinytex_0.25 htmltools_0.5.0 ellipsis_0.3.1
[17] yaml_2.2.1 digest_0.6.25 tibble_3.0.3 lifecycle_0.2.0 crayon_1.3.4 purrr_0.3.4 ggplot2_3.3.2 vctrs_0.3.2
[25] glue_1.4.1 evaluate_0.14 rmarkdown_2.3 compiler_4.0.2 pillar_1.4.6 generics_0.0.2 scales_1.1.1 pkgconfig_2.0.3
>
只是为了确认~~~只是为了清楚我已经将它隔离为使用 flextable() - 或者可能是 magrittr,但这似乎不太相关 - 这很好:
``` {r }
library(dplyr)
library(flextable)
myDF = datasets::mtcars
myDF[1:10,]
# %>%
# flextable()
```
我已经使用 RMarkdown 几个星期了,之前生成过 docx。
如果我不使用 flextable,我仍然可以生成 docx,包括这个最小的数据转储,只需选择 10 行而不使用 flextable。
当我合并 flextable 时,我们遇到了一个奇怪的问题。
并且只是为了更加清晰,取出 magrittr 我仍然得到相同的行为...... HTML 没问题,Word 出现错误,如所述:
``` {r }
library(dplyr)
library(flextable)
myDF = datasets::mtcars
flextable(myDF[1:10,])
# %>%
# flextable()
```
回答另一个问题,
是的,我已经尝试更新所有包并检查 RStudio 更新
【问题讨论】:
-
这不是一个完整的示例:您的 YAML 标头(或文档中的其他地方?)中的某些内容可能会让您感到困惑。在加载这两个包后运行
sessionInfo()可能会提供信息,因此我们可以查看它们是否已过时... -
是的...如果您阅读我的编辑,我会说我确实有我自己的 docx 的标题。我也确实运行了 sessionInfo 并将其转储 - 那是在我原来的帖子中。不,没有什么是过时的 :) 我已经尝试更新所有包并寻找 RStudio 更新。如果您阅读了我的整个问题,您会发现我发现这是我自己的 reference_docx 的问题。
-
添加了实际答案:)
-
您可以添加
sessionInfo()。如果不用officer_0.3.13(github版或者cran新版),能不能更新一下? -
@DavidGohel 你好~当然,我会更新并再试一次。我确实在更新前看到了 .12
标签: r r-markdown flextable