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

Вложение R-графиков в латекс через org-mode

Я только начинаю с org-mode, и до сих пор мне это нравится. Я видел, что можно вставить R в файл org-mode и выполнить его при экспорте. Но у меня есть некоторые проблемы с получением 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.

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

4b9b3361

Ответ 1

Немного вещей: 1) Режим Org сильно изменился в последнее время, особенно w.r.t. Блоки Babel и src - получите последнюю версию из своего репозитория git (ознакомьтесь с часто задаваемыми вопросами, чтобы узнать, как это сделать). 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.