la réponse de obsolète est très bonne, mais cela n'a pas tout à fait fonctionné pour moi. Je suis actuellement sur Emacs 24.4 et org 8.2.4, et conseiller org-indent-initialize
n'a rien fait. J'ai dû redéfinir la fonction avec le caractère de retrait modifié, et cela a fonctionné. Peut-être que lorsque je passerai à Emacs 24.5 et org 8.3, le conseil fonctionnera.
Mais j'ai également dû faire quelques autres ajustements, car j'utilise des polices de taille variable de largeur différente pour différents niveaux de titre, ce qui signifie qu'un titre de niveau 1 *
n'est pas de la même largeur qu'un niveau 2, etc.
J'ai donc dû aussi faire ceci:
- Définissez les faces
org-hide
(utilisées pour mettre en retrait les lignes de titre) et org-indent
(utilisées pour mettre en retrait les lignes sans titre) pour vous assurer qu'elles utilisent la même police à la même taille.
- Définissez la variable
org-indent-boundary-character
à la *
place de la valeur par défaut
(un espace). Il s'agit du caractère inséré après les caractères d'indentation mais avant le contenu. Je ne sais pas si changer cela est une nécessité, mais cela semble aider à la cohérence. Cela peut dépendre de la police que vous utilisez, des tailles, etc.
Faire ces choses en plus de faire le changement org-indent-initialize
comme déprécié fourni semble l'avoir fait. Je me retrouve avec un tampon ressemblant à ceci:
Vous pouvez voir que, lorsque le niveau du titre diminue, l'indentation ne s'aligne pas parfaitement avec le texte du titre. Je pense que c'est à cause de l'utilisation de polices plus petites pour les titres de bas niveau, et je ne pense pas qu'il existe un moyen facile de résoudre ce problème. Il pourrait être possible de faire quelque chose avec des propriétés de texte comme line-prefix
et wrap-prefix
, car celles-ci peuvent être définies sur des images et des caractères spéciaux, mais cela serait probablement compliqué et lent. Si vous utilisez la même taille de police pour tous les niveaux de titre, ce ne sera probablement pas un problème.
Quoi qu'il en soit, c'est probablement assez bon. :)
PS Comme demandé, voici mes org-level
visages. Celles-ci sont copiées custom-set-faces
, mais si vous ne les utilisez pas, customize
vous pouvez les définir en dehors.
'(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))))