Page 1 of 1
Highlighting latex code
Posted: Sat Nov 03, 2012 8:01 am
by baranas
I am using Emacs+Auctex. I need additional highlighting in math mode. How can I force Emacs to highlight braces and some commands (like \quad) inside math mode with different color?
Re: Highlighting latex code
Posted: Sat Nov 03, 2012 10:42 am
by stackman
For parens or braces highlighting, I suggest
paren-mode or mic-paren-mode.
Highlighting specific words is done with font-lock-add-keywords.
The following snippet in your init file should color \quad in red in tex or latex buffers.
Code: Select all
(add-hook 'TeX-mode-hook
(lambda ()
(font-lock-add-keywords nil
'(("\\\\quad" 0 font-lock-warning-face t)))))
Re: Highlighting latex code
Posted: Tue Nov 06, 2012 12:14 pm
by baranas
Thanks, seems that it works. First time I tried similar method it messed up conditional highlighting. Can you explain to me what means 0 and t.
Re: Highlighting latex code
Posted: Wed Nov 07, 2012 5:01 am
by baranas
Still it messes up conditional Auctex highlighting when i add more complicated highlighting expressions. One of the examples would be when i change 0 to nil. I still don't know what it means
, but that is an example.
Re: Highlighting latex code
Posted: Wed Nov 07, 2012 3:00 pm
by stackman
The 0 means "highlight the whole match".
A positive number means "highlight the nth group in the regexp". For example,
the following code italicizes the word between braces in expressions of the form \begin{***}.
Code: Select all
(add-hook 'TeX-mode-hook
(lambda () (font-lock-add-keywords nil
'(("\\\\begin{\\([^}\\s-]*\\)}" 1 'italic t)))))
t means override any previous fontifications.
See the documentation of the functions font-lock-add-keywords and font-lock-keywords for more details.
There are some infos in the emacs manual about what is called "font lock". You can access the relevant part by evaluating (info "(emacs) Font Lock").