Изменив мой ответ отсюда, мы можем просто извлечь эти данные LaTeX-math-default, то есть список из 4-х кортежей.
(CHARACTER MACRO MENU UNICODE)
где CHARACTERсимвол, используемый для его привязки (я знаю, что он выглядит как целое число, но это символ, используйте, (string CHARACTER)чтобы увидеть), MACROэто макрос Latex без косой черты, 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). Таким образом, у вас нет сообщений до тошноты.