Mercurial > emacs
changeset 84958:ca3cf0871ecb
(tex-suscript-height-ratio, tex-suscript-height-minimum): New
customizable variables.
(tex-suscript-height): New function.
(superscript, subscript): Set height using tex-suscript-height
rather than fixing at 0.8.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Fri, 28 Sep 2007 03:29:11 +0000 |
parents | ac461e78456b |
children | 00369fd9df16 |
files | lisp/textmodes/tex-mode.el |
diffstat | 1 files changed, 32 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/textmodes/tex-mode.el Fri Sep 28 03:27:02 2007 +0000 +++ b/lisp/textmodes/tex-mode.el Fri Sep 28 03:29:11 2007 +0000 @@ -676,12 +676,42 @@ (put-text-property beg next 'display nil)) (setq beg next)))) +(defcustom tex-suscript-height-ratio 0.8 + "Ratio of subscript/superscript height to that of the preceding text. +In nested subscript/superscript, this factor is applied repeatedly, +subject to the limit set by `tex-suscript-height-minimum'." + :type 'float + :group 'tex + :version "23.1") + +(defcustom tex-suscript-height-minimum 0.0 + "Integer or float limiting the minimum size of subscript/superscript text. +An integer is an absolute height in units of 1/10 point, a float +is a height relative to that of the default font. Zero means no minimum." + :type '(choice (integer :tag "Integer height in 1/10 point units") + (float :tag "Fraction of default font height")) + :group 'tex + :version "23.1") + +(defun tex-suscript-height (height) + "Return the integer height of subscript/superscript font in 1/10 points. +Not smaller than the value set by `tex-suscript-height-minimum'." + (ceiling (max (if (integerp tex-suscript-height-minimum) + tex-suscript-height-minimum + ;; For bootstrapping. + (condition-case nil + (* tex-suscript-height-minimum + (face-attribute 'default :height)) + (error 0))) + ;; NB assumes height is integer. + (* height tex-suscript-height-ratio)))) + (defface superscript - '((t :height 0.8)) ;; :raise 0.2 + '((t :height tex-suscript-height)) ;; :raise 0.2 "Face used for superscripts." :group 'tex) (defface subscript - '((t :height 0.8)) ;; :raise -0.2 + '((t :height tex-suscript-height)) ;; :raise -0.2 "Face used for subscripts." :group 'tex)