Emacs AucTex Latex语法可防止等宽字体

时间:2012-03-02 13:38:23

标签: emacs syntax-highlighting auctex

我的emacs(Aquamacs与AucTex)改变字体大小(例如在LaTeX模式下)以显示语法 - 如下所示: enter image description here

不幸的是,这破坏了等宽字体的意义 - 例如我的评论不一致。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:7)

有关章节,章节等的具体示例,请将以下内容添加到.emacs

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

修改的 这是我通常用来自定义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"))

答案 1 :(得分: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))))

我不再做家庭事了,因为我没有时间找出一个好的方法来编程正确并且看起来并不重要,但你的里程可能会有所不同。此外,我没有在“默认”字体上设置任何内容,因为其他一些值是相对的,需要固定的参考点。