首页 > 解决方案 > 编织 R-Markdown 文档会导致“!未定义的控制序列”。错误

问题描述

我正在创建一个 R Markdown 文档,并在尝试打印出数学公式时不断出错。我认为错误在标题中的某个地方,但我不能完全确定。这是该文档的简化版本:

---
output: 
  pdf_document:
    keep_tex: yes
    latex_engine: xelatex
header-includes: |
  \usepackage{nath}
  \usepackage{amsmath}
title: "Test Report"
toc: true
number_sections: true
graphics: yes
toc_depth: 2
df_print: kable
fontsize: 13pt
editor_options: 
  chunk_output_type: console
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

## R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.

When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

```{r cars}
summary(cars)
```

**`r 5 * 20`** entries in the dataset; 


Testing mathematical symbols,  $\varepsilon _{u,i}$.  
The formula used for this is:
$$ Y_{u,i} = \mu  + \varepsilon _{u,i} $$
Where $\Y_{u,i}$ is the predicted rating per user, per movie and $\mu$ is the "true" rating for all movies. Mu-hat -> $\hat{mu}$ .

## Including Plots

You can also embed plots, for example:

```{r pressure, echo=FALSE}
plot(pressure)
```

Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.

这是错误消息:

output file: final_testing.knit.md

! Undefined control sequence.
\mathop ...\o@mathop {#1}} \else \def \mathop@arg 
                                                  {#1} \def \afterparse@ {\m...
l.112 \begin{document}

Error: LaTeX failed to compile final_testing.tex. See https://yihui.org/tinytex/r/#debugging for debugging tips. See final_testing.log for more info.
Execution halted

任何使这种情况发生的输入都非常感谢。TIA

标签: rr-markdownxelatexpdfdocument

解决方案


我做了以下事情:

  • 注释掉了latex引擎(可能是让Rmarkdown自己做选择)
  • 删除|header-includes:
  • -之前插入\usepackage{}
  • 注释掉包nath,因为它似乎没有加载
  • 改变fontsize: 12pt,因为没有13pt
  • 删除公式中的空格和几个反斜杠

现在对我有用,对你也有希望吗?

---
output: 
  pdf_document:
    keep_tex: yes
    # latex_engine: xelatex
header-includes: 
# - \usepackage{nath}
- \usepackage{amsmath}
title: "Test Report"
toc: true
number_sections: true
graphics: yes
toc_depth: 2
df_print: kable
fontsize: 12pt
editor_options: 
  chunk_output_type: console
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

## R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.

When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

```{r cars}
summary(cars)
```

**`r 5 * 20`** entries in the dataset;


Testing mathematical symbols,  $\varepsilon_{u,i}$.  
The formula used for this is:
$$Y_{u,i} = \mu  + \varepsilon_{u,i}$$
Where $Y_{u,i}$ is the predicted rating per user, per movie and $\mu$ is the "true" rating for all movies. Mu-hat -> $\hat{mu}$.

## Including Plots

You can also embed plots, for example:

```{r pressure, echo=FALSE}
plot(pressure)
```

Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.

在此处输入图像描述


推荐阅读