我怎样才能让清单计数器在 Org-Mode 中累积来自子标题的结果?

我怎样才能让清单计数器在 Org-Mode 中累积来自子标题的结果?

我想在 Emacs 的 Org-mode 中做这样的事情:

* headline [%]
** subheadline1 [%]
   - [ ] list item 1
   - [ ] list item 2
** subheadline2 [%]
   - [ ] list item 1
   - [ ] list item 2

这里的目的是让标题处的百分比 cookie 显示根据其副标题的百分比 cookie 计算出的已完成任务的总百分比。

如果“subheadline1”位于40%,而“subheadline2”位于50%,那么“标题”应该位于(40 + 50)/ 2 = 45% (2是副标题的数量)。

有可能吗?如果可以,怎么做?

答案1

我认为目前还不可能。复选框默认仅将其子项作为完整/不完整 cookie 处理。(请参阅复选框)。但是,可以选择org-checkbox-hierarchical-statistics在标题中使用和包含所有复选框,而不仅仅是直接子复选框。

因此通过添加或评估

(setq org-checkbox-hierarchical-statistics nil)

您可以为所有 org 文件设置此功能(递归地计算树中的所有复选框)。

如果您只想为特定的树设置它,文档字符串提供了答案:

org-checkbox-hierarchical-statistics is a variable defined in `org-list.el'.
Its value is t

Documentation:
Non-nil means checkbox statistics counts only the state of direct children.
When nil, all boxes below the cookie are counted.
This can be set to nil on a per-node basis using a COOKIE_DATA property
with the word "recursive" in the value.

在这种情况下,您的示例将变成:

* headline [%]
:PROPERTIES:
:COOKIE_DATA: recursive
:END:
** subheadline1 [%]
   - [ ] list item 1
   - [ ] list item 2
** subheadline2 [%]
   - [ ] list item 1
   - [ ] list item 2

进一步举例:
副标题 1 = 2/4 = 50%
副标题 2 = 2/5 = 45%
标题 1 = 4/9 = 44.44%

相关内容