thay đổi vai trò của gạch chân và dấu trừ chỉ trong chế độ lateX


12

Trong quá trình làm việc với các tệp tex có auctex + emacs (Chế độ lateX), tôi sử dụng thường xuyên hơn _ (gạch chân) thay vì - (dấu trừ). Giống như ^ thay vì 6. Bất tiện là tôi nên bấm phím shift thường xuyên hơn.

Nên tùy chỉnh các emac theo cách mà khi các emac ở chế độ lateX ( và chỉ ở chế độ này ), khi tôi gõ - các loại emacs _ và khi tôi gõ _ các loại emacs -. tức là các ràng buộc chính sau đây:

- cho _

_ cho -

6 cho ^

^ cho 6

Có thể không?

Câu trả lời:


16

Một cái gì đó như thế này:

(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"))))

tuyệt vời, mã của bạn hoạt động hoàn hảo.
Tên

1
(define-key LaTeX-mode-map "-" "_")và như vậy là đủ ( "_"được hiểu là macro bàn phím), cộng với điều này hoạt động với TeX-electric-sub-and-superscript.
Constantine

1
Không, @Constantine. Những gì bạn đề nghị sẽ gây ra đệ quy.
abo-abo

Ô đúng rồi. Nó làm nếu _-được ánh xạ với nhau.
Constantine
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.