【问题标题】:Cannot knit rmarkdown to PDF when a simple table is present存在简单表格时无法将 rmarkdown 编入 PDF
【发布时间】:2018-09-10 15:08:14
【问题描述】:

我在 RStudio 中编写了一个 rmd 文件,如果文本正文中有任何表格,我似乎无法获取 PDF。我尝试制作一个超级简单的测试 rmd 来验证表是导致错误的表。

---
title: "test"
output: pdf_document
---

| Right | Left | Default | Center | 
|------:|:-----|---------|:------:| 
| 12 | 12 | 12 | 12 | 
| 123 | 123 | 123 | 123 | 
| 1 | 1 | 1 | 1 |

这是我尝试编织时遇到的错误。

创建的输出:test.pdf 错误 工具::file_path_as_absolute(output_file) : 文件 'test.pdf' 确实 不存在调用:-> 另外:警告 消息:1:运行命令“pdflatex”-halt-on-error -interaction=batchmode "test.tex"' 状态为 1 2:在 readLines(logfile) 中:在 'test.log' 上找到不完整的最后一行 执行停止

这是我的会话信息:

R 版本 3.4.4 (2018-03-15) 平台:x86_64-w64-mingw32/x64(64 位) 运行于:Windows 7 x64 (build 7601) Service Pack 1

矩阵产品:默认

语言环境:[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

附加的基础包:[1] stats graphics grDevices utils
数据集方法库

其他附加包:[1] rmarkdown_1.9 magrittr_1.5
flextable_0.4.3 knitr_1.20

通过命名空间加载(未附加):[1] Rcpp_0.12.16
digest_0.6.15 rprojroot_1.3-2 R.methodsS3_1.7.1 R6_2.2.2
backports_1.1.2 评估_0.10.1 zip_1.0.0 [9] gdtools_0.1.7 stringi_1.1.7 uuid_0.1-2 R.oo_1.21.0
R.utils_2.6.0 xml2_1.2.0 tools_3.4.4 stringr_1.3.0
[17] 官员_0.2.2 yaml_2.1.18 编译器_3.4.4
base64enc_0.1-3 htmltools_0.3.6

【问题讨论】:

    标签: r r-markdown pdflatex


    【解决方案1】:

    试试我最喜欢的新东西,flextable - 它可以呈现为 HTML 和 PDF,而无需使用其他方法进行编织:

    ```{r, echo=FALSE, message=FALSE, warning=FALSE}
    library(knitr)
    library(flextable)
    library(magrittr)
    row1 <- c(12,12,12,12)
    row2 <- c(123,123,123,123)
    row3 <- c(1,1,1,1)
    df <- as.data.frame(rbind(row1,row2,row3))
    names(df) <- c("Right","Left","Default","Center")
    df %>% regulartable() %>% autofit()
    ```
    

    它以 HTML 和 PDF 格式生成:

    【讨论】:

    • 我尝试将确切的代码块复制到一个测试 rmd 文件中,但当我尝试编织成 PDF 时出现错误:从第 7-16 行退出 (test.Rmd) knit_print.flextable 中的错误( x, ...) : 不支持的 flextable 渲染格式:latex 调用: ... fun -> withVisible -> knit_print -> knit_print.flextable 执行停止
    • 你的 pandoc 版本是 > 2 吗?
    • 另外,你安装 pandoc 了吗?很多文档渲染都需要它,并且它安装在 RStudio 之外
    • 天哪,谢谢。更新 pandoc(我是 1.17.2)后,我原来的问题神奇地消失了。
    • 耶!很高兴听到这个消息。几个月前同样的事情发生在我身上,我拔掉头发将近 3 天,然后重新安装了正确版本的 pandoc :)
    猜你喜欢
    • 2021-09-15
    • 1970-01-01
    • 2020-09-20
    • 2021-05-10
    • 2021-10-15
    • 1970-01-01
    • 2015-11-27
    • 1970-01-01
    • 2021-02-07
    相关资源
    最近更新 更多