Odpowiedź przestarzała jest bardzo dobra, ale dla mnie nie zadziałała. Obecnie korzystam z Emacsa 24.4 i org 8.2.4 i doradzanie org-indent-initialize
nic nie zrobiło. Musiałem przedefiniować funkcję ze zmienionym wcięciem i to zadziałało. Może po aktualizacji do Emacsa 24.5 i wersji 8.3 org doradztwo będzie działać.
Ale musiałem także dokonać kilku innych korekt, ponieważ używam czcionek o zmiennej szerokości o różnych rozmiarach dla różnych poziomów nagłówków, co oznacza, że nagłówki poziomu 1 *
nie mają takiej samej szerokości jak poziomy 2 i tak dalej.
Więc musiałem to zrobić:
- Ustaw ściany
org-hide
(używane do wcięcia linii nagłówka) i org-indent
(używane do wcięcia linii innych niż nagłówek), aby upewnić się, że używają tej samej czcionki o tym samym rozmiarze.
- Ustaw zmienną
org-indent-boundary-character
na *
zamiast domyślnej
(spacja). Jest to znak wstawiany po znakach wcięcia, ale przed treścią. Nie jestem pewien, czy zmiana tego jest koniecznością, ale wydaje się, że pomaga to w spójności. Może to zależeć od używanej czcionki, rozmiarów itp.
org-indent-initialize
Wydaje się, że dokonanie tych czynności oprócz zmiany jako przestarzałe, pod warunkiem. Skończyłem z buforem wyglądającym tak:
Widać, że wraz ze spadkiem poziomu nagłówka wcięcie nie pokrywa się idealnie z tekstem nagłówka. Myślę, że dzieje się tak z powodu używania mniejszych czcionek w nagłówkach niższych poziomów i nie sądzę, że istnieje prosty sposób, aby to naprawić. Możliwe jest zrobienie czegoś z właściwościami tekstu, takimi jak line-prefix
i wrap-prefix
, ponieważ można je ustawić na obrazy i znaki specjalne, ale prawdopodobnie byłoby to skomplikowane i powolne. Jeśli użyjesz tego samego rozmiaru czcionki dla wszystkich poziomów nagłówków, prawdopodobnie nie będzie to problemem.
W każdym razie jest to prawdopodobnie wystarczająco dobre. :)
PS Zgodnie z życzeniem, oto moje org-level
twarze. Są one kopiowane custom-set-faces
, ale jeśli nie używasz customize
, możesz ustawić je poza nim.
'(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))))