Knitr:在beamer overlay中显示tilde~

时间:2014-08-05 17:30:28

标签: latex knitr beamer

这可能是一个边缘情况,但我正在尝试使用knitr创建一个beamer演示文稿,我想使用不同的公式作为函数的参数来显示代码块。我发现使用叠加层时,代码块中的波形符号会消失。有没有办法让它们显示?

这是一个可重复性最小的例子:

\documentclass{beamer}
\begin{document}


\begin{frame}[fragile]
\frametitle{Slide with overlay}
\only<1>{
<<notilde, eval = FALSE>>=
myfunction(data, formula = ~ x)
@
}
\only<2>{
<<notilde2, eval = FALSE>>=
myfunction(data, formula = y ~ x)
@
}
\end{frame}

\begin{frame}[fragile]
\frametitle{Slide without overlay}
<<tilde, eval = FALSE>>=
myfunction(data, formula = ~ x)
@
\end{frame}

\end{document}

演示文稿的第一帧如下所示:

slide with overlay

感谢任何帮助。

修改

没有叠加的幻灯片如下所示:

slide without overlay

为了澄清,<<...>>@的语法特定于R包编织者。这些符号之间的任何内容都被knitr解释为R代码块并转换为latex以包含语法高亮。

1 个答案:

答案 0 :(得分:1)

你可以用数学模式$ \ sim $

替换〜

如果不是在逐字的特殊环境中,乳胶中的波浪号是受保护的空间,即没有发生断线的空间。

从您的问题中不清楚:它是否适合您的第二帧,没有叠加? 我不知道你的部分语法:是&lt;&lt; ...&gt;&gt; = ... @等同于逐字或代码环境?它看起来有点像,因为你的文本是用固定的空格字体设置的,并且语法很高。