Since TeX is a markup language not a WYSIWYG application
this is not helpful to the readability of the TeX source.
How do I switch off this new behavior, while keeping the syntactic
color highlighting (font lock) that is helpful when composing TeX?
> I just upgraded to Fedora 7, which means I got upgraded from
> emacs-21 to emacs-22. Now I find that when I edit a TeX file,
> all subscripts (TeX _{xxx}) and superscripts (TeX ^{xxx})
> are rendered in small type, lowered or raised on the line.
Are you using AUCTeX? You can see this in mode-line, menus, and
*Messages* buffer. Then switch its use off! For example by finding
the Elisp file that loads or requires tex-site ...
--
Greetings
Pete
"engineer: a mechanism for converting caffeine into designs"
Font LaTeX Script Display
Font LaTeX Superscript Face
and
Font LaTeX Subscript Face
Greetings
Sebastian Meisel
> Am 30.06.2007 um 04:30 schrieb Mark Alford:
>
>> I just upgraded to Fedora 7, which means I got upgraded from
>> emacs-21 to emacs-22. Now I find that when I edit a TeX file,
>> all subscripts (TeX _{xxx}) and superscripts (TeX ^{xxx})
>> are rendered in small type, lowered or raised on the line.
>
> Are you using AUCTeX?
The Emacs-builtin TeX mode has this feature as well (it even had it
before AUCTeX, IIRC).
> You can see this in mode-line, menus, and *Messages* buffer. Then
> switch its use off!
Nonsense. In AUCTeX, there's a variable to turn it off and customize
it. There's no option to turn it off in the Emacs-builtin TeX mode,
CMIIW.
,----[ <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]
`----
Bye, Reiner.
--
,,,
(o o)
---ooO-(_)-Ooo--- | PGP key available | http://rsteib.home.pages.de/
> You are more likely wanting to use AUCTeX so you just have to
> customize:
>
> Font LaTeX Script Display
> Font LaTeX Superscript Face
> and
> Font LaTeX Subscript Face
*I* don't see how to make AUCTeX place them in line instead of above
or below ...
--
Mit friedvollen Grüßen
Pete
Patriotismus ist die Überzeugung, dass unser Vaterland allen anderen
Ländern überlegen ist, weil wir darin geboren wurden.
(George Bernard Shaw)
You should be able to customize the two faces `subscript' and
`superscript' defined by tex-mode.
Did that do what you want?
Eli Zaretskii <el...@gnu.org> wrote:
> You should be able to customize the two faces `subscript' and
> `superscript' defined by tex-mode.
Can you tell me how do I do that by putting commands in my .emacs file?
I would like a general solution that I can port to many computers, not
a point-and-click routine that I have to re-do on each machine.
Peter Dyballa <Peter_...@Web.DE> wrote:
> Are you using AUCTeX? You can see this in mode-line, menus, and
> *Messages* buffer. Then switch its use off!
No, I am just using the regular emacs that came packaged with Fedora 7.
I don't see the word "AUCTeX" anywhere. I don't think it is even
installed on my computer.
Sebastian Meisel <sebasti...@web.de> wrote:
> You are more likely wanting to use AUCTeX so you just have to customize:
> Font LaTeX Script Display
> Font LaTeX Superscript Face
> Font LaTeX Subscript Face
I don't want to use AUCTeX, I just want to revert the way emacs-22
tex-mode treats super/sub scripts back to how it was in emacs-21.
Mark
> Am 30.06.2007 um 11:29 schrieb Sebastian Meisel:
>
>> You are more likely wanting to use AUCTeX so you just have to customize:
>>
>> Font LaTeX Script Display
>> Font LaTeX Superscript Face
>> and
>> Font LaTeX Subscript Face
>
> *I* don't see how to make AUCTeX place them in line instead of above
> or below ...
How about reading the doc strings or play around with customize?
Set `font-latex-fontify-script' to nil. That's all. Or, if you only
want a smaller font, but no raise or lower, set
`font-latex-script-display' to nil:
,----[ 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.
> No, I am just using the regular emacs that came packaged with
> Fedora 7.
> I don't see the word "AUCTeX" anywhere.
Yes, I just could see that 'emacs -Q' shows this behaviour, too. I
think you will need to edit tex-mode.el not to raise (positively or
negatively) anything ...
--
Greetings
Pete
Work is the curse of the drinking class. — Oscar Wilde
I can, but I'd like to hear first that doing this interactively solves
your problem.
I can control their size but not their raising/lowering.
Edit -> Text Properties -> Display Faces
click on "superscript", up comes window of properties
uncheck "height"
click on "save for future sessions"
This makes superscripts come out the right size, and adds
to my .emacs file the following:
(custom-set-faces
'(superscript ((t nil))))
All I need now is a way to get rid of the raising of superscripts.
If that isn't a Face property, what is it?
Mark
I was afraid of that.
> All I need now is a way to get rid of the raising of superscripts.
> If that isn't a Face property, what is it?
It seems to be explicit code, see tex-font-lock-suscript. Perhaps you
will be able to fix that by tweaking tex-font-lock-keywords-3, but
that means editing tex-mode.el.
I suggest to submit a bug report asking for this feature to be
customizable.
> Am 30.06.2007 um 04:30 schrieb Mark Alford:
>
>> I just upgraded to Fedora 7, which means I got upgraded from
>> emacs-21 to emacs-22. Now I find that when I edit a TeX file,
>> all subscripts (TeX _{xxx}) and superscripts (TeX ^{xxx})
>> are rendered in small type, lowered or raised on the line.
>
> Are you using AUCTeX? You can see this in mode-line, menus, and
> *Messages* buffer. Then switch its use off!
Since AUCTeX adopted this functionality from Emacs' default modes
rather than the other way round, I doubt that your advice is of any
use in his situation, even if we stipulated that this particular part
of highlighting was enough of a nuisance to make disabling AUCTeX a
no-brainer _if_ it helped.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
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 <alf...@wuphys.wustl.edu>
>>
>> Eli Zaretskii <el...@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.
`----
> Since TeX is a markup language not a WYSIWYG application
> this is not helpful to the readability of the TeX source.
Sorry!
> How do I switch off this new behavior, while keeping the syntactic
> color highlighting (font lock) that is helpful when composing TeX?
In Emacs's builtin tex-mode, there's no config var to do that.
You can do it with the following hack:
(eval-after-load "tex-mode" '(fset 'tex-font-lock-suscript 'ignore))
In AUCTeX (and Emacs-CVS thanks to AUCTeX's maintainer) you can do it by
customizing some faces and vars (e.g. superscript face and
tex-font-script-display var or something like that).
Stefan "100% guilty of implementing this (mis)feature"