Forcer l'utilisation d'une police à largeur fixe en mode organisation

10

Quelle est la manière la plus simple de forcer Emacs en mode org à utiliser partout la même famille de polices à largeur fixe et la même hauteur (mais en gardant les autres propriétés distinctes, comme Foreground)?

Je pourrais faire org-level-nhériter tous les visages fixed-pitch, ou faire variable-pitchréférence à une police à largeur fixe, par exemple, mais ce serait lourd, je suppose.

Merci d'avance.

rsenna
la source
1
Salut. Utilisez-vous un thème personnalisé ou la valeur par défaut d'Emacs? Certains thèmes changent certains visages, par exemple les titres des organisations. De plus, avez-vous changé la police Emacs par défaut ou modifié certains visages? Par défaut, Emacs définit une police à largeur fixe / monospace.
undostres
3
Hmm, comme je le pensais. Ce thème introduit des changements plus "intrusifs" que d'autres. Le fichier README dans le référentiel affiche certaines variables que vous pouvez modifier pour éviter certaines modifications, mais si je me souviens bien, la police à largeur variable ne peut pas être modifiée. Solution: utilisez une autre implémentation Solarized comme celle-ci ou celle-ci . Mais si vous ne voulez pas changer de thème, vous devrez appliquer quelques changements de visage au-dessus du thème de Batsov.
undostres
1
Sûr! NP. Je suis un utilisateur intensif d'Org et j'ai eu le même problème avec ce thème. J'ai finalement décidé de le changer au lieu d'essayer un hack (ce qui peut être fait, néanmoins).
undostres
1
Définissez certains paramètres dans les paramètres spécifiques au thème pour désactiver les changements de taille de police.
Ivan Sviatenko

Réponses:

8

Certains thèmes changent de visage sans raison valable.

Par exemple, si vous utilisez un Solarizedthème, ajoutez le code ci-dessous avant de le charger.

(setq solarized-use-variable-pitch nil
      solarized-scale-org-headlines nil)
rgtk
la source
3

J'utiliserais face-remap-add-relative; voir la section Face Remapping du manuel Emacs Lisp.

Voici un crochet qui définit la propriété "famille" du defaultvisage dans les tampons du mode Org sur "Monospace", ce qui se transforme defaulten fixed-pitch.

(add-hook 'org-mode-hook
          (lambda () (face-remap-add-relative 'default :family "Monospace")))
Constantine
la source
Drôle. Pour moi, cela a eu l'effet inverse: toutes les polices org sont désormais proportionnelles (à la fois les titres et les éléments de liste). Avant cela, au moins les éléments de la liste étaient affichés avec une police à espacement fixe.
rsenna
J'utilise face-remap-add-relativeaussi, et ça marche pour moi (je n'ai pas "Monospace" mais j'utilise "Input Sans Mono" à la place). Il y a aussi plusieurs autres visages que vous pourriez vouloir jouer avec, tous Org- nommé quelque chose .
amitp