如何调整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
相关产品推荐
相关产品推荐

