Відповідь застарілої дуже гарна, але це не дуже спрацювало для мене. Зараз я перебуваю на Emacs 24.4 та org 8.2.4, і радити org-indent-initialize
нічого не робив. Мені довелося переглянути функцію зі зміненим символом відступу, і це спрацювало. Можливо, коли я перейду на Emacs 24.5 та org 8.3, то консультування спрацює.
Але мені також довелося внести кілька інших коригувань, оскільки я використовую шрифти різної величини змінної ширини для різних рівнів заголовків, це означає, що заголовки рівня 1 не *
є такою ж шириною, як рівень 2 та інше.
Тому я також повинен був зробити це:
- Встановіть грані
org-hide
(використовуються для відступів заголовкових ліній) та org-indent
(використовуються для відступу незаголовкових ліній), щоб переконатися, що вони використовують однаковий шрифт однакового розміру.
- Встановити змінну
org-indent-boundary-character
для *
замість значення за замовчуванням
(пропуск). Це символ, який вставляється після відступів символів, але перед змістом. Я не впевнений, чи потрібно це змінити, але, здається, це допомагає послідовності. Це може залежати від шрифту, який ви використовуєте, розмірів тощо.
Здійснення цих речей на додаток до внесення змін org-indent-initialize
як застарілих за умови, здається, це зробило. Я закінчую таким чином буфер:
Ви можете бачити, що, коли рівень заголовка знижується, відступ не вирівняється ідеально з текстом заголовка. Я думаю, це через використання менших шрифтів для заголовків нижчого рівня, і я не думаю, що існує простий спосіб це виправити. Можливо, можливо зробити щось із властивостями тексту, як-от line-prefix
і wrap-prefix
, оскільки їх можна встановити на зображення та особливі символи, але це, ймовірно, буде складним і повільним. Якщо ви використовуєте однаковий розмір шрифту для всіх рівнів заголовка, це, ймовірно, не буде проблемою.
У всякому разі, це, мабуть, досить добре. :)
PS За запитом, ось мої org-level
обличчя. Вони скопійовані з custom-set-faces
, але якщо ви не використовуєте їх, customize
ви можете встановити їх поза ним.
'(org-level-1 ((t (:inherit variable-pitch :foreground "#cb4b16" :weight bold :height 1.3))))
'(org-level-2 ((t (:inherit variable-pitch :foreground "#859900" :weight bold :height 1.2))))
'(org-level-3 ((t (:inherit variable-pitch :foreground "#268bd2" :weight bold :height 1.15))))
'(org-level-4 ((t (:inherit variable-pitch :foreground "#b58900" :weight bold :height 1.1))))
'(org-level-5 ((t (:inherit variable-pitch :foreground "#2aa198" :weight bold))))
'(org-level-6 ((t (:inherit variable-pitch :foreground "#6c71c4" :weight bold))))
'(org-level-7 ((t (:inherit variable-pitch :foreground "#d33682" :weight bold))))
'(org-level-8 ((t (:inherit variable-pitch :foreground "#dc322f" :weight bold))))