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

如何在将gtsummary表格转为gt及LaTeX时保留缩进?

保留gtsummary缩进并导出LaTeX的简便方法

你当前的代码导出的LaTeX中,子项的缩进是普通空格,而LaTeX会忽略连续空格,所以无法显示原表格的缩进效果。以下两种方法可以解决这个问题:

方法1:在gtsummary阶段添加LaTeX缩进命令

直接在gtsummary处理时,给需要缩进的子行加上LaTeX可识别的\hspace命令,再转gt导出:

library(gtsummary)
library(gt)

trial[c("trt", "age", "response", "grade")] %>%
  tbl_summary(by = trt) %>%
  # 标记所有需要缩进的行,给label文本前加LaTeX缩进
  modify_table_styling(
    columns = label,
    rows = indent == TRUE,
    text_format = ~ paste0("\\hspace{1em}", .x)
  ) %>%
  as_gt() %>%
  as_latex() %>%
  as.character() %>%
  cat()

方法2:转gt后用text_indent自动生成缩进

gt的text_indent函数会自动将缩进转换为LaTeX兼容的格式,无需手动写命令:

library(gtsummary)
library(gt)

trial[c("trt", "age", "response", "grade")] %>%
  tbl_summary(by = trt) %>%
  as_gt() %>%
  # 对gtsummary标记的缩进行应用缩进
  text_indent(
    columns = label,
    rows = .data$indent == TRUE,
    indent = 15 # 缩进宽度,可根据需求调整
  ) %>%
  as_latex() %>%
  as.character() %>%
  cat()

效果说明

导出的LaTeX代码中,子项(如Unknown、Grade下的I/II/III)前会出现\hspace{1em}或等效的LaTeX缩进命令,编译后就能看到和原gtsummary表格一致的缩进效果。


内容的提问来源于stack exchange,提问作者John-Henry

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:28:38