r - 无法理解 "Rstudio pdf knit fails with ' 环境阴影未定义'错误”

标签 r templates latex r-markdown

我正在使用 articles 包创建报告,在编写包含代码块的文章 IEEE 论文时出现以下错误:

output file: rticles_IEEE.knit.md ! LaTeX Error: Environment Shaded undefined.

我试图了解如何解决这个问题并尝试了这个 question/answer 。但我不知道在哪里将修复程序放入通过 knitting 创建的文件中(例如 mydoc.tex、IEEE_trans.cls)。

这是我的最小示例:

---
title: Cool IEEE ArticleS
author:
  - name: Ray

abstract: |
   The abstract of my first IEEE paper with rmarkdown
output: rticles::ieee_article
---
Introduction
=============
This is the introduction. And here comes a cool code chunk.
```{r}
x <- seq(-3,3,0.1)
y <- x^3
plot(x,y)
```
<小时/>

注释:

  • 有人评论说这可能是 another question 的重复项。该线程中给出的答案的问题在于它没有解释在哪里进行更改。
  • 我无法理解指向 Yihui's fix 的指针。 上述文件以及 knitted .tex 不带有\makeatother 或\makeatletter 形式的标签。

最佳答案

总体问题是,在文章 IEEE 论文中显示代码块会引发一个错误,指向未定义的着色环境

older post works中给出的解决方案,如果将以下内容添加到底层 LaTeX template.tex 中。我的问题是我尝试编辑工作目录中的 tex 或 cls 模板。当我偶然发现以下(相关)stackoverflow question 时,灵光乍现的时刻到来了。 .

对于 articles 包,template.tex 不位于您处理文章 R Markdown 文件的目录中。相反,它们存储在包库文件夹中(即 .libPaths() 使用的文件夹)。该文件可以在 rmarkdown/templates/ 中找到,并搜索您正在使用的 ricles 文件夹(在我的例子中:ieee_article)。在 resources 子文件夹中,您将找到目标 template.tex。复制它以用于恢复目的。

打开 template.tex 并在 LATEX 命令行 \begin{document} 之前的任意位置插入以下内容(注意:又名 template.tex 文件的序言)。例如,我将其插入到\begin{document} 行之前:

% code to insert to fix environment Shaded undefined issue with
% showing code chunks in rticle IEEE template.
$if(highlighting-macros)$
$highlighting-macros$
$endif$

\begin{document}

保存更改并返回 R/RStudio 和您的 IEEE 论文 R Markdown 文件,然后点击编织按钮。现在将显示 R 代码块(如果您愿意)。

我还没有彻底测试它,但这个配方应该适用于所有缺少用于显示 r 代码块的环境定义的文章模板(即 environment{Shaded})

关于r - 无法理解 "Rstudio pdf knit fails with ' 环境阴影未定义'错误”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51594999/

相关文章:

r - 在 R 中添加父行作为列标识符

c++ - C++中涉及多继承和复合类的解决设计

javascript - Latex 插件与 CK 编辑器创建数学公式

r - xtable大表每一页的标题?

r - 如何在R中绘制两个具有相同X轴的图表?

R Shiny observeEvent继续触发

r - 使用 2 个变量将数据帧从宽转换为长

c++ - 使用 Lambda 进行模板类型推导

c++ - 为什么我的可变参数模板实例化不起作用?

c# - 寻找 .NET 数学方程式编辑器和求解器控件