用\ $替换$; knitr chunk选项:echo = TRUE,results ='markup; $ = \\ $'

时间:2014-02-03 16:54:41

标签: r knitr pdflatex

我正在尝试使用knitr在Latex文档中打印R代码。

我有以下简单的代码:

  \begin{frame}{Plot Code}
  <<plotcode,eval=FALSE,echo=TRUE,results='markup;$=\\$'>>=

...来自随机抽取数据的简单lm ......

  yhat.fit <- yhat$fit[,"fit"]

......更简单的代码......

 \end{frame}

这将运行,但是,没有替换$符号。相反,我得到了数学模式 在幻灯片中适合[,“fit”](以及来自pdflatex编译的“缺少$ inserted”错误。

我宁愿没有数学模式;相反,我希望看到$符号,因为它是R代码的组成部分。

作为我的解决方法,我已在$生成的\$文件中将.tex替换为{{1}},但我希望有人可以解决我看似简单的问题。我认为我没有在选项中正确指定标记和字符结构,但我尝试了大量的变体而没有成功。

1 个答案:

答案 0 :(得分:3)

我不明白results='markup;$=\\$'的真正含义。 results option没有取得这样的价值;目前,它只接受markupasishidehold

我也看不出$如何成为投影师的问题。您可能忘记了fragile选项。一个最小的例子:

\documentclass{beamer}
\begin{document}
\title{A Minimal Demo of knitr}
\author{Yihui Xie}

\maketitle

% very important to use option [fragile] for frames containing code output!

\begin{frame}[fragile]

You can test if \textbf{knitr} works with this minimal demo. OK, let's
get started with some boring random numbers:

<<boring-chunk>>=
fit = lm(dist ~ speed, data = cars)
fit$coefficients
print(sessionInfo(), locale = FALSE)
@

\end{frame}

\end{document}

输出:

knitr with beamer