2016-02-25 18 views
1

我有一個表中的組織模式definied:組織模式:添加一個頭表編程

`#+RESULTS[4fc5d440d2954e8355d32d8004cab567f9918a64]: table 
| 7.4159 | 3.0522 | 5.9452 | 
| -1.0548 | 12.574 | -6.5001 | 
| 7.4159 | 3.0522 | 5.9452 | 
| 5.1884 | 4.9813 | 4.9813 | 
` 

,我想產生如下表:

#+caption: Caption of my table | | group 1 | group 2 | group 3 | |--------+---------+---------+---------| | plan 1 | 7.416 | 3.052 | 5.945 | | plan 2 | -1.055 | 12.574 | -6.5 | | plan 3 | 7.416 | 3.052 | 5.945 | | plan 4 | 5.1884 | 4.9813 | 4.9813 |

如何我可以做到嗎?以下是我試過(以R):

` 
#+begin_src R :colnames yes :var table=table :session 
data.frame(table) 
#+end_src 
` 

但是,當然,這是行不通的,這裏是我得到:

`#RESULTS: 
| X7.4159 | X3.0522 | X5.9452 | 
|---------+---------+---------| 
| -1.0548 | 12.574 | -6.5001 | 
| 7.4159 | 3.0522 | 5.9452 | 
| 5.1884 | 4.9813 | 4.9813 |` 

有什麼建議?

謝謝!

回答

2

這變得非常接近。首先定義該功能:

#+BEGIN_SRC emacs-lisp 
(defun add-caption (caption) 
    (concat (format "org\n#+caption: %s" caption))) 
#+END_SRC 

接下來,使用這種src塊。我使用Python,但它也應該在R中工作,你只需要:wrap。我通過var傳遞了數據,如果您在塊中生成數據,則不需要它。

#+BEGIN_SRC python :results value :var data=data :wrap (add-caption "Some really long, uninteresting, caption about data that is in this table.") 
data.insert(0, ["", "group 1", "group 2", "group 3"]) 
data.insert(1, None) 
return data 
#+END_SRC 

此輸出

#+BEGIN_org 
#+caption: Some really long, uninteresting, caption about data that is in this table. 
|  | group 1 | group 2 | group 3 | 
|--------+---------+---------+---------| 
| plan 1 | 7.416 | 3.052 | 5.945 | 
| plan 2 | -1.055 | 12.574 | -6.5 | 
| plan 3 | 7.416 | 3.052 | 5.945 | 
| plan 4 | 5.1884 | 4.9813 | 4.9813 | 
#+END_org 

而且出口也沒關係,我認爲。

+0

謝謝,這就是我一直在尋找的! – maroxe