2012-01-23 12 views
12

Ho appena iniziato con org-mode e finora mi piace. Ho visto che è possibile inserire R nel file in modalità org ed eseguirlo all'esportazione. Ma ho qualche problema a ottenere org-babel (l'incorporamento del codice) per generare la trama a cui sono interessato e incorporare l'immagine risultante anziché il codice o l'output dall'esecuzione del codice.Incorporamento di grafici R in lattice tramite org-mode

Finora ho ottenuto questo al lavoro:

#+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} 

ma non è bello come potrebbe essere. Prima mi viene sempre chiesto se voglio eseguire il codice R e in secondo luogo vorrei eliminare l'istruzione \includegraphics.

È possibile?

+1

Si potrebbe provare a utilizzare 'tikzDevice' sul lato R e' \ usepackage {tikz} 'sul lato LaTeX ... che eliminerebbe la necessità di' \ includegraphics' almeno. La grafica di OTOH TikZ può essere molto lenta, specialmente se la trama ha molti punti su di essa. – zwol

risposta

14

Poche cose: 1) La modalità organizzazione è cambiata molto di recente, in particolare per il servizio clienti. Blocchi Babel e src - scarica l'ultima versione dal loro repository git (controlla le FAQ per i dettagli su come farlo). 2) Non usiamo più la linea #+BABEL, quelle ora sono fatte con le linee #+PROPERTY, 3) L'inclusione della grafica è fatta automaticamente. Una persona non dovrebbe necessariamente fare uno \includegraphics{} (a meno che non si voglia modificare il comportamento predefinito, ad esempio, per il posizionamento dei sottotitoli).

Per esempio, ecco cosa una semplice versione del vostro esempio sarà simile sotto una versione recente di modalità 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 

Ho appena provato sulla mia macchina e funziona come un fascino. Un'ultima cosa: ti raccomando caldamente di iscriverti alla mailing list della modalità Org, perché è il luogo in cui vedrai le discussioni in corso su BABEL, PROPERTY e un sacco di altre cose.

A proposito, la linea #+PROPERTY: results output non è critica, è proprio quello che faccio di solito perché è più simile a quello che mi aspetto da Sweave.

+0

Sto leggendo di nuovo la tua domanda e sembra che tu non voglia che il 'hist (rnorm (100))' sia riecheggiato. Invece di ': export both' just do': export results'. –

+1

Inoltre, sì, il "chiedere di valutare il codice" è fastidioso. Discutono di ciò nel manuale Org, ma la risposta breve è fare 'C-h v org-confirm-babel-evaluation'. Vuoi impostarlo su 'nil'. –

+0

Eri certo giusto. Ho seguito la descrizione su http://orgmode.org/worg/org-faq.html#sec-4-2 per entrare nel vivo, e ora funziona esattamente come mi aspettavo. – cdecker

Problemi correlati