org-mode でチェックリスト カウンターにサブヘッダーの結果を蓄積させるにはどうすればよいですか?

org-mode でチェックリスト カウンターにサブヘッダーの結果を蓄積させるにはどうすればよいですか?

Emacs の Org-mode で次のようなことをしたいです:

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

ここでの目的は、見出しのパーセンテージ クッキーに、サブ見出しのパーセンテージ クッキーから計算された完了したタスクの合計パーセンテージを表示させることです。

「subheadline1」が40%、そして「subheadline2」は50%の場合、「見出し」は(40 + 50) / 2 = 45% (2(サブ見出しの数です)。

それは可能ですか?もし可能ならば、どのようにですか?

答え1

現時点では完全に可能だとは思いません。チェックボックスは、デフォルトで子要素を完全/不完全クッキーとしてのみ扱います。(チェックボックス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% となります。

関連情報