jak wykryć, czy w środowisku matematycznym LaTeX?

12

P: Czy istnieje sposób na wykrycie, czy punkt znajduje się w środowisku matematycznym LaTeX?

Jak można by wykryć, czy chodzi o to, czy nie jest w środku matematyki środowisku LaTeX, czy wytyczone przez inline $...$lub wymienionych środowiskach ( equation, displaymathitp)?

Dan
źródło

Odpowiedzi:

10

Funkcja texmathpzdefiniowana w AUCTeX (automatycznie ładowana z texmathp) robi dokładnie to (ok, właściwie robi to nieco więcej).

Używany interaktywnie, dostarczy ci więcej informacji, w tym, czy chodzi o konstrukcję matematyczną.

Używany w elisp, będzie tw matematyce, w nilprzeciwnym razie. Dodatkowe informacje są następnie przechowywane w zmiennej texmathp-why.

Gdy texmathpzwraca t, jest to minus (MATCH . POSITION), gdzie MATCHjest ciąg zawierający komendę TeX lub nazwa środowiska, które uruchomiło tryb matematyczny, i POSITIONpozycja, w której ten łańcuch został znaleziony w buforze. MATCHjest czymś "$", "$$", "\\(", "\\[" "\\ensuremath", "displaymath", "equation", ... Kiedy texmathpwraca nil, zmienna texmathp-whyjest (nil . pos), gdzie posjest początek akapitu.

Ostrzeżenie od docstring:

Funkcje zakładają, że masz (prawie) poprawną składniowo (La) TeX w buforze.

Jest świadomy wszystkich znanych sobie środowisk AUCTeX(na przykład do blokowania czcionek) i możesz dodać więcej za pomocą zmiennej texmathp-tex-commands.

T. Verron
źródło
Zauważ też, że (bezwstydna autopromocja przed nimi) to polecenie jest bardzo wygodne w połączeniu z wyrażeniami regularnymi emacsa: tex.stackexchange.com/a/91175/9517
T.
Autopromocja jest refleksją podczas dzielenia się przydatnymi i istotnymi informacjami :)
Sean Allred,