在 emacs org-mode 中获取表外的值

发布于 2024-12-22 22:35:40 字数 220 浏览 0 评论 0原文

假设我有一个由 org-mode 创建的表,

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

在 org-mode 文档中是否有一种方法可以从表中的总值单元格中获取值? (除了手动复制该值)

Suppose I have a table created by org-mode

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

Is there a way inside org mode document to get the value from the total value cell in the table? (apart from manually copy the value)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

诗化ㄋ丶相逢 2024-12-29 22:35:40

以下帖子解决了您同样的问题: 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(作为列表的列表),并通过列表操作提取所需的项目。

请注意,导出期间将替换实际结果。您不会在组织模式文本本身中神奇地看到它。

The following post addresses your same question: http://permalink.gmane.org/gmane.emacs.orgmode/28056

You should name your table first, then refer to it via an inline src call:

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

Explanation: you call a very trivial elisp inline source block that only prints the variable d, which was assigned to an element in the table.

If you want the second column of the last row, you can try:

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

Where the 1 gets the 2nd item, and the (- (length tbl) 1) gets the last row (note that this last example is not purist LISP, just works).

Here we get the complete table into elisp (as a list of lists), and extract the desired item through list manipulation.

Note that the actual result will be substituted during export. You won't see it magically in the org-mode text itself.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文