2012-03-02 3 views
4

My Emacs (Aquamacs которым AucTeX) изменения размера шрифта (в, например, режим LaTeX), чтобы показать синтаксис - как это: enter image description hereсинтаксиса Emacs AucTeX Latex предотвращает моноширинный шрифт

К сожалению, это разрушает точку моноширинного шрифта - например мои комментарии не совпадают. Как решить эту проблему?

ответ

5

Для конкретного примера разделов, глав и т.д., добавьте следующие строки в .emacs:

(setq font-latex-fontify-sectioning 'color) 

Edit Вот конфиг я обычно использую для настройки форматирования AucTeX:

;; Only change sectioning colour 
(setq font-latex-fontify-sectioning 'color) 
;; super-/sub-script on baseline 
(setq font-latex-script-display (quote (nil))) 
;; Do not change super-/sub-script font 
(custom-set-faces 
'(font-latex-subscript-face ((t nil))) 
'(font-latex-superscript-face ((t nil))) 
) 
;; Exclude bold/italic from keywords 
(setq font-latex-deactivated-keyword-classes 
    '("italic-command" "bold-command" "italic-declaration" "bold-declaration")) 
+0

Вы знаете общий способ сказать: «Ничего не измените ничего, кроме лица». В идеале я хотел бы сказать Emacs игнорировать смелые, курсивы, супер и индексы, изменения размера и т. Д., И просто использовать цвет, но я никогда не нашел общий способ сделать это. Фрагмент кода, который я опубликовал в ответе ниже, отменяет эти изменения после факта, но было бы проще просто выразить свое намерение напрямую, если это возможно. – deong

+1

@deong Я боюсь, что нет; Я установил 'font-latex-script-display',' font-latex-subscript-face' в 'nil', а затем добавил' italic-command'/'bold-command' и т. Д. В' font-latex-deactivated- keyword-classes' - мне никогда не нужно было делать больше (=. –

+0

@ SébastienLeCallonnec: Это действительно здорово. Могу ли я попросить вас отредактировать свой ответ, чтобы включить все материалы из вашего комментария? мои навыки elisp находятся на уровне копирования и вставки: o) – hpekristiansen

1

Если вы найдете решение этого вопроса, пиво на мне. Лучшее, что я смог придумать до сих пор, - это поместить следующее в моем .emacs где-нибудь и запустить функцию после загрузки режима, который делает это (в режиме org-mode).

(defun fix-fonts() 
    (interactive) 
    (mapc 
    (lambda (face) 
    (set-face-attribute face nil 
         ;; :family (if (string= system-type "darwin") 
         ;;    "Menlo" 
         ;;    "Inconsolata") 
         :width 'normal 
         :height 1.0 
         :weight 'normal 
         :underline nil 
         :slant 'normal)) 
    (remove 'default (face-list)))) 

Я не делаю семейную вещь больше, потому что у меня не было времени, чтобы понять, хороший способ, чтобы получить его программно право, и это, кажется, не имеет значения, но ваш пробег может варьироваться. Кроме того, я ничего не устанавливаю в шрифте по умолчанию, потому что некоторые другие значения являются относительными и нуждаются в фиксированной контрольной точке.

Смежные вопросы