help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Rainbow-delimiters highlighting { and } for tex and latex


From: Christopher Dimech
Subject: Re: Rainbow-delimiters highlighting { and } for tex and latex
Date: Fri, 9 Sep 2022 22:13:33 +0200

> Sent: Saturday, September 10, 2022 at 7:36 AM
> From: "Arash Esbati" <arash@gnu.org>
> To: "Christopher Dimech" <dimech@gmx.com>
> Cc: "Alessandro Bertulli" <alessandro.bertulli96@gmail.com>, "Stefan Monnier" 
> <monnier@iro.umontreal.ca>, wilnerthomas@tutanota.com, help-gnu-emacs@gnu.org
> Subject: Re: Rainbow-delimiters highlighting { and } for tex and latex
>
> Christopher Dimech <dimech@gmx.com> writes:
>
> > For instance, tex-mode and latex-mode do provide a preview tool that uses
> > "prettify-symbols".
>
> I don't understand how the sentence above fits to the next one.  The
> feature "prettify-symbols" is there and working, so what do you want to
> change?

Mentioning `prettify-symbols` was not necessarily about changing it,
but an argument in favour of valuable functionality, because there
is also the school of thought stating that built-in tex-mode and
latex-mode should only implement the most basic functionality (e.g.
language highlighting) rather than including convenient tools such as
typography previewing and keyword shortcuts (e.g. cdlatex).

I am more pragmatic, seeing typography previewing and keyword shortcuts
as valuable even for a basic core tex and latex mode.

But not extreme, in the sense that Auctex can continue as a package
for additional functionality.

> > Being able to introduce keywords rapidly (more efficiently than can be
> > achieved with text completion) is also valuable for users, currently
> > provided by cdlatex.  The problem with cdlatex is that it also depends
> > upon texmathp which currently forces users to either pick the file and
> > add it to their emacs configuration or install auctex.  Which
> > immediately makes the various CamelCase version of modes and hooks
> > come up.
>
> This is admittedly a nuisance: If you want to use the stock tex-mode
> with cdlatex and you install AUCTeX via ELPA, AUCTeX will take over.
> Maybe the solution is to provide texmathp.el as an ELPA-package without
> AUCTeX.

It is the plan to provide keyword shortcuts to tex-mode and latex-mode without
a built-in mechanism (taking code from texmathp.el or otherwise).

I do not approve that auctex should automatically take over.  On the
contrary, auctex is a separate project, and in accordance with that,
a user should specify whether he wants to hook with the emacs built-in
or with the auctex ones (e.g. auctex-tex-mode, auctex-latex-mode,
auctex-tex-mode-hook, auctex-latex-mode-hook).  Consequently one can
simultaneously allow some files to use latex-mode, whilst others can use
auctex-latex-mode.

> > The cdlatex functionality can be introduced into tex-mode and
> > latex-mode.  Getting the community to improve it would be highly
> > beneficial if the possibilities are included as emacs built-in.
>
> You want to duplicate the code and/or functionality?

Duplicate the functionality, although we can duplicate the code
because its author Carsten Dominik allows us.  We can then return
him a cleaned-up version that he can progress further if he wants
as a separate project.


> > Auctex and Cdlatex could continue seperately, for more exotic features
> > like as today.
>
> I can't tell for cdlatex since I've never used it, but I don't consider
> many features provided by AUCTeX as exotic.
>
> > For auctex, the recommendation is to reject TeX-mode and LaTeX-mode
> > (and related hooks), using instead auctex-tex-mode and
> > auctex-latex-mode (and corresponding hooks).
>
> Personally, I think that ship has sailed; one could define some aliases,
> but I'm not sure if that is going towards a replacement.

I do not see it would be a big challenge with users to simply change to
auctex-tex-mode and auctex-latex-mode.  We can keep them for a while, but
they stop taking over all tex and latex files when one wants to use latex-mode.


> > In summary, the focus is on these things
> >
> > 1. Improve design of tex-mode and latex-mode such that common structures
> >    are separated into a "core-file" applicable to both, with some minor
> >    tweaks in tex-mode and latex-mode if requires.
>
> This is what AUCTeX does with tex.el and plain-tex.el, latex.el,
> context.el etc.

Right, we should do the same with the built-in tex-mode which mixes
the tools fol tex and latex in the same file.

> > 2. Reevaluate the preview tool that uses prettify-symbols, to see whether
> >    there exists possibility of improvement by looking how auctex does
> >    things.
>
> AUCTeX is really dumb in this regard.  From tex.el:

If auctex is not doing anything smarter that what we have with
tex-mode and latex-mode, then we are good.

>   ;; Prettify Symbols mode
>   (require 'tex-mode)
>   (setq-local prettify-symbols-alist tex--prettify-symbols-alist)
>   (add-function :override (local 'prettify-symbols-compose-predicate)
>                 #'TeX--prettify-symbols-compose-p)
>
> and
>
>   (defun TeX--prettify-symbols-compose-p (start end match)
>     (and (tex--prettify-symbols-compose-p start end match)
>          (not (let ((face (get-text-property end 'face)))
>                 (if (consp face)
>                     (memq 'font-latex-verbatim-face face)
>                   (eq face 'font-latex-verbatim-face))))))
>
> Best, Arash
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]