From: Aditya Mahajan <adityam@umich.edu>
To: WN <wneimeijer@tiscali.nl>
Cc: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: extra math symbols and alignment
Date: Wed, 01 Aug 2007 12:33:19 -0400 [thread overview]
Message-ID: <20070801123319.tu1ltuky88scgcsk@web.mail.umich.edu> (raw)
In-Reply-To: <46B071E7.9060002@tiscali.nl>
Quoting WN <wneimeijer@tiscali.nl>:
> Hi Aditya
>
> I tried your code and performed more tests. My first tests show your fix
> works. But than I added a \section{} in my test code and I am sorry
> to say that
> the math matrix alignment does not work at that point.
> However the extra math fonts I defined still do work.
Ok. I will test this to see what is happening. (I do not have an
uptodate context on this machine).
> General observation
> I thought from the examples like using the RSFS font on the wiki page
> http://wiki.contextgarden.net/rsfs that using other fonts for math
> should be easy.
> Thinking about this specific example I now understand that this
> example is flawed
> as some default math characters are also overwritten.
I am out of depths here. I do not really understand how math fonts are
handled. The wiki example was modified from a suggestion from Taco. For
rsfs, you can go to the plain tex way of doing things also.
Aditya
> PS
> Attached my modified test code along with the map file for the RSFS fonts.
> For the RSFS fonts I am using \definedfont and not using the definebodyfont.
>
>> Hi Wim,
>>
>> On Tue, 31 Jul 2007, WN wrote:
>>
>> see previous email
>
>> Phew! This was a hard to find bug. First, to illustrate the bug:
>> \definetypeface[mainface] [rm] [serif] [modern] [default] [encoding=texansi]
>> \definetypeface[mainface] [mm] [math] [modern] [modern] [encoding=texansi]
>>
>> \setupbodyfont[mainface,11pt]
>>
>> \loggingall
>>
>> \starttext
>> \startformula
>> A = \startmatrix[align={left,right}]
>> \NC 11 \NC 2 \NR
>> \NC 2 \NC -5 \NR
>> \stopmatrix
>> \stopformula
>>
>> \stoptext
>>
>> Try with and without the font declarations. With the font
>> declarations, you lost matrix alignment. The reason is that
>> \startmatrix uses \scratchcounter, which gets rewritten when using a
>> font collection other than "default". One fix it to replace
>> \scractcounter in matrix constructions by some other counter, for
>> example \!!counta.
>>
>> So, add this to your file (beware of false line breaks in email)
>>
>> \unprotect
>>
>> \def\dostartmathmatrix[#1][#2]%
>> {\begingroup
>> \edef\currentmathmatrix{#1}%
>> \doifassignmentelse{#2}{\setupmathmatrix[#1][#2]}\donothing
>> \null
>>
>> \executeifdefined{\??mx:\mathmatrixparameter\c!location}{\getvalue{\??mx:\v!lohi}}%
>> \mathmatrixleft
>> \mathmatrixbox\bgroup
>> \pushmacro\domatrixNC
>> \let\endmath\relax
>> \def\NC{\domatrixNC}%
>> \def\MC{\domatrixNC\ifmmode\else$\def\endmath{$}\fi}%
>> \global\let\domatrixNC\dodomatrixNC
>> \def\NR{\endmath\global\let\domatrixNC\dodomatrixNC\crcr}%
>> \normalbaselines
>> \mathsurround\zeropoint
>> \everycr\emptytoks
>> \tabskip\zeropoint
>> \eqaligncolumn\zerocount % could be \!!counta
>>
>> \processcommacommand[\mathmatrixparameter\c!align]{\advance\eqaligncolumn\plusone\dosetmatrixcolumn}%
>> \!!counta=\ifnum\eqaligncolumn>\!!counta \eqaligncolumn \else
>> \plusone \fi
>> \global\eqaligncolumn\plusone
>> \preparemathmatrix } % uses !!counta
>>
>> \def\buildmathmatrix % beware: etex only
>> {\scratchtoks\emptytoks
>> \expanded{\scratchtoks{\the\scratchtoks\the\!!toksa}}%
>> \dorecurse{\numexpr\!!counta-\plusone\relax}
>> {\expanded{\scratchtoks{\the\scratchtoks\the\!!toksb}}}%
>> \expanded{\scratchtoks{\the\scratchtoks\the\!!toksc }}}
>>
>> \protect
>>
>> Hans, this needs to be changed in core-mat.tex. I do not know if
>> something can be done to avoid such errors in future.
>>
>> Wim, I am attaching a modified version of your file which gives the
>> correct output. (I needed to make some changes since I did not have
>> your map file for rsfs). You loose some symbols from the math
>> collection. I do not know how to add extra math symbol sets without
>> loosing these characters. Look at math-tim.tex to see how more
>> families can be supported. But I would suggest waiting for mkiv,
>> where the limit on font families will be removed and some of this
>> font mess would be cleaner.
>>
>> 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 : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
next prev parent reply other threads:[~2007-08-01 16:33 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-31 13:28 WN
2007-08-01 3:27 ` Aditya Mahajan
2007-08-01 11:43 ` WN
2007-08-01 16:33 ` Aditya Mahajan [this message]
2007-08-02 16:28 ` Aditya Mahajan
2007-08-02 21:25 ` WN
2007-08-02 21:33 ` Aditya Mahajan
2007-08-02 21:48 ` extra math symbols and alignment (WORKS) WN
-- strict thread matches above, loose matches on Subject: below --
2007-07-28 20:00 extra math symbols and alignment w.neimeijer
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=20070801123319.tu1ltuky88scgcsk@web.mail.umich.edu \
--to=adityam@umich.edu \
--cc=ntg-context@ntg.nl \
--cc=wneimeijer@tiscali.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).