Встраивание R-графиков в латекс через орг-режим - PullRequest
12 голосов
/ 24 января 2012

Я только начинаю работать с org-mode и пока мне это нравится. Я видел, что можно вставить R в файл режима org и выполнить его при экспорте. Но у меня есть некоторые проблемы с получением org-babel (встраивание кода) для генерации интересующего меня графика и встраивания получающегося изображения вместо кода или вывода из выполнения кода.

Пока у меня это работает:

#+BABEL: :session *R* :results output graphics :exports both
#+begin_src R :file img.pdf :results output graphics :session *R*
hist(rnorm(100))
#+end_src

#\includegraphics{img.pdf}

Но это не так хорошо, как могло бы быть. Во-первых, он всегда подсказывает мне, хочу ли я выполнить код R, а во-вторых, я хотел бы удалить инструкцию \includegraphics.

Возможно ли это вообще?

1 Ответ

14 голосов
/ 24 января 2012

Несколько вещей: 1) В последнее время режим организации сильно изменился, особенно в w.r.t. Блоки Babel и src - получите последнюю версию из своего репозитория git (подробности смотрите в FAQ). 2) Мы больше не используем строку #+BABEL, теперь это делается с помощью строки #+PROPERTY, 3) Включение графики выполняется автоматически. Человеку вообще не нужно делать \includegraphics{} (если только вы не хотите настроить поведение по умолчанию, скажем, для размещения надписей).

Например, вот как будет выглядеть простая версия вашего примера в последней версии режима Org:

#+TITLE:    tester.org
#+PROPERTY: session *R*
#+PROPERTY: results output

* Headline here

Here is some text.

#+begin_src R :exports both :results graphics :file img.pdf
hist(rnorm(100))
#+end_src

Я только что проверил на своей машине, и она работает как шарм. И последнее: я настоятельно рекомендую вам подписаться на список рассылки в режиме Org, потому что это место, где вы увидите текущие дискуссии о BABEL, PROPERTY и целой куче других вещей.

Кстати, линия #+PROPERTY: results output не критична, это то, что я обычно делаю, потому что это больше похоже на то, что я ожидаю от Sweave.

...