gpt4 book ai didi

r - 我可以在 latex 文档的标题中使用 knitr 内联表达式吗?

转载 作者:行者123 更新时间:2023-12-04 02:21:29 24 4
gpt4 key购买 nike

我想在\begin{document} 命令之后但\maketitle 命令之前,在 LaTeX 文档的标题中使用 Knitr/Sweave 内联调用( \Sexpr{} )。内联 R 代码将从我嵌入 LaTeX 的 R 脚本早期创建的 R 数据框中提取一两条信息。

我有几个 Knitr block ,它们创建了一个 data.frame,从中我获得了我想要放入标题中的信息。我尝试将这些 block 放置在 LaTeX 的\begin{document} 调用和\title 代码之间,如下所示:

\documentclass
[LaTex Preamble]
\begin{document}
[%% Knitr chunks that initialize an R data-frame]
\title \Sexpr{--a snippet of R code that extracts an element from the data-frame --}
\maketitle
... (rest of the LaTeX document)

我还尝试在\begin{document} 语句之前将 Knitr block 放在 LaTeX 代码的序言中。

但是在 Knitr 中似乎忽略了放置在 LaTeX 中的\maketitle 调用之前的代码(除了初始化之外),因此包含标题的内联代码段看起来像 Latex 的错误,它会停止输出。

我在 Knitr 文档中找不到关于在 LaTeX 文档的标题中包含内联代码的任何信息。

有任何想法吗?

好的:感谢下面@ben-bolker 的提示,找到了解决方案。 Ben 在输出到 RNW 文件之前使用 R block 的格式(在两步 Knitr 过程中:latex -> rnw -> pdf)。但是我一步将 LaTeX 文件编译为 PDF,而无需从 TeXShop 内部(在 Mac OSX 上)转到 RNW 文件。我发现我可以使用 RNW 分隔符 (<<>>=) 和一步编译来让 Ben 的示例工作。但我不能混合使用通常的 LaTeX block 分隔符(%%begin.rcode 和 %% end.rcode)和 RNW 内联语句 Hook (\Sexpr{})。无论我如何摆弄,后者都不起作用。最终我发现 LaTeX 的正确内联钩子(Hook)是 \\rinline{} .

在 Knitr 文档中不是很清楚这是 LaTeX 所需的格式,我最终发现它主要归功于 Ben 的示例。最好的,彼得

更新 2 ...然后是 RTFM(或本例中的“备忘单”): http://cran.r-project.org/web/packages/knitr/vignettes/knitr-refcard.pdf

最佳答案

唔。以下文件对我有用:

\documentclass{article}
<<echo=FALSE>>=
x <- 5
@
\title{The number is \Sexpr{x^2}}
\begin{document}
\maketitle

Some stuff
\end{document}

在 Ubuntu 10.04 上使用 knitr 版本 0.8,通过 knit2pdf("knitr_title.Rnw") ...
enter image description here

关于r - 我可以在 latex 文档的标题中使用 knitr 内联表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12746684/

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