web-dev-qa-db-ja.com

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

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

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

ここでの目的は、見出しのCookieの割合に、そのサブ見出しのCookieの割合から計算された完了したタスクの合計割合を表示させることです。

「subheadline1」が4%にあり、「subheadline2」が5%にある場合、「headline」は(40 + 50)/ 2 = 45%(2はサブヘッドラインの数です)。

出来ますか?もしそうなら、どのように?

8
EpsilonVector

現時点では、それが完全に可能であるとは思いません。チェックボックスは、デフォルトで完全/不完全なCookieとしてのみ子を処理します。 ( チェックボックス を参照)。ただし、 脚注57 に従う場合は、org-hierarchical-checkbox-statisticsを使用して、直接の子だけでなく、すべてのチェックボックスを見出しに含めるオプションがあります。

したがって、追加または評価することによって

(setq org-hierarchical-checkbox-statistics nil)

この機能は、すべての組織ファイルに対して設定できます(ツリー内のすべてのチェックボックスを再帰的にカウントします)。

特定のツリーのみに設定する場合は、docstringが答えを提供します。

org-hierarchical-checkbox-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%