ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Aditya Mahajan <adityam@umich.edu>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: Proposal for math mappings
Date: Fri, 10 Dec 2010 10:29:48 -0500 (EST)	[thread overview]
Message-ID: <alpine.LNX.2.01.1012101023120.10708@ybpnyubfg.ybpnyqbznva> (raw)
In-Reply-To: <20101210124117.GA4731@smoon>

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

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


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

  reply	other threads:[~2010-12-10 15:29 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-10  4:49 Aditya Mahajan
2010-12-10 12:41 ` Vladimir Lomov
2010-12-10 15:29   ` Aditya Mahajan [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LNX.2.01.1012101023120.10708@ybpnyubfg.ybpnyqbznva \
    --to=adityam@umich.edu \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).