我想在 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%