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

如何调整R chunk输出的texreg表格大小?解决LaTeX编译报错

解决texreg表格缩放的LaTeX报错问题

你的报错原因是重复嵌套了table浮动环境:texreg函数默认会自动生成完整的table环境代码,而你手动在外层又套了一层\begin{table}和\end{table},导致LaTeX解析时触发"Not in outer par mode"错误。

下面是两种可行的解决方法:

方法一:禁用texreg的table环境生成

通过设置texreg的table=FALSE参数,让它只输出表格核心内容(tabular环境部分),再手动在外层添加包含scalebox的table环境:

```{r, results='asis', echo = FALSE, warning = FALSE}
cat("\\begin{table}[ht]\\centering\\scalebox{0.8}{")
texreg(list(reg1a, reg1b, reg1c, reg1d),
       custom.coef.names = custom_coef_names,
       custom.coef.map = custom_coef_map,
       label = "table:main",
       table = FALSE)  # 关键:不生成table环境
cat("}\\end{table}")
## 方法二:修改texreg的输出文本
先获取`texreg`生成的完整LaTeX代码,通过字符串替换给表格内容包裹`scalebox`,避免手动嵌套环境:

```r
```{r, results='asis', echo = FALSE, warning = FALSE}
# 获取texreg输出的LaTeX文本
tab_content <- texreg(list(reg1a, reg1b, reg1c, reg1d),
                      custom.coef.names = custom_coef_names,
                      custom.coef.map = custom_coef_map,
                      label = "table:main",
                      return.output = TRUE)

# 替换原代码,添加scalebox包裹
tab_content <- gsub("(\\\\begin{tabular}.*?\\\\end{tabular})", "\\\\scalebox{0.8}{\\1}", tab_content)

# 输出修改后的代码
cat(tab_content)
### 注意事项
确保你的LaTeX文档加载了`graphicx`包(`scalebox`依赖该包),如果是RMarkdown的pdf输出,可在YAML头部或文档开头添加:
```latex
\usepackage{graphicx}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 17:48:11