Risposte:
La funzione texmathpdefinita in AUCTeX (caricata automaticamente da texmathp) fa esattamente questo (ok, in realtà fa un po 'di più).
Utilizzato in modo interattivo, ti darà alcune informazioni in più, incluso se il punto è in un costrutto matematico.
Usato in elisp, lo sarà tse in matematica, nilaltrimenti. Le informazioni aggiuntive vengono quindi memorizzate nella variabile texmathp-why.
Quando texmathpritorna t, questo è un contro di (MATCH . POSITION), dove MATCHè una stringa contenente il comando TeX o il nome dell'ambiente che ha attivato la modalità matematica, ed POSITIONè la posizione in cui quella stringa è stata trovata nel buffer. MATCHè qualcosa di simile "$", "$$", "\\(", "\\[" "\\ensuremath", "displaymath", "equation", ... Quando texmathpritorna nil, la variabile texmathp-whyè (nil . pos)dove posè l'inizio del paragrafo.
Avvertimento dalla documentazione:
Le funzioni presuppongono che tu abbia (quasi) sintatticamente corretto (La) TeX nel buffer.
È a conoscenza di tutti gli ambienti che AUCTeXconosce (ad esempio per il blocco dei caratteri) e puoi aggiungerne altri usando la variabile texmathp-tex-commands.