6

Я хочу сделать что-то подобное в Org-режиме Emacs:

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

Здесь цель состоит в том, чтобы процентный файл cookie в заголовке представлял общий процент выполненных задач, вычисленный из процентного файла cookie его подзаголовков.

Если значение "subheadline1" составляет 40 %, а значение "subheadline2" - 50 %, то значение "headline" должно быть равно (40 + 50) / 2 = 45 % (2 - это количество подзаголовков).

Является ли это возможным? Если так, то как?

1 ответ1

2

Я не думаю, что это вполне возможно в данный момент. Флажки имеют дело со своими детьми только по умолчанию как полный / неполный файл cookie. (См. Флажки). Однако, если вы следуете сноске 57, есть возможность использовать org-hierarchical-checkbox-statistics и включать все флажки в заголовок, а не только прямые дочерние элементы.

Таким образом, добавляя или оценивая

(setq org-hierarchical-checkbox-statistics nil)

Вы можете установить эту функцию (считать все флажки в дереве, рекурсивно) для всех org-файлов.

Если вы хотите установить его только для определенных деревьев, строка документации дает ответ:

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%

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .