ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Math letters in commands
@ 2016-09-11 20:48 Hans Åberg
  2016-09-12 18:25 ` Hans Åberg
  0 siblings, 1 reply; 8+ messages in thread
From: Hans Åberg @ 2016-09-11 20:48 UTC (permalink / raw)
  To: ConTeXt users

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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Math letters in commands
  2016-09-11 20:48 Math letters in commands Hans Åberg
@ 2016-09-12 18:25 ` Hans Åberg
  2016-09-12 19:45   ` Hans Hagen
  0 siblings, 1 reply; 8+ messages in thread
From: Hans Åberg @ 2016-09-12 18:25 UTC (permalink / raw)
  To: mailing list for ConTeXt users

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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Math letters in commands
  2016-09-12 18:25 ` Hans Åberg
@ 2016-09-12 19:45   ` Hans Hagen
  2016-09-12 20:02     ` Hans Åberg
  2016-09-12 20:09     ` Hans Åberg
  0 siblings, 2 replies; 8+ messages in thread
From: Hans Hagen @ 2016-09-12 19:45 UTC (permalink / raw)
  To: mailing list for ConTeXt users

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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Math letters in commands
  2016-09-12 19:45   ` Hans Hagen
@ 2016-09-12 20:02     ` Hans Åberg
  2016-09-13  5:57       ` Hans Hagen
  2016-09-12 20:09     ` Hans Åberg
  1 sibling, 1 reply; 8+ messages in thread
From: Hans Åberg @ 2016-09-12 20:02 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen


> On 12 Sep 2016, at 21:45, Hans Hagen <pragma@wxs.nl> 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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Math letters in commands
  2016-09-12 19:45   ` Hans Hagen
  2016-09-12 20:02     ` Hans Åberg
@ 2016-09-12 20:09     ` Hans Åberg
  1 sibling, 0 replies; 8+ messages in thread
From: Hans Åberg @ 2016-09-12 20:09 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen


> On 12 Sep 2016, at 21:45, Hans Hagen <pragma@wxs.nl> 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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Math letters in commands
  2016-09-12 20:02     ` Hans Åberg
@ 2016-09-13  5:57       ` Hans Hagen
  2016-09-13  8:16         ` Hans Åberg
  2016-09-13  8:27         ` Hans Åberg
  0 siblings, 2 replies; 8+ messages in thread
From: Hans Hagen @ 2016-09-13  5:57 UTC (permalink / raw)
  To: Hans Åberg, mailing list for ConTeXt users

On 9/12/2016 10:02 PM, Hans Åberg wrote:
>
>> On 12 Sep 2016, at 21:45, Hans Hagen <pragma@wxs.nl> 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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Math letters in commands
  2016-09-13  5:57       ` Hans Hagen
@ 2016-09-13  8:16         ` Hans Åberg
  2016-09-13  8:27         ` Hans Åberg
  1 sibling, 0 replies; 8+ messages in thread
From: Hans Åberg @ 2016-09-13  8:16 UTC (permalink / raw)
  To: Hans Hagen; +Cc: mailing list for ConTeXt users


> On 13 Sep 2016, at 07:57, Hans Hagen <pragma@wxs.nl> 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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Math letters in commands
  2016-09-13  5:57       ` Hans Hagen
  2016-09-13  8:16         ` Hans Åberg
@ 2016-09-13  8:27         ` Hans Åberg
  1 sibling, 0 replies; 8+ messages in thread
From: Hans Åberg @ 2016-09-13  8:27 UTC (permalink / raw)
  To: Hans Hagen; +Cc: mailing list for ConTeXt users


> On 13 Sep 2016, at 07:57, Hans Hagen <pragma@wxs.nl> 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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-09-13  8:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-11 20:48 Math letters in commands Hans Åberg
2016-09-12 18:25 ` Hans Åberg
2016-09-12 19:45   ` Hans Hagen
2016-09-12 20:02     ` Hans Åberg
2016-09-13  5:57       ` Hans Hagen
2016-09-13  8:16         ` Hans Åberg
2016-09-13  8:27         ` Hans Åberg
2016-09-12 20:09     ` Hans Åberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).