2010-09-21 21 views
17

J'ai découvert environ variable-pitch-modethrough a thread here on StackOverflow, et c'est très pratique en écrivant en org-mode, plus facile sur les yeux et tout. Mais l'utilisation de tables dans org est proche de zéro lors de l'utilisation de polices proportionnelles. Et être capable d'utiliser des tables est un des points forts avec org-mode:-(`variable-pitch` pour le mode org, à pas fixe pour les tables?

Est-il possible d'avoir des polices proportionnelles pour le texte, les titres, etc., mais une police pour les tables à espacement fixe org-mode?

Répondre

18

Voir si cela fonctionne,

(set-face-attribute 'org-table nil :inherit 'fixed-pitch)

Vous pouvez utiliser C-u C-x = pour voir quel visage est en vigueur à un moment donné.

+0

Il fonctionne avec emacs 24 :) – julien

+0

Impressionnant! Fonctionne comme je le veux :) – monotux

+2

Comment avez-vous découvert que la table était «org-table»? Je voudrais utiliser cette solution sur la sortie du buffer SQL – EoghanM

8

Ce code permet d'afficher les tableaux et les blocs de code source et d'image ascii dans une police monospace, tout en préservant d'autres attributs de police pour les tableaux (tels que la couleur bleue), etc. Le code est basé sur l'autre réponse, la seule différence est la préservation.

(defun my-adjoin-to-list-or-symbol (element list-or-symbol) 
    (let ((list (if (not (listp list-or-symbol)) 
        (list list-or-symbol) 
       list-or-symbol))) 
    (require 'cl-lib) 
    (cl-adjoin element list))) 

(eval-after-load "org" 
    '(mapc 
    (lambda (face) 
     (set-face-attribute 
     face nil 
     :inherit 
     (my-adjoin-to-list-or-symbol 
     'fixed-pitch 
     (face-attribute face :inherit)))) 
    (list 'org-code 'org-block 'org-table 'org-block-background))) 

Si vous souhaitez savoir comment cela fonctionne et comment appliquer cela à d'autres situations (telles que le mode Info), lisez my post on the subject

+0

Pour une raison quelconque, bien que l'exécution de 'describe-face' m'indique que la police doit hériter de 'fixed-pitch (ou simplement' default 'dans mon cas), la police affichée est toujours' variable-pitch ... –

+0

être le paquetage 'buffer-local-theme' provoquant le bug. –