la risposta di deprecato è molto buona, ma per me non ha funzionato. Sono attualmente su Emacs 24.4 e org 8.2.4 e la consulenza org-indent-initialize
non ha fatto nulla. Ho dovuto ridefinire la funzione con il carattere di rientro modificato e ha funzionato. Forse quando eseguo l'aggiornamento a Emacs 24.5 e org 8.3 la consulenza funzionerà.
Ma ho anche dovuto apportare alcune altre modifiche, perché utilizzo caratteri di larghezza variabile di dimensioni diverse per livelli di intestazione diversi, il che significa che un'intestazione di livello 1 *
non ha la stessa larghezza di un livello 2 e così via.
Quindi ho anche dovuto fare questo:
- Impostare le facce
org-hide
(utilizzate per indentare le linee del titolo) e org-indent
(utilizzate per indentare le linee del titolo) per assicurarsi che utilizzino lo stesso carattere con le stesse dimensioni.
- Impostare la variabile su
org-indent-boundary-character
al *
posto del valore predefinito
(uno spazio). Questo è il carattere che viene inserito dopo i caratteri di rientro ma prima del contenuto. Non sono sicuro che cambiare questa sia una necessità, ma sembra aiutare la coerenza. Potrebbe dipendere dal tipo di carattere che stai utilizzando, dalle dimensioni, ecc.
Fare queste cose oltre a fare il cambiamento org-indent-initialize
come deprecato sembra averlo fatto. Finisco con un buffer simile a questo:
Puoi vedere che, man mano che il livello del titolo scende, il rientro non si allinea perfettamente con il testo dell'intestazione. Penso che sia a causa dell'uso di caratteri più piccoli per le intestazioni di livello inferiore e non credo che ci sia un modo semplice per risolverlo. Potrebbe essere possibile fare qualcosa con proprietà di testo come line-prefix
e wrap-prefix
, poiché possono essere impostate su immagini e caratteri speciali, ma sarebbe probabilmente complicato e lento. Se usi la stessa dimensione del carattere per tutti i livelli di intestazione, probabilmente questo non sarà un problema.
Comunque, questo è probabilmente abbastanza buono. :)
PS Come richiesto, ecco i miei org-level
volti. Questi vengono copiati da custom-set-faces
, ma se non lo si utilizza customize
è possibile impostarli al di fuori di esso.
'(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))))