;; This is a math-mode find and replace. It relies on the AUCTeX ;; package for the "texmathp" function. ;; ;; Originally from http://stackoverflow.com/questions/19845598, ;; and modified to mention AUCTeX if it is missing. (fset 'latex-query-replace-regexp-math `(lambda (regexp to-string &optional delimited start end backward) "Like `query-replace-regexp' but only searches within math environments." ,(interactive-form 'query-replace-regexp) (if (fboundp 'texmathp) (let ((replace-re-search-function (lambda (regexp bound noerror) (catch :found (while (let ((ret (re-search-forward regexp bound noerror))) (when (save-match-data (texmathp)) (throw :found ret)) ret)))))) (query-replace-regexp regexp to-string delimited start end backward)) (error "AUCTeX and latex-mode are required for this function.") )))