การแก้ไขคำตอบของฉันจากที่นี่เราสามารถดึงข้อมูลนี้ออกจากLaTeX-math-default
ซึ่งเป็นรายการของ tuples 4 รายการ
(CHARACTER MACRO MENU UNICODE)
ที่CHARACTER
เป็นตัวละครที่ใช้ในการผูกมัน (ฉันรู้ว่ามันดูเหมือนว่าจำนวนเต็ม แต่มันเป็นตัวอักษรที่ใช้(string CHARACTER)
ในการดู) MACRO
เป็นมาโครลาเท็กซ์ที่ไม่มีเครื่องหมายทับMENU
เป็นชื่อเมนูและUNICODE
เป็นอักขระยูนิโค้ดที่ใช้สำหรับแสดงใน เมนู. เราต้องการตรวจสอบองค์ประกอบที่หนึ่งและสอง:
(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))))))
อาจมีวิธีที่ดีกว่าในการแสดงเอาต์พุตอย่างต่อเนื่อง แต่วิธีหนึ่งในการใช้post-command-hook
เพื่อเรียกใช้ฟังก์ชันข้างต้นหลังจากทุกคำสั่ง เราจะใช้การถ้าเพื่อให้แน่ใจว่าสิ่งนี้จะทำงานเฉพาะในlatex-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)
เช่น ด้วยวิธีนี้คุณไม่มีข้อความโฆษณาคลื่นไส้