On Fri, 10 Dec 2010, Vladimir Lomov wrote:

** Aditya Mahajan [2010-12-09 23:49:26 -0500]:

This is a proposal for a new way of selecting math mappings in MkIV. I want
to get input from other math users whether this syntax would take care of all
scenarios or not.

There are five different ranges in mathematics:
- digits (0..9)
- lower case Latin (abc..z)
- upper case Latin (ABC..Z)
- lower case Greek (αβγ..ζ)
- upper case Greek (ΑΒΓ..Z)
Should be: αβγ..ω
and ΑΒΓ..Ω

Thanks. I need to learn my Greek :)

A user may want to control what each range is mapped to. So, I suggest a setup
command

    \setupmathmappings
      [
         digits={style,alternative},
        lclatin={style,alternative},
        uclatin={style,alternative},
        lcgreek={style,alternative},
        ucgreek={style,alternative},
      ]

where the options for style are

  normal, bold

while the options for alternative are

  normal, italic, sans, sansitalic, blackboard, script

This command will the mappings for each range. **NOTE**: All combinations are 
not valid.

A companion command

    \definemathmappings
      [whatever]
      [....]

can be used to define multiple mappings. These mappings can be used by

    \setupmathmappings[whatever]

(An alternative is that these mappings are activated using \whatever ...)

For example, we can define a command to typeset vectors using

    \definemathmappings
      [vectors]
      [ digits={bold,normal},
       lclatin={bold,normal},
       uclatin={bold,normal},
       lcgreek={bold,normal},
       ucgreek={bold,normal}]

    \def\VEC{\groupedcommand{\setupmathmappings[vector]}{}}
Is it should be
\def\VEC{\groupedcommand{\setupmathmappings[vectors]}{}}
?

Indeed. Thanks.

If later, we want to represent vectors as sans serif, we can use


    \definemathmappings
      [vectors]
      [ digits={normal,sans},
       lclatin={normal,sans},
       uclatin={normal,sans},
       lcgreek={normal,sans},
       ucgreek={normal,sans}]

This interface makes it easy to switch math fonts for disiplines that want
different style for different alphabet ranges.

It is relatively easy to implement the above interface. All we need
is some bookkeeping to set the right attributes. The default math
mapping commands can be reimplmeneted using \definemappings. Before
implementing this, I want to ask the opinion of other math users.

Would the above interface take care of different use cases, or is it missing
something?
IMHO, style is already used so it is normal.
Finally, I am not too happy with the syntax. There are only a few ConTeXt
commands in which the keys take a pair of values. Another option is to allow all
12 valid options

  normal, italic, sans, sansitalic, blackboard, script,
  bold, bolditlaic, boldsans, boldsansitalic, boldblackboard, boldscript

This very depends on used fonts.

I am assuming a complete opentype math font.

with the variants sansitalic-italicsans, boldsans-sansbold, etc. as synonmyms.

Which way of specifying the keys do you prefer?

Actually I don't get what you try to do.

I'll try to explain better in a later post.

I thought that 'font
switching' command should take care of font switching either in math or
text modes (if typescript is set properly).

I am proposing to separate out math font switching from text mode font
switching.

Right now the only good
example of usage of proposed mechanism is \VEC command (for vectors and etc).

More on this later.

Aditya

___________________________________________________________________________________
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
___________________________________________________________________________________

Reply via email to