2011-10-22 14 views
6

Es cierto que esto es un problema del primer mundo, pero soy bastante exigente con la apariencia de la pantalla, y me resulta realmente molesto cuando algún modo establece un nuevo tamaño de fuente, familia, negrita/cursiva, etc. Lo que me gustaría hacer es poner (set-frame-font "Menlo-10") cerca de la parte superior de mis .emacs, y luego forzar a emacs a que nunca cambie ningún aspecto de esa fuente predeterminada a excepción del color.¿Existe alguna manera de evitar que el bloqueo de fuentes cambie la familia de fuentes (y cambie solo el color)?

puedo especie de conseguir el efecto que quiero haciendo algo como esto:

(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))) 

pero que sólo funciona después de haber cargado un nuevo buffer que ha creado font-lock se enfrenta a ser cambiado, y es un hack terrible sin importar. Sospecho que simplemente no está realmente en condiciones de bloqueo de fuentes por ignorar algunas partes de lo que pide un modo, pero pensé que podría preguntar. También, AUCTeX es con mucho el peor infractor aquí, así que si hay un ajuste AUCTeX alternativamente en alguna parte para evitar que solicite cambios en la familia, tamaño, etc. en primer lugar, eso al menos haría que el problema sea menor. molesto.

Actualmente estoy usando un Emacs 24 reciente extraído de HEAD.

+0

eso es impar. mi fuente personalizada establecida en deja-vu. La familia de fuentes atleast nunca se modificó por ningún modo, incluido auctex con emacs 24. – kindahero

+0

Hmm. Quizás debería excavar a través de 15 años de cruzamiento elisp acumulado. Para que quede claro, la fuente predeterminada en AUCTeX sigue siendo la misma, pero si tengo '\ section {Foo}', la parte "Foo" se compone en lo que se parece a Helvetica en aproximadamente 18 puntos. – deong

Respuesta

4

Correr customize-face con el cursor en la cara que le interesa le permitirá ver cómo se define esa cara (y cambiarla). Hacer esto en el título de la sección me da font-latex-sectioning-1-face. Esto hereda de font-latex-sectioning-2-face etc. hasta font-latex-sectioning-5-face, que a su vez hereda el formulario variable-pitch (que es lo que cambia la familia de fuentes). La documentación también menciona que es mejor cambiar la cara de base font-latex-sectioning-5-face, o la variable font-latex-fontify-sectioning. Puede configurar esto último en 'color, que hará lo que quiera (creo). Alternativamente, puede personalizar font-latex-sectioning-5-face para no heredar de variable-pitch, o cambiar variable-pitch para que no sea de paso variable.

+0

Creo que configurar el puñado correcto de caras de nivel superior (por ejemplo, 'variable-pitch') probablemente haga lo que quiera. Siempre odié la interfaz personalizada, pero debería haber pensado en usarla para buscar la cadena de herencia. La sugerencia font-latex-fontify-sectioning funciona en AUCTeX (aunque, curiosamente, usa un color diferente). Es de suponer que existen varios ajustes de ese tipo que controlan otras cosas, como las fuentes más pequeñas que se usan en superíndices y subíndices en el modo matemático, pero todavía no he empezado a buscar. – deong

Cuestiones relacionadas