Modificando minha resposta a partir daqui , podemos extrair esses dados LaTeX-math-default
, que é uma lista de quatro tuplas
(CHARACTER MACRO MENU UNICODE)
onde CHARACTER
está o caractere usado para ligá-lo (eu sei que parece um número inteiro, mas é um caractere, use (string CHARACTER)
para ver), MACRO
é a macro Latex sem barra, MENU
é o nome dos menus e UNICODE
é um caractere unicode usado para exibição em o cardápio. Queremos verificar o primeiro e o segundo elementos:
(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))))))
Provavelmente existem maneiras melhores de mostrar continuamente a saída, mas existe uma maneira post-command-hook
de executar a função acima após cada comando. Usaremos um if para garantir que isso seja executado apenas emlatex-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)
,. Dessa forma, você não tem mensagens ad nauseam.