Когда я использую 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