gpt4 book ai didi

r - 漂亮的波形符〜来自带有knitr的R block ?

转载 作者:行者123 更新时间:2023-12-02 08:52:13 25 4
gpt4 key购买 nike

我在代码块中有一个线性模型,我想在 LaTeX 中很好地显示它。模型调用采用带有波形符的标准形式 ~ 在 LaTeX 中排版非常糟糕。

\documentclass{article}
\begin{document}
<<>>=
lm(Sepal.Width ~ Sepal.Length, data = iris)
@
\end{document}

代码已编织knitr::knit(mwe.Rnw)然后运行 ​​PDFLaTeX。

在 LaTeX 中制作漂亮的波形符非常烦人,而使用 knitr 来制作它们似乎并不完全容易。检查 knit 生成的 .tex 文件显示代码被放入三个环境中,其中 \begin{alltt} ... \end{alltt}是有趣的。但包alltt不提供任何针对特殊字符的特殊排版的快速修复。

最佳答案

该解决方案的灵感来自 yihui's example on hooks , this post还有我的好友 RJ。

\documentclass{article}
\usepackage{xspace}
\newcommand{\mytilde}{\lower.80ex\hbox{\char`\~}\xspace}
\begin{document}
<<setup, include=FALSE>>=
library(knitr)
hook_source = knit_hooks$get('source')
knit_hooks$set(source = function(x, options) {
txt = hook_source(x, options)
# extend the default source hook
gsub('~', '\\\\mytilde', txt)
})
@
<<results = "hide">>=
lm(Sepal.Width ~ Sepal.Length, data = iris)
@
\end{document}

它还定义了通用命令\mytilde。例如,R 代码的内联示例:“采用\texttt{response~\mytilde~predictors} ... 形式”。

xspace并不是绝对必要的(只要删除new命令中的xspace),但可以使命令更好用。

关于r - 漂亮的波形符〜来自带有knitr的R block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14710477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com