# [Dev-luatex] \mathchar feature request

Linas Stonys lstonys at vtex.lt
Thu Mar 21 15:54:39 CET 2019

Produces three Γ with lualatex TL2018.
First one is missing char.  And I can't reproduce bad example with the
wrong symbol because it was a huge file and I can't find it now.

\documentclass{article}
\usepackage{amsfonts}

\begin{document}
\Gamma $\Gamma$
\Gamma $\Gamma$
\end{document}

On 3/21/2019 4:14 PM, Marcel Krüger wrote:
>   ---- On Thu, 21 Mar 2019 14:51:25 +0100 Linas Stonys <lstonys at vtex.lt> wrote ----
>   > the problem is that this command appears not in math mode.
>   > Then it takes \textfont for character to output.
>   > For example one forgot \Gamma to write as $\Gamma$ and he/she
>   > used some packages where \Gamma appeared in pdf. But such a file comes
>   > to publishing system where different packages and different fonts are
>   > used this \Gamma will silently become some other character.
>
> Sorry, I think I am missing something here but I still do not see your point.
> If someone forgot to write $\Gamma$ instead of \Gamma
> and \Gamma is a \mathchar, then \Gamma is printed outside math mode with the
> appropriate \textfont. But if he would have written $\Gamma$, basically the same thing
> would have happened:
> The Gamma would still be written with the same \textfont, so the same slot + the same font => The same character.
> How can this silently become another character? The only difference is that there are no mathon/mathoff nodes
> around it and \everymath is not called.
>
> Is the problem that \everymath would have changed your math fonts but this doesn't happen for non math mode mathchars?
>
>   >
>   > lets say \mathaccent doesn't compile in text mode but \mathchar does.
>   >
>
> What does \mathaccent has to do with this? Are you concerned that a \mathchar might be implemented using \mathaccent in
> other packages?
>
>   > luatex sources just outputs:
>   > void math_char_in_text(mathcodeval mval)
>   > {
>   > ....
>   > p = new_char(fam_fnt(mval.family_value, text_size), mval.character_value);
>   > }
>   >
>   > that's why I'm asking about some other subtype that I could control
>   > such situations.
>
> I do not think that this would be a bad idea, I just do not see why you need it in this situation.
>
> But if this LuaTeX team does not want to implement this, you might be able to detect such characters by scanning
> for glyph nodes using a math font and not being inside a mathon/mathoff pair
>
>
> Best regards
> Marcel Krüger
>
>   >
>   > > subtypes already have a defined meaning
>   > >
>   > > but you can consider setting an attribute in mathmode (with everymath)
>   > > so that you can then (wherever) check if a character originates in math
>   > >
>
>
>