2010-08-12 2 views
5

저는 AucTeX와 함께 Emacs를 사용하고 있습니다 (Ubuntu 10.04를 실행하는 경우).Emacs/Auctex : LaTeX-Math-mode 자동 활성화/비활성화

점은 어떤 수학 환경에있는 경우 자동으로 라텍스 수학 모드 (AucTeX 마이너 모드)를 활성화 할 수있는 방법이 있다면 누구나 알고 있나요 (예에서 $...$하는 $$...$$, begin{equation}...\end{equation} 등) ?

신택스 하이라이팅은 수학적 색칠에 동일한 기준을 사용하기 때문에 비교적 쉬운 대답이 있다고 생각합니다.하지만 아무 것도 찾을 수 없었습니다.

답변

4

andre-r의 대답이 당신을 만족시키지 못한다면, `을 텍스트 모드에서 자동 삽입하고 수학 모드에서 수학 모드 접두사로 사용하도록 설정하는 코드는 다음과 같습니다. LaTeX-math-mode에서으로 변경해야합니다.

(defun LaTeX-maybe-math() 
    "If in math mode, act as a prefix key for `LaTeX-math-keymap'. 
Otherwise act as `self-insert-command'." 
    (interactive) 
    (if (texmathp) 
     (let* ((events (let ((overriding-local-map LaTeX-math-keymap)) 
         (read-key-sequence "math: "))) 
      (binding (lookup-key LaTeX-math-keymap events))) 
     (call-interactively binding)) 
    (call-interactively 'self-insert-command))) 
(define-key LaTeX-mode-map "`" 'LaTeX-maybe-math) 

다음과 같은 개선

는 연습으로 남아 있습니다 :

  • 가 작은 모드합니다.

  • 예상치 못한 입력에 대해 더욱 견고하게 만듭니다 (기본 작동 만 테스트했습니다).

  • 사용자가 언 바운드 키 시퀀스를 누르면 더 좋은 오류 메시지가 표시됩니다.

  • 사용자가 C-h 또는 f1을 누르면 도움말을 표시합니다.

2

LaTeX-math-mode"많은 수학 기호가있는 텍스트를 입력하기위한 특수 부 모드"입니다. (방법을 모른다면, 예를 들어`A와 get \ forall을 누르십시오.) 그래서 수학을 입력하지 않는다고해도 상처를주지 않아야합니다.

정보] 페이지 그러므로 제안 :

(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode) 

을 유일한 단점은 두 번 접두사를 눌러해야한다는 것 IMHO : LaTeX-math-abbrev-prefix에서 사용자 정의 표준 접두사`와 함께 작동이 적어도```얻을 .