1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 18:41:25 -08:00

(tex-fontify-script)

(tex-font-script-display): New variables to make display of
superscripts and subscripts customizable.
(tex-font-lock-suscript, tex-font-lock-match-suscript): Use them.
This commit is contained in:
Reiner Steib 2007-07-09 19:14:48 +00:00
parent ccbbae2c43
commit 2b1567a532
2 changed files with 28 additions and 4 deletions

View file

@ -243,6 +243,21 @@ Normally set to either `plain-tex-mode' or `latex-mode'."
:options '("''" "\">" "\"'" ">>" "»")
:group 'tex)
(defcustom tex-fontify-script t
"If non-nil, fontify subscript and superscript strings."
:type 'boolean
:group 'tex)
(put 'tex-fontify-script 'safe-local-variable 'booleanp)
(defcustom tex-font-script-display '(-0.3 . 0.3)
"Display specification for subscript and superscript content.
The car is used for subscript, the cdr is used for superscripts."
:group 'tex
:type '(cons (choice (float :tag "Subscript")
(const :tag "No lowering" nil))
(choice (float :tag "Superscript")
(const :tag "No raising" nil))))
(defvar tex-last-temp-file nil
"Latest temporary file generated by \\[tex-region] and \\[tex-buffer].
Deleted when the \\[tex-region] or \\[tex-buffer] is next run, or when the
@ -593,13 +608,14 @@ An alternative value is \" . \", if you use a font with a narrow period."
(setq pos (1- pos) odd (not odd)))
odd))
(if (eq (char-after pos) ?_)
'(face subscript display (raise -0.3))
'(face superscript display (raise +0.3)))))
`(face subscript display (raise ,(car tex-font-script-display)))
`(face superscript display (raise ,(cdr tex-font-script-display))))))
(defun tex-font-lock-match-suscript (limit)
"Match subscript and superscript patterns up to LIMIT."
(when (re-search-forward "[_^] *\\([^\n\\{}]\\|\
\\\\\\([a-zA-Z@]+\\|[^ \t\n]\\)\\|\\({\\)\\)" limit t)
(when (and tex-fontify-script
(re-search-forward "[_^] *\\([^\n\\{}]\\|\
\\\\\\([a-zA-Z@]+\\|[^ \t\n]\\)\\|\\({\\)\\)" limit t))
(when (match-end 3)
(let ((beg (match-beginning 3))
(end (save-restriction