Mercurial > emacs
changeset 59826:4b615730220f
(math-read-token): Separate the TeX and LaTeX parts.
author | Jay Belanger <jay.p.belanger@gmail.com> |
---|---|
date | Mon, 31 Jan 2005 21:51:34 +0000 |
parents | c20149ca0bba |
children | c329c97b84e6 |
files | lisp/calc/calc-aent.el |
diffstat | 1 files changed, 29 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/calc/calc-aent.el Mon Jan 31 21:20:35 2005 +0000 +++ b/lisp/calc/calc-aent.el Mon Jan 31 21:51:34 2005 +0000 @@ -746,7 +746,7 @@ (setq math-exp-token 'string math-expr-data (math-match-substring math-exp-str 1) math-exp-pos (match-end 0)))) - ((and (= ch ?\\) (memq calc-language '(tex latex)) + ((and (= ch ?\\) (eq calc-language 'tex) (< math-exp-pos (1- (length math-exp-str)))) (or (string-match "\\\\hbox *{\\([a-zA-Z0-9]+\\)}" math-exp-str math-exp-pos) @@ -756,6 +756,34 @@ math-exp-pos (match-end 0) math-expr-data (math-restore-dashes (math-match-substring math-exp-str 1))) + (let ((code (assoc math-expr-data math-latex-ignore-words))) + (cond ((null code)) + ((null (cdr code)) + (math-read-token)) + ((eq (nth 1 code) 'punc) + (setq math-exp-token 'punc + math-expr-data (nth 2 code))) + ((and (eq (nth 1 code) 'mat) + (string-match " *{" math-exp-str math-exp-pos)) + (setq math-exp-pos (match-end 0) + math-exp-token 'punc + math-expr-data "[") + (let ((right (string-match "}" math-exp-str math-exp-pos))) + (and right + (setq math-exp-str (copy-sequence math-exp-str)) + (aset math-exp-str right ?\]))))))) + ((and (= ch ?\\) (eq calc-language 'latex) + (< math-exp-pos (1- (length math-exp-str)))) + (or (string-match "\\\\hbox *{\\([a-zA-Z0-9]+\\)}" + math-exp-str math-exp-pos) + (string-match "\\\\text *{\\([a-zA-Z0-9]+\\)}" + math-exp-str math-exp-pos) + (string-match "\\(\\\\\\([a-zA-Z]+\\|[^a-zA-Z]\\)\\)" + math-exp-str math-exp-pos)) + (setq math-exp-token 'symbol + math-exp-pos (match-end 0) + math-expr-data (math-restore-dashes + (math-match-substring math-exp-str 1))) (let ((code (assoc math-expr-data math-tex-ignore-words))) (cond ((null code)) ((null (cdr code))