Когда я использую Sweave
с R
, я могу избежать явного наложения файлов сюжетов, просто включив команды построения в фрагмент кода, например <<fig=TRUE>> ... @
. Драйвер Sweave
автоматически генерирует нумерованные графические файлы, такие как fig1.pdf
, fig2.pdf
и т.д.
Однако в org-mode
мне кажется, что мне нужно явно указать файл фигур с помощью :file [...].pdf
в заголовке, например.
#+attr_latex: width=8cm placement=[htbp]
#+begin_src R :results output graphics :exports results :file fig.pdf
require(ggplot2)
a <- rnorm(100)
b <- 2*a + rnorm(100)
d <- data.frame(a,b)
ggplot(d,aes(a,b)) + geom_point()
#+end_src
Есть ли способ избежать явного указания файла сюжета и создать механизм экспорта латекса org-mode для этих имен файлов?
Обновление: Я включаю в себя решение, которое Дж. Кернс указал здесь для удобства: все, что вам нужно сделать, это включить функцию emacs- lisp, создающую temp файл заголовок, например :file (org-babel-temp-file "./figure-" ".pdf")
. Это создает temp figure-file в текущем каталоге (из-за ./
). Если вам нужен файл temp figure в глобальном каталоге temp (определяемый переменной org-babel-temporary-directory
), тогда просто скажите ".figure"
:
#+attr_latex: width=8cm placement=[htbp]
#+begin_src R :results output graphics :exports results :file (org-babel-temp-file "./figure-" ".pdf")
require(ggplot2)
a <- rnorm(100)
b <- 2*a + rnorm(100)
d <- data.frame(a,b)
ggplot(d,aes(a,b)) + geom_point()
#+end_src