首页 > 解决方案 > org 模式将 NAME 赋予时钟表以使用 perl 解析

问题描述

我尝试为时钟表命名:

#+BEGIN: clocktable :scope file :maxlevel 2
#+NAME: d1
#+CAPTION: Clock summary at [2020-04-21 mar. 14:31]
| Headline     |   Time |
|--------------+--------|
| *Total time* | *0:15* |
|--------------+--------|
| t1           |   0:05 |
| t2           |   0:10 |
#+END:


* t1
  CLOCK: [2020-04-21 mar. 14:10]--[2020-04-21 mar. 14:16] =>  0:05

* t2
  CLOCK: [2020-04-21 mar. 14:20]--[2020-04-21 mar. 14:30] =>  0:10

要在 perl src 块中使用它:

* code 
  #+NAME: t1
  #+begin_src perl :var d=d1
  $d;
  #+end_src

  #+RESULTS: t1
  | Headline     |   Time |
  | *Total time* | *0:16* |
  | t1           |   0:06 |
  | t2           |   0:10 |

但是当我更新时钟表时,#+NAME: d1消失了。如果我把它放在#+BEGIN 行之前,perl 块找不到引用。

标签: org-mode

解决方案


您可以通过像这样传递标头来设置块 #+NAME内:BEGIN:header

#+BEGIN: clocktable :scope file :maxlevel 2 :header "#+NAME: d1\n"

并且应该使用你所拥有的。


推荐阅读