Knitr:在beamer叠加中显示波浪符~

5

这可能是一个边缘案例,但我正在尝试使用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}

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

带有叠加层的幻灯片

非常感谢您的帮助。
编辑如下:
没有叠加层的幻灯片看起来像这样:

没有叠加层的幻灯片

为了澄清,符号“<<...>>”和“@”的语法是特定于R包knitr的。这些符号之间的任何内容都会被解释为R代码块,并转换为LaTeX以包含语法突出显示。
1个回答

1

你可以用数学模式的 $\sim$ 来替换 ~

除了像 verbatim 这样的特殊环境之外,LaTeX 中的波浪线是受保护的空格,即不会发生换行的空格。

从你的问题中无法清楚地得知:第二个框架是否正常工作,没有覆盖层?我不知道你的语法的一部分:<< ... >>= ... @ 是否等同于verbatim或code环境?看起来有点像,因为你的文本设置为固定空间字体并进行了语法高亮。


非常抱歉没有早些回复您。我已在我的编辑中回答了您的问题。不幸的是,使用$\sim$并不能适用于这种特定情况。 - ZNK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接