使用Beamer类

时间:2017-07-23 16:02:17

标签: r latex knitr r-markdown beamer

我有一个问题,即在输出类型为“beamer presentation”的Rmd文档中居中绘图。当输出类型设置为'pdf_document'时,相同的代码工作正常。渲染我的文档时,我收到错误:

! Missing $ inserted.
<inserted text> 
                $
l.74 \end{frame}

pandoc: Error producing PDF
Error: pandoc document conversion failed with error 43

奇怪的是,我在使用命令render("slideshow.Rmd",output_file = "Demo slideshow.pdf")编织时,以及在Rstudio GUI中按“编织”时都会出现此错误,但在后者中我会看到一个pdf,其中无论如何,情节是集中的。

  

编辑:事后看来,这可能不是真的。通过控制台语句进行渲染时,输出将在控制台的“控制台”选项卡中打印。通过“Knit”按钮进行渲染时,输出将打印到控制台的“R markdown”选项卡,完成后会自动返回“控制台”选项卡,同时仍显示上一个渲染语句的错误。   enter image description here

我试过了

```{r, results = 'asis', echo = FALSE, fig.width=5, warning=FALSE, message=FALSE}

在这种情况下,错误不会出现,但绘图是左对齐的。在\begin{center}\end{center}中包含此代码块会再次给我留下相同的错误。

感谢任何帮助,提前感谢任何建议。

slideshow.Rmd

---
title: Oh man
subtitle: this issue is
author: really bugging me
fontsize: 10pt
output: beamer_presentation

---

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

df=data.frame(x=c(1,2,3),y=c(1,2,3))

```


### This is a title
And this is some text 

```{r, results = 'asis', echo = FALSE, out.width='80%', warning=FALSE, message=FALSE, fig.align='center'}

plot(df$x,df$y)

```

1 个答案:

答案 0 :(得分:0)

为了将来参考,如果其他人可能会遇到这个问题,我想我已经解决了。我像这样设置&#39; keep_tex = TRUE:

output:
  beamer_presentation:
    keep_tex: true

我调查了第74行周围的tex文件(因为错误l.74 \end{frame}中提到了这一行,之前有两行,是:

\begin{center}\includegraphics[width=0.8\linewidth]
  {--path--/Demo slideshow_files/figure-beamer/unnamed-chunk-1-1} \end{center}

其中--path--在这里缩写。正如我在结果文件名中指定的那样,Demo和幻灯片之间有一个空格。这似乎导致了错误。

render("slideshow.Rmd",output_file = "Demo_slideshow.pdf")

工作正常。