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

无法在RMarkdown中仅打印R代码,LaTeX编译报错求助

问题解决:RMarkdown生成PDF时LaTeX编译失败

错误根源分析

你的问题由三个细节问题导致:

  1. LaTeX模板hyperref参数语法错误:urlcolor = red后缺少逗号,导致参数解析失败;
  2. R代码块冗余参数:eval=FALSE时添加results='asis'毫无意义,反而可能干扰渲染逻辑;
  3. Listings环境未配置Unicode支持:即使定义了newunicodechar,listings默认不处理Unicode字符,会引发编译错误。

分步修复方案

1. 修正LaTeX模板的hyperref参数

打开MyBookDownTemplate.tex,修改hyperref配置部分,给urlcolor = red末尾加上逗号:

\usepackage[colorlinks = true,
linkcolor = red,
urlcolor = red,
allcolors = blue]{hyperref}

2. 移除R代码块的冗余参数

将R代码块开头改为:

wilcox.check <- function(V, n, sigma = NULL,
                         alternative = "two.sided",
                         alpha = 0.05,
                         verbose = FALSE) {
  # 函数内容保持不变...
}

3. 给Listings添加Unicode支持

在MyBookDownTemplate.tex的\lstset中添加Unicode处理选项,同时指定语言为R(可优化代码高亮效果):

\lstset{
  language=R,
  breaklines=true,
  keywordstyle=\color{blue},
  commentstyle=\color{darkgreen},
  backgroundcolor=\color{lightgray!15},
  frame=single,
  framerule=0pt,
  framesep=10pt,
  extendedchars=true,
  inputencoding=utf8
}

验证修复

完成以上修改后,重新编译RMarkdown文档,即可正常生成包含未执行R代码的PDF文件。

内容的提问来源于stack exchange,提问作者Ginko-Mitten

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 15:54:50