我需要创建包含大量 R 代码的文档,这些代码不是通过 knitr 发送到 R。理想情况下,它应该像 Stackexchange 上的代码格式一样工作。它应该在 ttfamily 中设置,并且不会跨行。我不确定灰色背景是否必要。我宁愿不使用\begin{environment}
and \end{environment}
,因为当代码只有几个词时这很麻烦。
最棘手的部分似乎是某些特殊字符应该失去其特殊性。具体来说,R 代码中常用的“$”和“_”不应该被转义。
类似问题有解决方案这里,但这采用了 \begin{}\end{} 方法,因此在这里不起作用。
类似的东西\code{my code}
会更好。我有一个宏的开头:
\newcommand{\nbcode}[1]{\mbox{\texttt{#1}}}
如果这个问题的解决方案是一个我从未听说过的包那就太好了。
答案1
LaTeX 提供的最简单的方法是\verb
宏和verbatim
环境。例如,您可以编写\verb|print($hello)|
并获取print($hello)
。请注意, 的参数不是由常规括号分隔,而是\verb
由您紧跟在其后的字符分隔。这样,您只需选择与内容不冲突的分隔符即可避免转义分隔符。
您还应该看看这类东西的标准包:
verbatim
fancyvrb
listings
minted
这些提供了许多不同的方式来定制代码的外观,通过提供框,颜色,突出显示等。