Sweave / r - пропустить начальные `>` в кусках кода с `echo = true`? - PullRequest
3 голосов
/ 13 марта 2012

Я очень новичок, и я чувствую, что это будет простой вопрос, но я изо всех сил пытаюсь решить его самостоятельно (поиск в Google omit ">" Sweave на самом деле не работает, потому что я не могу найти ">"! ).

Я включаю в свой документ короткий сценарий:

<<echo=true, results=hide, eval=false>>=
# This is a simple script.
print('Hello World!\n')
@

Я в основном хочу, чтобы сценарий дословно отображался в документе, независимо от того, какая среда "кода" у Стива. Я не хочу оценивать его - он просто демонстрирует, как можно написать скрипт, использующий функции в пакете, для которого предназначен этот документ.

Однако в выходном документе это выдает следующее:

> # This is a simple script
> print('Hello World!\n')

Есть ли способ опустить >? Это правильный способ поместить скрипт в документ Sweave, или есть какая-то другая среда, которая предназначена для использования? (Я могу использовать \begin{verbatim}, но мне показалось, что я должен использовать команды Sweave, если это возможно для фрагментов кода).

Я просто хочу, чтобы вывод был

# This is a simple script.
print('Hello World!\n')

Ответы [ 2 ]

7 голосов
/ 13 марта 2012

Вы можете попробовать изменить параметры prompt и continue, которые определяют символы > и +.

options(continue=" ", prompt=" ")
6 голосов
/ 13 марта 2012

Мне нравится первая идея Винсента, использующая knitr.

install.packages("knitr")
library(knitr)

Вот пример Rnw.

\documentclass[a4paper]{article}
%\usepackage{Sweave}

\title{Test case}
\author{romunov}

\begin{document}

\maketitle

<<eval = FALSE, echo = TRUE>>=
# This is a simple script.
print('Hello World!\n')
@


\end{document}

А затем

knit("coffee.Rnw")

Конвертируйте ваш файл .tex в нечто симпатичное, и вы получите

enter image description here

...