Латексные крючки emacs не работают
Поэтому по некоторым причинам некоторые из моих ловушек для латексного режима с auctex в emacs отказываются работать, но не дают ошибок (по крайней мере, я не вижу в буфере сообщений). Это большая часть в моих.emacs о латексе (кроме некоторых определений ключевых слов и т. Д.). Я использую Emacs24.2 на Arch Linux с последней версией auctex. Некоторое время я боролся с этим, и, насколько я помню, раньше это работало просто отлично. До сегодняшнего дня я заметил, что flyspell и auto fill не устанавливались автоматически (вероятно, происходило некоторое время с такой скоростью, так как не использую auctex в какое-то время).
(add-to-list 'load-path "~/Dropbox/Emacs/")
(add-to-list 'load-path "~/Dropbox/Emacs/git/")
(add-to-list 'load-path "~/Dropbox/Emacs/magit/")
(add-to-list 'load-path "~/Dropbox/Emacs/GLSL/")
;; auto-complete
(require 'auto-complete)
(require 'auto-complete-config)
(require 'auto-complete-clang)
(ac-flyspell-workaround)
(add-to-list 'ac-modes 'LaTeX-mode)
(ac-config-default)
(setq ac-quick-help-delay 0)
(define-key ac-mode-map [(control tab)] 'auto-complete)
(setq-default ac-sources
'(ac-source-abbrev ac-source-dictionary
ac-source-words-in-same-mode-buffers))
(global-auto-complete-mode t)
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(add-to-list 'ac-sources 'ac-source-symbols 'ac-source-variables)))
(defun add-sources-c-modes ()
(add-to-list 'ac-sources 'ac-source-semantic 'ac-source-clang))
(add-hook 'c-mode-hook 'add-sources-c-modes)
(add-hook 'c++-mode-hook 'add-sources-c-modes)
(define-key ac-completing-map "\C-n" 'ac-next)
(define-key ac-completing-map "\C-p" 'ac-previous)
;; DocView
(setq doc-view-continuous t)
(setq doc-view-resolution 300)
;; diff mode colors
(eval-after-load 'diff-mode
'(progn
(set-face-foreground 'diff-added "green")
(set-face-foreground 'diff-header "purple")
(set-face-foreground 'diff-removed "red")))
;; dired colors
(eval-after-load 'dired-mode
'(progn
(set-face-foreground 'dired-directory "cyan")
(set-face-foreground 'dired-flagged "red")
(set-face-foreground 'dired-header "purple")))
;; server mode
;; (server-start)
;; GLSL
(autoload 'glsl-mode "glsl-mode" nil t)
(add-to-list 'auto-mode-alist '("\.vert\'" . glsl-mode))
(add-to-list 'auto-mode-alist '("\.frag\'" . glsl-mode))
;; Git / SVN
(require 'git)
(require 'git-blame)
;; Emacs Code Browser / CEDET
;; (require 'cedet)
;; (require 'ecb)
;; (setq ecb-options-version "2.40")
;; Close scratch buffer on startup
(defun close-scratch-hook ()
(kill-buffer "scratch"))
(add-hook 'emacs-startup-hook 'close-scratch-hook)
;; LaTeX/Auctex settings
(require 'ac-math)
(defun ac-latex-mode-setup ()
(add-to-list 'ac-sources 'ac-source-math-unicode 'ac-source-math-latex
'ac-source-latex-commands))
(add-hook 'LaTeX-mode-hook 'latex-math-mode)
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
(add-hook 'text-mode-hook 'auto-fill-mode)
(add-hook 'LaTeX-mode-hook 'turn-on-flyspell)
(add-hook 'LaTeX-mode-hook 'ac-latex-mode-setup)
(add-hook 'LaTeX-mode-hook
(lambda ()
(set-face-foreground 'font-latex-sedate-face "cyan")))
(setq reftex-plug-into-AUCTeX t)
(setq font-latex-match-slide-title-keywords (quote (("frametitle" "{"))))
(setq font-latex-match-warning-keywords (quote ("hline" "pause" "and" "hfill")))
(setq font-latex-match-function-keywords
(quote
(("titlepage" "") ("maketitle" "") ("frame" "") ("tableofcontents" "")
("noindent" "") ("usetheme" "{") ("usecolortheme" "{") ("institute" "[{")
("includegraphics" "[{") ("title" "[{") ("href" "{{") ("url" "{") ("hypersetup" "{")
("useoutertheme" "{") ("useinnertheme" "{") ("setbeamercolor" "{{")
("setbeamertemplate" "{{") ("setdescription" "{") ("lstset" "{") ("lstinputlisting" "[{")
("textcolor" "{") ("verbatiminput" "{") ("graphicspath" "{")
("fancyhead" "[{") ("fancyfoot" "[{") ("fontsize" "{{") ("doublespacing" ""))))
;; Line numbers
(require 'linum)
(global-linum-mode t)
;; Disable line numbers in certain buffers
(defcustom linum-disabled-modes-list '(eshell-mode wl-summary-mode compilation-mode org-mode dired-mode)
"* List of modes disabled when global linum mode is on"
:type '(repeat (sexp :tag "Major mode"))
:tag " Major modes where linum is disabled: "
:group 'linum)
(defcustom linum-disable-starred-buffers 't
"* Disable buffers that have stars in them like Gnu Emacs"
:type 'boolean
:group 'linum)
(defun linum-on ()
"* When linum is running globally, disable line number in modes defined in `linum-disabled-modes-list'. Changed by linum-off. Also turns off numbering in starred modes like scratch"
(unless (or (minibufferp) (member major-mode linum-disabled-modes-list)
(and linum-disable-starred-buffers (string-match "*" (buffer-name))))
(linum-mode 1)))
;; Basic emacs settings
(setq initial-scratch-buffer nil)
(setq inhibit-splash-screen t)
(setq inhibit-startup-message t)
(setq-default truncate-lines t)
(setq backup-inhibited t)
(setq auto-save-default nil)
(setq compilation-scroll-output t)
(if (boundp 'scroll-bar-mode) (scroll-bar-mode -1))
(column-number-mode 1)
(setq-default fill-column 80)
(setq auto-fill-mode 1)
(if (boundp 'tool-bar-mode) (tool-bar-mode 0))
(set-face-attribute 'default nil :height 100)
(add-hook 'before-save-hook 'delete-trailing-whitespace)
(global-auto-revert-mode t)
(setq frame-title-format "%b")
;; cscope
(require 'xcscope)
(setq cscope-do-not-update-database t)
;; Enable these to speed up compiler output
;; (setq compilation-error-regexp-alist nil)
;; (setq compilation-error-regexp-alist-alist nil)
;; Indentation rules
(setq c-default-style "bsd" c-basic-offset 4)
(c-set-offset 'case-label '+)
(setq sgml-basic-offset 4)
(setq python-indent 4)
(setq indent-tabs-mode nil)
(setq tab-always-indent t)
(setq tab-width 4)
(setq tab-stop-list (quote (4 8 12 16 20 24 28 32 36 40 44 48 52
56 60 64 68 72 76 80 84 88 92 96
100 104 108 112 116 120)))
;; highlight matching parentheses
(show-paren-mode 1)
(setq show-paren-delay 0)
;; highlight current line
(global-hl-line-mode 1)
(set-face-background 'hl-line "#300")
;; C-Sharp mode
;; (require 'cc-mode)
;; (autoload 'csharp-mode "csharp-mode" "Major mode for editing C# code." t)
;; (add-to-list 'auto-mode-alist '("\.cs$" . csharp-mode))
;; Change the color scheme
(require 'color-theme)
(color-theme-initialize)
(color-theme-midnight)
;; Make ENTER automatically indent in C derived buffers
(add-hook 'c-mode-common-hook
(lambda ()
(local-set-key (kbd "RET") 'newline-and-indent)))
;; Enable terminal colors
(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
;; Hotkeys
(global-set-key [f9] 'compile)
;; Emacs IRC
(setq erc-auto-query 'buffer)
;; assembly mode
(add-hook 'asm-mode-hook
(lambda ()
(local-set-key (kbd "RET") 'newline)))
;; change default Browser
(setq browse-url-generic-program (executable-find "chromium")
browse-url-browser-function 'browse-url-generic)
;; multi-term
(require 'multi-term)
;; yasnippet work around
;; (add-hook 'change-major-mode-hook 'yas/exit-all-snippets)
;; develock
(require 'develock)
2 ответа
Я думаю, что вы запускаете auto-complete-mode
прежде чем добавить LaTeX-mode
в ac-modes
,
Чтобы знать, что происходит наверняка, нам нужно увидеть весь .emacs
или минимальный пример с той же проблемой.
Кстати ваш ac-latex-mode-setup
ничего не делает, потому что когда он вызывается, он просто определяет lambda
(анонимная функция), которая никогда не будет использоваться. Вам нужно изменить его на следующее, если вы хотите, чтобы ваш код выполнялся:
(defun ac-latex-mode-setup () ; add ac-sources to default ac-sources
(setq ac-sources
(append '(ac-source-math-unicode ac-source-math-latex ac-source-latex-commands)
ac-sources))
)
progn
вы используете также ничего не делает. progn
позволяет объединять несколько инструкций и использовать только одну. Вы можете progn
Для ясности, следующим образом:
(eval-after-load 'LaTeX-mode
'(set-face-foreground 'font-latex-sedate-face "cyan"))
Стефан имеет смысл с использованием package-install
, Это предпочтительный способ, и он работает на удивление хорошо. И как примечание вы никогда не должны использовать load
, Всегда используйте require
или же eval-after-load
,
AFAIK, нет auctex.el
, Файл для загрузки для AUCTeX в tex-site
IIRC. Вы можете предпочесть установить AUCTeX через M-x package-install RET
который позаботится об этом для вас.