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

R targets包执行报错排查:unexpected '/'错误及tikzLatex配置问题

问题排查:Targets管道错误与TikZ LaTeX配置失效

一、Targets管道运行错误

错误信息

✖ error target quantities_plot_base
• end pipeline [3.558 seconds]
Error:

! Error running targets::tar_make()
  
Target errors: targets::tar_meta(fields = error, complete_only = TRUE)
  
Tips: https://books.ropensci.org/targets/debugging.html
  
Last error: <text>:1:2: unexpected '/'

1: +/

     ^

关联代码

对应的target定义:

tar_target(
    name = quantities_plot_base,
    command = powerscale_seq_summ_plot(sensitivity_sequence_base)
  )

powerscale_seq_summ_plot函数代码:

powerscale_seq_summ_plot <- function(powerscale_seq) {

  powerscale_plot_quantities(powerscale_seq, variables = "b_wrist", quantities = c("mean", "sd"), mcse = TRUE) +
    ggplot2::facet_wrap(
      . ~ quantity,
      scales = "free",
      ncol = 3,
      labeller = ggplot2::as_labeller(
        c(
          "b_wrist" = "",
          "sd" = "SD",
          "mean" = "Mean",
          "cjs_dist" = "$\\text{CJS}_{\\text{dist}}$"
        )
      )
    ) +
    guides(colour = "none") +
    xlab("Power-scaling $\\alpha$") +
    scale_color_manual(values = rep("black", 3)) +
    scale_shape_manual(values = c("prior" = 15, "likelihood" = 22), labels = c("Prior power-scaling", "Likelihood power-scaling"), name = NULL) +
    scale_linetype_manual(values = "dashed", labels = "$\\pm2$ MCSE", name = NULL) +
    cowplot::theme_half_open() +
    theme(
      legend.position = "bottom",
      legend.text = element_text(size = 10),
      axis.text = element_text(size = 10),
      axis.title = element_text(size = 10),
      strip.text = element_text(size = 10),
      strip.background = element_blank(),
      legend.text.align = 0,
      axis.line.y = element_blank(),
      axis.ticks.y = element_line(colour = "black"),
      axis.line.x = element_blank(),
      axis.ticks.x = element_line(colour = "black"),
      legend.title = element_text(size = 10),
      aspect.ratio = 1
    ) +
    cowplot::panel_border(color = "black", size = 1)
}

错误排查点

错误提示unexpected '/'指向+/,说明ggplot链式操作的某个+后存在语法错误,核心问题在LaTeX公式的字符串转义:

  • R字符串中反斜杠\是转义字符,因此LaTeX命令里的\text、\alpha等需要写成\\text、\\alpha,否则R会将单个\解析为转义,导致字符串结构混乱,进而引发+后的语法错误。
  • 修正函数中所有包含LaTeX的字符串:比如"$\text{CJS}_{\text{dist}}$"改为"$\\text{CJS}_{\\text{dist}}$","Power-scaling $\alpha$"改为"Power-scaling $\\alpha$","$\pm2$ MCSE"改为"$\\pm2$ MCSE"。

二、TikZ LaTeX配置不生效问题

配置代码

options(
  tizkDocumentDelcaration = "\documentclass[10pt]{article}",
  tikzLatexPackages = c(
    getOption("tikzLatexPackages"),
    "\usepackage{tikz}",
    "\usepackage{amsmath}",
    "\usepackage{amsfonts}",
    "\usepackage{bm}",
    "\usepackage{lmodern}",
    "\usepackage{multirow}",
    "\usepackage[T1]{fontenc}",
    "\usepackage{textcomp}",
    "\usepackage{microtype}",
    "\DeclareMathOperator{\normal}{normal}",
    "\DeclareMathOperator{\Bernoulli}{Bernoulli}",
    "\DeclareMathOperator{\gammadist}{gamma}",
    "\DeclareMathOperator{\expdist}{exponential}",
    "\DeclareMathOperator{\betadist}{beta}",
    "\DeclareMathOperator{\Cauchy}{Cauchy}"
  )
)

问题排查

配置存在两处关键错误导致失效:

  1. 拼写错误:tizkDocumentDelcaration应为tikzDocumentDeclaration(tizk拼写错误,Delcaration应为Declaration);
  2. 字符串转义错误:所有LaTeX命令前的\需要改为\\,比如"\documentclass[10pt]{article}"改为"\\documentclass[10pt]{article}";
  3. 确保已安装并加载tikzDevice包,否则配置选项无法生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:40:26