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

如何在gtsummary中生成含正确换行的系数表LaTeX代码

解决gtsummary转LaTeX时HTML换行符未替换的问题

在将gtsummary生成的系数表转为LaTeX时,HTML换行符<br>不会自动转为LaTeX支持的换行命令(\\),导致生成的代码包含无效标签。以下是三种可行的解决方法:

方法1:在gt对象中提前替换换行符

使用gt包的text_transform()函数,针对目标列将<br>替换为LaTeX换行命令。修改后的完整代码如下:

library(gtsummary)
tbl <-
  lm(time ~ ph.ecog + sex, survival::lung) %>%
  tbl_regression(label = list(ph.ecog = "ECOG Score", sex = "Sex"))

add_significance_stars_ex3 <-
  tbl %>%
  add_significance_stars(
    hide_se = TRUE,
    pattern = "{estimate}{stars}<br>({std.error})"
  ) %>%
  modify_header(estimate ~ "**Beta (SE)**") %>%
  modify_footnote(estimate ~ "SE = Standard Error", abbreviation = TRUE) %>%
  as_gt() %>%
  # 添加这一步替换换行符
  gt::text_transform(
    locations = gt::cells_body(columns = estimate),
    fn = function(x) {
      gsub("<br>", "\\\\", x)
    }
  ) %>%
  gt::tab_style(
    style = "vertical-align:top",
    locations = gt::cells_body(columns = label)
  )

# 输出LaTeX代码
add_significance_stars_ex3 %>% 
  gt::as_latex() %>% 
  cat()

执行后生成的LaTeX代码中,<br>会被替换为\\,表格内的内容会正确换行。

方法2:直接处理生成的LaTeX字符串

如果已经生成了LaTeX对象,可以用字符串替换工具直接替换<br>:

# 先生成LaTeX代码字符串
latex_code <- add_significance_stars_ex3 %>% gt::as_latex() %>% as.character()
# 替换换行符
fixed_latex <- gsub("<br>", "\\\\", latex_code)
# 输出修正后的代码
cat(fixed_latex)

这种方法简单直接,适合快速修复已生成的LaTeX代码。

方法3:在gtsummary阶段区分输出格式

如果需要同时支持HTML和LaTeX输出,可以通过条件逻辑在生成表格时使用不同的换行符。例如:

# 定义输出格式,可选"html"或"latex"
output_format <- "latex"

add_significance_stars_ex3 <-
  tbl %>%
  add_significance_stars(
    hide_se = TRUE,
    pattern = ifelse(output_format == "latex", 
                     "{estimate}{stars}\\\\({std.error})",
                     "{estimate}{stars}<br>({std.error})")
  ) %>%
  modify_header(estimate ~ "**Beta (SE)**") %>%
  modify_footnote(estimate ~ "SE = Standard Error", abbreviation = TRUE) %>%
  as_gt() %>%
  gt::tab_style(
    style = "vertical-align:top",
    locations = gt::cells_body(columns = label)
  )

这种方法可以确保不同输出格式下都使用正确的换行符,无需后续替换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:58:01