4

I have a long tex document and I would like to perform a search for finding some string inside math environments. Is there a search function already provided by auctex to do this? Other solutions are welcomed.

(I found https://stackoverflow.com/questions/19845598/emacs-regex-replacing-a-string-inside-a-latex-equation on a similar topic for replacing a string inside math environments).

4
  • I'm not sure I understood the question, and probably "forward search" in the context of LaTeX means something different from what you mean. Do you want to search for a particular string and want to be sure it is inside math mode? Commented Sep 27, 2016 at 9:40
  • I edited the question, 'forward search' may be confused with inverse/forward search between output and tex source. I just mean an ordinary search as you wrote. Commented Sep 27, 2016 at 10:01
  • I'd have suggested to use texmathp (to test whether the string is inside math mode) together with standard Emacs searching facilities, but this possibility is already mentioned in the question on stackoverflow you linked. What's wrong with it? Commented Sep 27, 2016 at 10:09
  • I thought since I am interested to perform only a search (and not find-replace as in the link), there exists perhaps an easier way to do it. Anyway I am happy with the solution given in the link. Commented Sep 27, 2016 at 10:47

1 Answer 1

5

Bundled with AUCTeX there is the texmathp utility (which, however, is independent from the TeX modes provided by AUCTeX and can be used without it), which allows you to test whether point is inside a mathematical mode or not.

The simplest suggestion I can give you is to combine texmathp with search-forward, here is a possible implementation:

(defun mg-search-in-math (string) (interactive "MSearch string: ") (while (null (and (search-forward string) (texmathp))))) 
3
  • Great. Is there an easy way to do this with incremental search (isearch)? Commented Mar 10, 2020 at 19:02
  • 1
    Not sure, but maybe this is worth a new question on its own? Commented Mar 11, 2020 at 9:21
  • Thanks for the suggestion. I agree---I created a new question here: emacs.stackexchange.com/questions/56102/… Commented Mar 12, 2020 at 18:03

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.