Подтвердить что ты не робот

Могу ли я использовать встроенное выражение knitr в названии латексного документа?

Я хочу использовать встроенный вызов Knitr/Sweave (\Sexpr{}) в заголовке документа LaTeX после команды \begin {document}, но перед командой \maketitle. Встроенный R-код будет извлекать одну или две части информации из R-кадра данных, созданного на ранней стадии R script Я внедряю в LaTeX.

У меня есть пара блоков Knitr, которые создают data.frame, из которого я получаю информацию, которую я хочу поместить в Title. Я попытался разместить эти фрагменты между 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)

и я также попытался помещать куски Knitr в преамбулу кода LaTeX до \begin {document}.

Но в Knitr, кажется, игнорируется код (кроме инициализации), который помещается впереди вызова \maketitle в LaTeX, поэтому встроенные фрагменты включали заголовок, похожий на ошибки в Latex, и он останавливает вывод.

Я не могу найти какую-либо информацию в документации Knitr, включая встроенный код в заголовке документа LaTeX.

Любые идеи?


ОК: нашел решение благодаря подсказке от @ben-bolker ниже. Бен использует форматирование фрагментов R перед выходом в файл RNW (в двухэтапном процессе Ниттера: латекс → rnw → pdf). Но я собираю файл LaTeX в PDF в один шаг, не переходя в RNW файл из TeXShop (на Mac OSX). Я обнаружил, что я мог бы привести пример Бена, используя разделители RNW (< < → =) и одношаговую компиляцию. Но я не мог смешивать обычные Chunk-delimiters LaTeX (%% begin.rcode и %% end.rcode) и привязку строки в строке RNW (\ Sexpr {}). Последний не работал, как бы я ни занимался этим. В конце концов я обнаружил, что правильный линейный крючок для LaTeX - \\rinline {}.

В документации Knitr не совсем ясно, что это необходимый формат для LaTeX, и я нашел его в конечном итоге главным образом благодаря примеру Бена. Лучший, Питер


Обновить 2..., а затем RTFM (или "обманщик" в этом случае): http://cran.r-project.org/web/packages/knitr/vignettes/knitr-refcard.pdf

4b9b3361

Ответ 1

Хм. Для меня работает следующий файл:

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

Some stuff
\end{document}

с версией knitr 0.8 на Ubuntu 10.04, через knit2pdf("knitr_title.Rnw")... enter image description here