Встраивание R-графиков в латекс с помощью орг-режима
Я только начинаю с 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 ответ
Несколько вещей: 1) Режим организации в последнее время сильно изменился, особенно в отношении блоков 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.