* Re: tex mode sub- and super-scripts [not found] ` <u1wfsn7as.fsf@gnu.org> @ 2007-07-01 8:43 ` Reiner Steib 2007-07-01 12:44 ` Stefan Monnier 0 siblings, 1 reply; 6+ messages in thread From: Reiner Steib @ 2007-07-01 8:43 UTC (permalink / raw) To: Eli Zaretskii; +Cc: help-gnu-emacs, Mark Alford, Stefan Monnier, emacs-devel [ I'd suggest to move this discussion to <emacs-devel@gnu.org>. Summary: In Emacs TeX-mode (textmodes/tex-mode.el), there's no option to suppress the raise/lowering of superscripts and subscripts. In AUCTeX, we used tex-mode.el's code, but added options to turn off this feature. %%%%%%%%%% $a_0 = a_{f}^{2} + b_{\alpha}$ \bye %%%%%%%%%% ] On Sun, Jul 01 2007, Eli Zaretskii wrote: >> Date: Sat, 30 Jun 2007 21:02:56 -0500 (CDT) >> From: Mark Alford <alford@wuphys.wustl.edu> >> >> Eli Zaretskii <eliz@gnu.org> wrote: >> > You should be able to customize the two faces `subscript' and >> > `superscript' defined by tex-mode. >> >> I can control their size but not their raising/lowering. [...] > It seems to be explicit code, see tex-font-lock-suscript. [...] > > I suggest to submit a bug report asking for this feature to be > customizable. I'd be willing to port AUCTeX's customization options ([1], code written by me) to tex-mode.el. Any objections? Stefan? (If it's okay to install this patch, should it go to the Emacs 22 branch?) --8<---------------cut here---------------start------------->8--- --- tex-mode.el 20 May 2007 15:18:56 +0200 1.186 +++ tex-mode.el 01 Jul 2007 10:38:31 +0200 @@ -243,6 +243,21 @@ :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 '((raise -0.3) . (raise 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 (sexp :tag "Subscript form") + (const :tag "No lowering" nil)) + (choice (sexp :tag "Superscript form") + (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 @@ (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 (car tex-font-script-display)) + '(face superscript display (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 --8<---------------cut here---------------end--------------->8--- Bye, Reiner. [1] Cf. http://mid.gmane.org/v93b09938i.fsf%40marauder.physik.uni-ulm.de http://mid.gmane.org/v9hcop79f3.fsf%40marauder.physik.uni-ulm.de ,----[ <f1> v font-latex-fontify-script RET ] | font-latex-fontify-script is a variable defined in `font-latex'. | Its value is t | | This variable is safe as a file local variable if its value | satisfies the predicate `TeX-booleanp'. | | Documentation: | If non-nil, fontify subscript and superscript strings. | This feature does not work in XEmacs. | | You can customize this variable. `---- ,----[ M-x customize-variable RET font-latex-script-display RET ] | Font Latex Script Display: [Hide Value] | Choice: [Value Menu] Subscript form: (raise -0.3) | Choice: [Value Menu] Superscript form: (raise 0.3) | [State]: STANDARD. | | Display specification for subscript and superscript content. [Hide Rest] | The car is used for subscript, the cdr is used for superscripts. | Parent groups: [Font Latex] `---- ,----[ M-x customize-variable RET font-latex-script-display RET ] | font-latex-script-display: [Hide Value] | Choice: [Value Menu] No lowering | Choice: [Value Menu] No raising | [State]: SET for current session only. `---- -- ,,, (o o) ---ooO-(_)-Ooo--- | PGP key available | http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: tex mode sub- and super-scripts 2007-07-01 8:43 ` tex mode sub- and super-scripts Reiner Steib @ 2007-07-01 12:44 ` Stefan Monnier 2007-07-02 20:33 ` Reiner Steib 0 siblings, 1 reply; 6+ messages in thread From: Stefan Monnier @ 2007-07-01 12:44 UTC (permalink / raw) To: Mark Alford; +Cc: emacs-devel > I'd be willing to port AUCTeX's customization options ([1], code > written by me) to tex-mode.el. Any objections? Stefan? Fine by me. > +(defcustom tex-font-script-display '((raise -0.3) . (raise 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 (sexp :tag "Subscript form") > + (const :tag "No lowering" nil)) > + (choice (sexp :tag "Superscript form") > + (const :tag "No raising" nil)))) I'm curious: for what has this been used? Stefan ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: tex mode sub- and super-scripts 2007-07-01 12:44 ` Stefan Monnier @ 2007-07-02 20:33 ` Reiner Steib 2007-07-05 3:32 ` Stefan Monnier 0 siblings, 1 reply; 6+ messages in thread From: Reiner Steib @ 2007-07-02 20:33 UTC (permalink / raw) To: Stefan Monnier; +Cc: Mark Alford, emacs-devel On Sun, Jul 01 2007, Stefan Monnier wrote: >> +(defcustom tex-font-script-display '((raise -0.3) . (raise 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 (sexp :tag "Subscript form") >> + (const :tag "No lowering" nil)) >> + (choice (sexp :tag "Superscript form") >> + (const :tag "No raising" nil)))) > > I'm curious: for what has this been used? A replacement for the hard-codes values, but that's obvious, isn't it? Probably I didn't understand your question. Could you be more specific, please? Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- | PGP key available | http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: tex mode sub- and super-scripts 2007-07-02 20:33 ` Reiner Steib @ 2007-07-05 3:32 ` Stefan Monnier 2007-07-09 19:17 ` Reiner Steib 0 siblings, 1 reply; 6+ messages in thread From: Stefan Monnier @ 2007-07-05 3:32 UTC (permalink / raw) To: Mark Alford; +Cc: emacs-devel >>> +(defcustom tex-font-script-display '((raise -0.3) . (raise 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 (sexp :tag "Subscript form") >>> + (const :tag "No lowering" nil)) >>> + (choice (sexp :tag "Superscript form") >>> + (const :tag "No raising" nil)))) >> >> I'm curious: for what has this been used? > A replacement for the hard-codes values, but that's obvious, isn't it? > Probably I didn't understand your question. Could you be more > specific, please? Well, supposedly you/someone replaced those values by different ones, right? So how did they differ? Did only the 0.3 ever change or sometimes the whole thing? Did it always change symmetrically? ... I mean the above variable can be used to make super/subscript display in very wild ways, so I'm wondering if is a feature or a misfeature. Stefan ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: tex mode sub- and super-scripts 2007-07-05 3:32 ` Stefan Monnier @ 2007-07-09 19:17 ` Reiner Steib 2007-07-09 20:01 ` Stefan Monnier 0 siblings, 1 reply; 6+ messages in thread From: Reiner Steib @ 2007-07-09 19:17 UTC (permalink / raw) To: Stefan Monnier; +Cc: Mark Alford, emacs-devel On Thu, Jul 05 2007, Stefan Monnier wrote: >>>> +(defcustom tex-font-script-display '((raise -0.3) . (raise 0.3)) [...] > Well, supposedly you/someone replaced those values by different ones, right? > So how did they differ? Did only the 0.3 ever change or sometimes the whole > thing? Did it always change symmetrically? ... Personally, I changed them to -0.1/0.1. I don't know what others do. But I think asymmetrical values are plausible. > I mean the above variable can be used to make super/subscript display in > very wild ways, so I'm wondering if is a feature or a misfeature. I've installed a simplified version. Feel free to modify it. Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- | PGP key available | http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: tex mode sub- and super-scripts 2007-07-09 19:17 ` Reiner Steib @ 2007-07-09 20:01 ` Stefan Monnier 0 siblings, 0 replies; 6+ messages in thread From: Stefan Monnier @ 2007-07-09 20:01 UTC (permalink / raw) To: Mark Alford; +Cc: emacs-devel >>>>> +(defcustom tex-font-script-display '((raise -0.3) . (raise 0.3)) > [...] >> Well, supposedly you/someone replaced those values by different ones, right? >> So how did they differ? Did only the 0.3 ever change or sometimes the whole >> thing? Did it always change symmetrically? ... > Personally, I changed them to -0.1/0.1. I don't know what others do. > But I think asymmetrical values are plausible. The value 0.3 was chosen pretty arbitrarily. Maybe 0.2 would be a better default. In my case 0.1 seems too small (it move it by just 1 pixel, which looks more like a display bug than a feature). >> I mean the above variable can be used to make super/subscript display in >> very wild ways, so I'm wondering if is a feature or a misfeature. > I've installed a simplified version. Thanks, Stefan ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-07-09 20:01 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20070630225915.BA9C05F435F@physsmtp.wustl.edu> [not found] ` <Pine.LNX.4.64.0706302102150.4598@localhost.localdomain> [not found] ` <u1wfsn7as.fsf@gnu.org> 2007-07-01 8:43 ` tex mode sub- and super-scripts Reiner Steib 2007-07-01 12:44 ` Stefan Monnier 2007-07-02 20:33 ` Reiner Steib 2007-07-05 3:32 ` Stefan Monnier 2007-07-09 19:17 ` Reiner Steib 2007-07-09 20:01 ` Stefan Monnier
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).