2011-10-22 10 views
6

Certo, si tratta di un problema del primo mondo, ma sono un po 'schizzinoso sull'aspetto del display, e trovo davvero fastidioso quando alcune modalità impostano una nuova dimensione, famiglia, grassetto/corsivo, ecc. Quello che mi piacerebbe fare è mettere (set-frame-font "Menlo-10") nella parte superiore del mio .emacs, e quindi forzare emacs a non cambiare mai alcun aspetto da quel font predefinito eccetto il colore.C'è un modo per impedire che il blocco dei caratteri modifichi la famiglia di caratteri (e cambi solo il colore)?

posso sorta di ottenere l'effetto che voglio facendo qualcosa di simile a questo:

(mapc (lambda (face) 
    (set-face-attribute face nil 
         :family "Menlo" 
         ;; something like (cdr (assoc 'font (frame-parameters)) would be better 
         ;; for the :family, but it didn't immediately work 
         :width 'normal 
         :height 1.0 
         :weight 'normal 
         :underline nil 
         :slant 'normal)) 
    (remove 'default (face-list))) 

ma che funziona solo dopo che ho caricato un nuovo buffer che ha creato font-lock volti di essere cambiato, e è un tremendo hack a prescindere. Ho il sospetto che non ci sia davvero un problema nel blocco dei font per aver ignorato alcune parti di ciò che una modalità richiede, ma ho pensato di chiedere.

Inoltre, AUCTeX è di gran lunga il peggiore trasgressore qui, quindi se c'è alternativamente solo un'impostazione AUCTeX da qualche parte per impedirgli di richiedere modifiche in famiglia, dimensioni, ecc. In primo luogo, ciò renderebbe almeno il problema meno fastidioso.

Attualmente sto utilizzando un recente Emacs 24 estratto da HEAD.

+0

questo è dispari. il mio font personalizzato impostato su deja-vu. la famiglia di font atleast non è mai stata modificata da nessuna modalità, compreso auctex con emacs 24. – kindahero

+0

Hmm. Forse dovrei scavare attraverso 15 anni di cruft accumulato. Per essere chiari, il carattere predefinito in AUCTeX rimane lo stesso, ma se ho '\ section {Foo}', la parte "Foo" è composta in quello che sembra Helvetica a circa 18 punti. – deong

risposta

4

L'esecuzione di customize-face con il cursore sulla faccia a cui sei interessato ti consentirà di vedere come viene definita tale faccia (e di modificarla). Fare questo sul titolo della sezione mi dà font-latex-sectioning-1-face. Questo eredita da font-latex-sectioning-2-face ecc. Fino a font-latex-sectioning-5-face che a sua volta eredita il modulo variable-pitch (che è ciò che cambia la famiglia di caratteri). La documentazione menziona anche che è meglio cambiare la faccia di base font-latex-sectioning-5-face o la variabile font-latex-fontify-sectioning. È possibile impostare quest'ultimo a 'color che farà ciò che si desidera (credo). In alternativa, è possibile personalizzare font-latex-sectioning-5-face per non ereditare da variable-pitch o modificare variable-pitch in modo che non sia a passo variabile.

+0

Penso che l'impostazione della parte destra delle facce di primo livello (ad esempio, "pitch variabile") probabilmente faccia ciò che voglio. Ho sempre odiato l'interfaccia personalizzabile, ma avrei dovuto pensare di usarla per cercare la catena ereditaria. Il tip di font-latex-fontify funziona in AUCTeX (anche se, stranamente, utilizza un colore diverso). Presumibilmente ci sono diverse impostazioni di questo tipo che controllano altre cose come i font più piccoli usati in apici e pedici in modalità matematica, ma non ho ancora iniziato a guardarmi intorno. – deong

Problemi correlati