ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Proposal for math mappings
@ 2010-12-10  4:49 Aditya Mahajan
  2010-12-10 12:41 ` Vladimir Lomov
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Aditya Mahajan @ 2010-12-10  4:49 UTC (permalink / raw)
  To: mailing list for ConTeXt users

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2770 bytes --]

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)

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]}{}}

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?

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

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

Which way of specifying the keys do you prefer?

Aditya

[-- Attachment #2: Type: text/plain, Size: 486 bytes --]

___________________________________________________________________________________
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] 9+ messages in thread

end of thread, other threads:[~2010-12-13 14:15 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-10  4:49 Proposal for math mappings Aditya Mahajan
2010-12-10 12:41 ` Vladimir Lomov
2010-12-10 15:29   ` Aditya Mahajan
2010-12-11 15:24     ` Otared Kavian
2010-12-10 13:49 ` Procházka Lukáš Ing. - Pontex s. r. o.
2010-12-10 15:22   ` Aditya Mahajan
2010-12-11 16:28 ` Aditya Mahajan
2010-12-12 16:15   ` Procházka Lukáš
2010-12-13 14:15     ` Aditya Mahajan

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).