You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Bookdown生成PDF时flextable表格旁出现异常文本问题求助

解决Bookdown中flextable生成PDF时出现“‘=latex”的问题

问题原因

这个异常文本是flextable在输出富文本元素(如通过as_paragraph()创建的标题、脚注)时,与bookdown的PDF渲染逻辑冲突导致的——富文本标记未被正确解析,反而被输出成了原始的LaTeX控制片段。

解决方案

方案1:简化文本格式(优先推荐)

如果不需要复杂的富文本样式,直接替换as_paragraph()为纯文本输入:

```{r anthro, eval= T}
flextable(anthrotab)%>%autofit()%>%theme_booktabs(bold_header = T)%>%
  set_caption("My table")%>%  # 移除as_paragraph()
  align(align = "left", part = "body")%>%
  colformat_md()%>%
  add_footer_lines("Abbreviations:")  # 移除as_paragraph()
### 方案2:显式指定LaTeX输出格式
如果必须保留富文本样式,需要强制flextable输出纯LaTeX代码,并让knitr直接渲染:
1. 在代码块中添加`results='asis'`参数
2. 在flextable管道末尾调用`to_latex()`

修改后的代码块:
```r
```{r anthro, eval= T, results='asis'}
flextable(anthrotab)%>%autofit()%>%theme_booktabs(bold_header = T)%>%
  set_caption(as_paragraph("My table"))%>%
  align(align = "left", part = "body")%>%
  colformat_md()%>%
  add_footer_lines(as_paragraph("Abbreviations:"))%>%
  to_latex()  # 显式生成LaTeX代码
### 方案3:优化LaTeX依赖包
在YAML头部添加`caption`包,帮助bookdown更好地处理表格标题渲染:
```yaml
---
title: "PAV results"
header-includes: 
  - \usepackage{pdflscape}
  - \usepackage{caption}  # 添加该包优化标题渲染
date: "2023-06-19"
output:
  bookdown::pdf_document2:
    number_sections: no
    latex_engine: xelatex
    toc: no
---

验证

执行修改后的代码,生成PDF后检查横向页面中的表格,确认“‘=latex”文本已消失,表格布局正常。

内容的提问来源于stack exchange,提问作者Mark Davies

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 18:15:59