Встраивание 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.

Другие вопросы по тегам