2011-12-22 79 views
7

假设我有通过组织模式得到一个值的表外Emacs的组织模式

| thing | value | 
| t1 | 1  | 
| t2 | 3  | 
| t3 | 21 | 
|-------+-------| 
| total | 25 | 

创建的表是否有组织模式文档内的一种方式来获得从总价值单元格的值表? (除了手动复制值)

回答

8

下后解决您的同一个问题:

#+TBLNAME: test-table 
| thing | value | 
|-------+-------| 
| t1 | 1  | 
| t2 | 3  | 
| t3 | 21 | 
|-------+-------| 
| total | 25 | 

The result I wanted is src_emacs-lisp[:var d=test-table[6,1]]{d} 

说明:http://permalink.gmane.org/gmane.emacs.orgmode/28056

你应该先命名表,然后通过在线src调用的是指它:你调用一个非常简单的elisp内联源代码块,它只打印变量d,它被分配给表中的一个元素。

如果你想最后行的第二列,你可以尝试:

The result I wanted is src_emacs-lisp[:var tbl=test-table]{(nth 1 (nth (- (length tbl) 1) tbl))} 

1得到第2项和(- (length tbl) 1)得到最后一行(注意,这最后一个例子是不纯粹LISP,只是工作)。

在这里,我们将完整的表格导入elisp(作为列表列表),并通过列表操作提取所需的项目。

请注意,实际结果将在导出过程中被替换。你不会在组织模式文本中神奇地看到它。

+0

将此导出到我的系统上的ASCII文件中,可以得到正确的结果,并带有恼人的引号:''25'。任何想法如何摆脱引号? – 2015-09-16 05:51:00

+1

将':results raw'作为一个选项(连同':var'指令)一起加入以除去引号。 – Juancho 2015-09-16 13:53:38