【发布时间】:2011-12-22 19:36:36
【问题描述】:
假设我有一个由 org-mode 创建的表
| thing | value |
| t1 | 1 |
| t2 | 3 |
| t3 | 21 |
|-------+-------|
| total | 25 |
在 org 模式文档中是否有办法从表格中的总值单元格中获取值? (除了手动复制值)
【问题讨论】:
假设我有一个由 org-mode 创建的表
| thing | value |
| t1 | 1 |
| t2 | 3 |
| t3 | 21 |
|-------+-------|
| total | 25 |
在 org 模式文档中是否有办法从表格中的总值单元格中获取值? (除了手动复制值)
【问题讨论】:
以下帖子解决了您同样的问题:http://permalink.gmane.org/gmane.emacs.orgmode/28056
你应该先命名你的表,然后通过内联的 src 调用来引用它:
#+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}
解释:你调用了一个非常简单的 elisp 内联源代码块,它只打印变量 d,它被分配给表中的一个元素。
如果你想要最后行的第二列,你可以试试:
The result I wanted is src_emacs-lisp[:var tbl=test-table]{(nth 1 (nth (- (length tbl) 1) tbl))}
1 获得第二项,(- (length tbl) 1) 获得最后一行(请注意,最后一个示例不是纯粹的 LISP,只是有效)。
这里我们将完整的表格放入elisp(作为列表的列表),并通过列表操作提取所需的项目。
请注意,实际结果将在导出期间被替换。您不会在 org-mode 文本本身中神奇地看到它。
【讨论】:
'25'。知道如何摆脱引号吗?
:results raw 作为选项(连同:var 指令)以去掉引号。