Змінюючи мою відповідь звідси, ми можемо просто витягнути ці дані з цього LaTeX-math-default
списку - це список із 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
для запуску вищевказаної функції після кожної команди. Ми будемо використовувати if, щоб переконатися, що це працює лише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)
. Таким чином, у вас немає повідомлень про нудоту.