flextable在papaja的apa6_pdf输出中报错的技术求助
解决papaja与flextable渲染冲突的
\Oldarrayrulewidth未定义错误 这个错误是因为papaja的apa6_pdf模板为适配APA格式修改了表格相关LaTeX命令,未保留flextable依赖的\Oldarrayrulewidth命令,而默认pdf_document模板无此修改,所以能正常渲染。
以下是三种可行解决方法:
方法一:提前定义\Oldarrayrulewidth命令
在文档开头直接插入LaTeX代码,手动定义该命令:
\let\Oldarrayrulewidth\arrayrulewidth
修改后的完整示例:
--- title : "Flextable & papaja" classoption : "man" output : papaja::apa6_pdf --- \let\Oldarrayrulewidth\arrayrulewidth # Intro Flextable in apa6_pdf ```{r setup, include = TRUE} knitr::opts_chunk$set(echo = FALSE, warning = FALSE, message = FALSE) library("papaja") require(flextable) data("mtcars") flextable(head(mtcars))
## 方法二:转换flextable输出格式 使用`flextable_to_knitr()`函数将flextable转换为knitr兼容格式,绕开冲突: ```r flextable(head(mtcars)) %>% flextable_to_knitr()
方法三:更新依赖包到最新版本
papaja或flextable的新版本可能已修复该兼容性问题,运行以下命令更新:
update.packages(c("papaja", "flextable"))
内容的提问来源于stack exchange,提问作者Ingmar Visser
相关产品推荐
相关产品推荐

