Re: [NTG-context] Math letters in commands
> On 13 Sep 2016, at 07:57, Hans Hagen wrote: > sure, but when you do > > \appendtoks > \catcode`\‘=\active > \def‘#1’{\csname #1\endcsname} > \to … FYI, this does not work for me; I must use LuaTeX \letcharcode: \def\usemathcommand#1’{\csname #1\endcsname} \appendtoks \catcode`‘=\activecatcode \letcharcode `‘ \usemathcommand \to \everymathematics Then “$” must be followed by a character other than ‘ for this command to be seen, but it works with “$$”. ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Math letters in commands
> On 13 Sep 2016, at 07:57, Hans Hagen wrote: > > On 9/12/2016 10:02 PM, Hans Åberg wrote: >> It does not happen with TeX using >> \catcode`\‘=\active >> \def‘#1’{\csname #1\endcsname} > > sure, but when you do > > \appendtoks > \catcode`\‘=\active > \def‘#1’{\csname #1\endcsname} > \to ... > > only tokens get added to the register ... so the ‘ after the \def is not > active (yet) > > in addition when tex sees a $ it will look for a next token (in case it's a $ > for display mode) and it sees a quote (no everymath doen then) which it will > push back OK. TeX does not parse the way I expected. ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Math letters in commands
On 9/12/2016 10:02 PM, Hans Åberg wrote: On 12 Sep 2016, at 21:45, Hans Hagen wrote: On 9/12/2016 8:25 PM, Hans Åberg wrote: But then there seems to be a bug in the LuaTex \letcharcode command: There must be a character between “$” and the first occurring \activecatcode letter. Possibly this also causes a bug in \startformula, as discussed before. it's not a bug .. tex looks ahead for a second $ and in the process expands the next token which happens to be a letter at that point so it gets injected as letter (it's the way tex works) I’m not sure what you mean here: I must write $ ‘𝐝𝐢𝐦’ 𝑉$, because $‘𝐝𝐢𝐦’ 𝑉$ will not see the \catcode`‘=\activecatcode. So LuaTeX must see an ordinary letter after $ before it can see an \activecatcode character. It does not happen with TeX using \catcode`\‘=\active \def‘#1’{\csname #1\endcsname} sure, but when you do \appendtoks \catcode`\‘=\active \def‘#1’{\csname #1\endcsname} \to ... only tokens get added to the register ... so the ‘ after the \def is not active (yet) in addition when tex sees a $ it will look for a next token (in case it's a $ for display mode) and it sees a quote (no everymath doen then) which it will push back Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Math letters in commands
> On 12 Sep 2016, at 21:45, Hans Hagen wrote: > fwiw, the current beta makes math characters also letters now I saw it. Fine! ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Math letters in commands
> On 12 Sep 2016, at 21:45, Hans Hagen wrote: > > On 9/12/2016 8:25 PM, Hans Åberg wrote: >> But then there seems to be a bug in the LuaTex \letcharcode command: There >> must be a character between “$” and the first occurring \activecatcode >> letter. Possibly this also causes a bug in \startformula, as discussed >> before. > > it's not a bug .. tex looks ahead for a second $ and in the process expands > the next token which happens to be a letter at that point so it gets injected > as letter (it's the way tex works) I’m not sure what you mean here: I must write $ ‘𝐝𝐢𝐦’ 𝑉$, because $‘𝐝𝐢𝐦’ 𝑉$ will not see the \catcode`‘=\activecatcode. So LuaTeX must see an ordinary letter after $ before it can see an \activecatcode character. It does not happen with TeX using \catcode`\‘=\active \def‘#1’{\csname #1\endcsname} ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Math letters in commands
On 9/12/2016 8:25 PM, Hans Åberg wrote: Found a workaround: The idea is to use \csname …\endcsname with two delimiters not likely to be used in math mode, below chosen to ‘…’. But then there seems to be a bug in the LuaTex \letcharcode command: There must be a character between “$” and the first occurring \activecatcode letter. Possibly this also causes a bug in \startformula, as discussed before. it's not a bug .. tex looks ahead for a second $ and in the process expands the next token which happens to be a letter at that point so it gets injected as letter (it's the way tex works) \appendtoks \catcode`𝐝\lettercatcode \catcode`𝐢\lettercatcode \catcode`𝐦\lettercatcode \to \everymathematics \definemathcommand[𝐝𝐢𝐦][nolop]{\mfunction{𝐦𝐢𝐝}} \starttext Note that $ \𝐝𝐢𝐦 𝑉 = 𝖫$, although $\dim 𝑉 = 4$. And a bug: $\𝐝𝐢𝐦 𝑉$. \stoptext fwiw, the current beta makes math characters also letters now - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Math letters in commands
Found a workaround: The idea is to use \csname …\endcsname with two delimiters not likely to be used in math mode, below chosen to ‘…’. But then there seems to be a bug in the LuaTex \letcharcode command: There must be a character between “$” and the first occurring \activecatcode letter. Possibly this also causes a bug in \startformula, as discussed before. \setupbodyfont[xits,10pt] \setupmathematics[lcgreek=normal, default=normal] \def\usemathcommand#1’{\csname #1\endcsname} \appendtoks \catcode`‘=\activecatcode \letcharcode `‘ \usemathcommand \to \everymathematics \definemathcommand[𝐝𝐢𝐦][nolop]{\mfunction{𝐝𝐢𝐦}} \starttext Note that $ ‘𝐝𝐢𝐦’ 𝑉 = 𝖫$, although $\dim 𝑉 = 4$. And a bug: $‘𝐝𝐢𝐦’ 𝑉$. \stoptext ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
[NTG-context] Math letters in commands
Just found that the code below does not work as intended, because \𝐝𝐢𝐦 will be parsed as \𝐝 followed by 𝐢𝐦. Can’t tell if it ought to be changed, though one could think other cases where it might be natural. The command definition of \𝐝 works though. \setupbodyfont[xits,10pt] \setupmathematics[lcgreek=normal, default=normal] \definemathcommand[𝐝𝐢𝐦][nolop]{\mfunction{𝐝𝐢𝐦}} \definemathcommand[𝐝][nolop]{\mfunction{𝐝𝐢𝐦}} \starttext Note that $\𝐝𝐢𝐦 𝑉 = 𝖫$, although $\dim 𝑉 = 4$. \stoptext ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___