Sửa đổi câu trả lời của tôi từ đây, chúng ta có thể lấy dữ liệu này ra LaTeX-math-default
, đó là danh sách gồm 4 bộ
(CHARACTER MACRO MENU UNICODE)
nơi CHARACTER
được các nhân vật sử dụng để ràng buộc nó (Tôi biết nó trông giống như một số nguyên, nhưng đó là một nhân vật, sử dụng (string CHARACTER)
để xem), MACRO
là macro cao su mà không có dấu gạch chéo, MENU
là tên cho các menu và UNICODE
là một nhân vật unicode dùng để trưng bày trong thực đơn. Chúng tôi muốn kiểm tra các yếu tố thứ nhất và thứ hai:
(defun show-latex-symbol-at-point ()
(interactive)
(let* ((sym (symbol-at-point))
(latex-symbol (TeX-member sym LaTeX-math-default
(lambda (a b)
(string= a (nth 1 b)))))
(shortcut (nth 0 latex-symbol))
)
(if (and latex-symbol shortcut)
(message "You can insert \\%s with `%s"
(nth 1 latex-symbol)
(key-description (string shortcut))))))
Có thể có những cách tốt hơn để liên tục hiển thị đầu ra, nhưng một cách để sử dụng post-command-hook
để chạy chức năng trên sau mỗi lệnh. Chúng tôi sẽ sử dụng nếu để đảm bảo điều này chỉ chạy tronglatex-mode
(add-hook 'post-command-hook
(lambda ()
(if (bound-and-true-p LaTeX-math-mode)
(show-latex-symbol-at-point)
)
))
(global-set-key [C-down-mouse-3] 'mouse-popup-menubar)
. Bằng cách đó, bạn không có tin nhắn quảng cáo.