Re: [NTG-context] Math letters in commands
> On 13 Sep 2016, at 07:57, Hans Hagenwrote: > 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 Hagenwrote: > > 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 Hagenwrote: 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 Hagenwrote: > 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 Hagenwrote: > > 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 ___