LateX 모드에서만 밑줄과 빼기 기호의 역할 변경


12

auctex + emacs (LateX-mode)가있는 tex 파일 작업 중에-(빼기 기호) 대신 _ (밑줄)을 더 자주 사용합니다. 6 대신 ^와 동일합니다. 불편한 점은 Shift 키를 더 자주 눌러야한다는 것입니다.

emacs가 LateX 모드에있을 때 ( 그리고이 모드에서만 ) emacs 유형 _ 및 e_ 유형 e_를 입력하는 방식으로 emacs를 사용자 정의하는 것이 바람직합니다 . 즉, 다음 키 바인딩 :

-_ 제공

_ 제공-

6주는 ^

^는 6을 준다

가능합니까?

답변:


16

이 같은:

(add-hook 'LaTeX-mode-hook 'my-latex-hook)

(defun my-latex-hook ()
  (require 'tex-site)
  (define-key LaTeX-mode-map "-" (lambda () (interactive) (insert "_")))
  (define-key LaTeX-mode-map "_" (lambda () (interactive) (insert "-")))
  (define-key LaTeX-mode-map "6" (lambda () (interactive) (insert "^")))
  (define-key LaTeX-mode-map "^" (lambda () (interactive) (insert "6"))))

훌륭합니다. 코드가 완벽하게 작동합니다.
이름 :

1
(define-key LaTeX-mode-map "-" "_")그래서 충분해야합니다 ( "_"키보드 매크로로 해석됩니다) TeX-electric-sub-and-superscript.
콘스탄틴

1
아니, @ 콘스탄틴 당신이 제안하는 것은 재귀를 일으킬 것입니다.
abo-abo

아 맞다 이 경우 수행 _하고 -서로 매핑됩니다.
콘스탄틴
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.