2014-08-15 3 views
0

Я только что обновил свой Ubuntu с 12.04 по 14.04.C-c C-c больше не работает для компиляции tex под Emacs

Когда я редактировал .tex файл под 12.04, я создал свой Emacs таким образом, что C-c C-c автоматически запускается Latex, View или BibTex в соответствии с обстоятельствами. Следовательно, мне просто нужно было нажать C-c C-c, чтобы скомпилировать и просмотреть простой файл .tex. Часть файла ~/.emacs выглядит следующим образом:

(require 'server) 
(or (server-running-p) 
    (server-start)) 
(add-hook 'LaTeX-mode-hook 'TeX-PDF-mode) 

(defun pdf-with-okular() 
    (add-to-list 'TeX-output-view-style 
      (quote ("^pdf$" "." "okular %o %(outpage)")))) 
(add-hook 'LaTeX-mode-hook 'pdf-with-okular t) 

(setq TeX-view-program-list '(("Okular" "okular %o"))) 
(setq TeX-view-program-selection '((output-pdf "Okular") (output-dvi "Okular"))) 

(eval-after-load "tex" 
    '(setcdr (assoc "LaTeX" TeX-command-list) 
    '("%`%l%(mode) -shell-escape%' %t" 
    TeX-run-TeX nil (latex-mode doctex-mode) :help "Run LaTeX"))) 

(custom-set-variables 
'(LaTeX-command "latex -synctex=1") 
'(cua-mode t nil (cua-base)) 
'(show-paren-mode t) 
'(tool-bar-mode nil)) 

После модернизации, этот механизм уже не работает: C-c C-c запускает Command [pdflatex], и если я просто нажать Enter, он не может найти файл .tex.

Кто-нибудь знает, что не так?

ответ

2

Команда, которую вы описываете, происходит от расширения AUCTeX, которое заменяет встроенный режим LaTeX Emacs. Похоже, что AUCTeX не был должным образом обновлен или удален из вашей системы, поэтому вы вернулись во встроенный режим, который довольно примитивен по сравнению с AUCTeX.

Проверьте, доступна ли AUCTeX в сеансе Emacs (например, M-x locate-library RET auctex). Также проверьте, установлен ли пакет AUCTeX, и при необходимости переустановите его.

В качестве альтернативы вы можете получить AUCTeX от GNU ELPA с встроенным менеджером пакетов Emacs, что делает вашу настройку Emacs независимой от вашей системы.

+0

Я только что установил пакет AUCTex, и это работает ... – SoftTimur

3

Звучит как команда, которую вы ожидаете привязать к C-c C-c, нет - некоторая другая команда.

C-h m рассказывает вам, в каком режиме вы находитесь, и некоторые вещи об этом. C-h k C-c C-c сообщает вам, какая команда привязана к C-c C-c, и она дает вам ссылку на библиотеку, где определена эта команда.

Эта информация вместе с вашим файлом инициализации и исходным кодом Lisp поможет вам узнать, почему C-c C-c не связан с ожидаемой командой.

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

В целом, ответ заключается в том, чтобы сначала спросить Emacs.

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