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

部署到RConnect的Shiny App中.Rmd引入非仓库LaTeX包digsig的问题

解决RConnect部署Shiny应用时digsig.sty无法加载的问题

方法1:本地TeXMF目录加载(最可靠)

  • 在应用根目录创建texmf/tex/latex/digsig层级目录,将digsig.sty放入该目录(这是LaTeX默认的本地包搜索路径结构)
  • 在app.R启动阶段添加以下代码,让TinyTeX识别这个本地目录:
    local_texmf <- file.path(getwd(), "texmf")
    tinytex::tlmgr(c("option", "sys TEXMFLOCAL", local_texmf))
    tinytex::tlmgr("mktexlsr")
    
  • 编译Rmd时LaTeX会自动扫描该目录,无需修改Rmd内的包引用

方法2:Rmd中直接指定sty路径

  • 将digsig.sty放在应用内的latex/digsig/目录下
  • 在Rmd文件的YAML头部之后、正文之前,添加LaTeX命令手动导入:
    \usepackage{../latex/digsig/digsig}
    
    注意路径需对应sty文件相对于Rmd的位置,若Rmd在子目录,需调整路径层级

方法3:修正tlmgr本地安装命令

  • 改用绝对路径指定sty文件,避免相对路径在部署环境中失效:
    sty_file <- file.path(getwd(), "latex/digsig/digsig.sty")
    tinytex::tlmgr(c("install", "--file", sty_file, "digsig"))
    tinytex::tlmgr("mktexlsr")
    
  • 安装完成后必须执行mktexlsr更新TeX数据库,否则LaTeX无法识别新安装的包

排查路径问题

  • 部署前可在app.R中添加临时代码,确认sty文件是否上传到位:
    cat("Current working dir:", getwd(), "\n")
    cat("Files in app:\n", list.files(recursive = TRUE), "\n")
    
    部署后查看RConnect日志,确认digsig.sty存在于预期路径下

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:32:14