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