ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Henri Menke <henrimenke@gmail.com>
To: ntg-context@ntg.nl
Subject: Re: feature request
Date: Thu, 4 Jul 2019 17:48:07 +1200	[thread overview]
Message-ID: <a86e3394-b102-96d8-30d8-964e5d589b85@gmail.com> (raw)
In-Reply-To: <CABHwazVDw4-Ca2sV6Q+9_y7idd3-69-CVjdgPRr=eYsneBQWVQ@mail.gmail.com>

The existing definition of \pmatrix in math-pln.mkiv is the original
Plain TeX definition, because in the very early days ConTeXt used to be
compatible with Plain.  This tradition has prevailed until today.  You
will find other remnants of Plain TeX in ConTeXt, e.g. \eqalign, but it
is better not to use them.

Just like Plain TeX, ConTeXt does not provide \bmatrix and \vmatrix.
One reason is that they didn't exist in Plain, but another important
reason is that Hans is not a mathematician.  If I remember correctly
ConTeXt was originally developed for typesetting of primary school
textbooks and last I checked matrix algebra was not part of the
curriculum.

Other developers (Alan, Aditya, and others) have contributed math
typesetting macros over time, but these follow the ConTeXt philosophy of
providing strong defaults but trying to avoid feature creep.  Therefore
bmatrix, vmatrix, etc. are not defined by default, but as you saw from
my last message it is trivial to define these, especially because
templates (matrix:parentheses, etc.) for them already exist in the core.

It would sometimes be nice if you could just copy and paste LaTeX code
into a ConTeXt document and it just works™, but after all ConTeXt is not
LaTeX.

Cheers, Henri

On 4/07/19 5:18 PM, Atsuhito Kohda wrote:
> Hi Henri,
> Thanks for your suggestions, they are very instructive.
> However, my request is not a smart way of displaying matrices
> but to know why \bmatrix and \vmatrix are not provided
> in core part of ConTeXt although \pmatrix is provided already
> in math-pln.mkiv
> 
> About matrices, I first found commands in your first email in
> http://dl.contextgarden.net/myway/context-latex-math.pdf
> (like \startpmatrix \NC A\NC B\NR \NC C\NC D\NR\stoppmatrix)
> and then browsing ma-cb-en.pdf I noticed another command
> like \pmatrix{A&B\cr C&D\cr}.
> Now by your email, I know a command \pmatrix{A, B; C, D}
> 
> One might say ConTeXt is flexible but I've an impression
> that ConTeXt is in a state of confusion/disorder.
> 
> I think it is better if a standard command is provided
> by core ConTeXt or by a module etc.
> 
> Or is it ConTeXt way that each user defines his/her own commands
> in setup area and uses them in text area?
> I'm afraid consistency and/or portability is lost in such scenario.
> 
> BTW, I constantly convert Beamer documents into ConTeXt's
> simpleslide documents recently and it is very convenient
> if I can use \pmatrix{a&b\cr c&d\cr} style because it is similar
> to LaTeX documents.
> 
> 2019年7月3日(水) 15:42 Henri Menke <henrimenke@gmail.com>:
> 
>>
>>
>> On 3/07/19 6:00 PM, Atsuhito Kohda wrote:
>>> I've used LaTeX quite a long time but recently I begin to use ConTeXt
>> too.
>>> So I'm very sorry if the following is well-known issue.
>>>
>>> I find an example of \pmatrix in p.21 of "ConTeXt Mark IV an excursion"
>>> (ma-cb-en.pdf).  And I notice it is defined in
>>> /usr/share/texmf/tex/context/base/mkiv/math-pln.mkiv (in Debian).
>>> But it seems \bmatrix, \vmatrix are not defined yet.
>>> Is there any reason why they are not defined?
>>> Similar commands or environments \begin{bmatrix}...\end{bmatrix},
>>> \begin{vmatrix}...\end{vmatrix} are very often used in mathematical
>>> LaTeX documents.
>>> It is very useful if we can use \bmatrix and \vmatrix in ConTeXt
>>> documents, so please add
>>> \unexpanded\def\bmatrix#1%
>>>   {\left[\matrix{#1}\right]}
>>> \unexpanded\def\vmatrix#1%
>>>   {\left|\matrix{#1}\right|}
>>> in math-pln.mkiv or somewhere.
>>
>> Ignore my other message, this is even better:
>>
>> \definemathmatrix
>>   [pmatrix]
>>   [matrix:parentheses]
>>   [simplecommand=pmatrix]
>>
>> \definemathmatrix
>>   [bmatrix]
>>   [matrix:brackets]
>>   [simplecommand=bmatrix]
>>
>> \definemathmatrix
>>   [vmatrix]
>>   [matrix:bars]
>>   [simplecommand=vmatrix]
>>
>> \definemathmatrix
>>   [Vmatrix]
>>   [left={\left\lVert\mskip\thinmuskip},
>>    right={\mskip\thinmuskip\right\rVert},
>>    align=middle,
>>    simplecommand=Vmatrix]
>>
>> \starttext
>>
>> \startformula
>>     \startpmatrix
>>         \NC A \NC B \NR
>>         \NC C \NC D \NR
>>     \stoppmatrix
>>     \quad
>>     \startbmatrix
>>         \NC A \NC B \NR
>>         \NC C \NC D \NR
>>     \stopbmatrix
>>     \quad
>>     \startvmatrix
>>         \NC A \NC B \NR
>>         \NC C \NC D \NR
>>     \stopvmatrix
>>     \quad
>>     \startVmatrix
>>         \NC A \NC B \NR
>>         \NC C \NC D \NR
>>     \stopVmatrix
>> \stopformula
>>
>> \startformula
>>     \pmatrix{A, B; C, D}
>>     \quad
>>     \bmatrix{A, B; C, D}
>>     \quad
>>     \vmatrix{A, B; C, D}
>>     \quad
>>     \Vmatrix{A, B; C, D}
>> \stopformula
>>
>> \stoptext
>>
>>>
>>> By the way, I think it is critical to set
>>> \setupmathematics[ampersand=normal]
>>> to use \matrix above but I can't find this setting in ma-cb-en.pdf
>>> It is great if this is added in  ma-cb-en.pdf
>>>
>>>
>>>
>> ___________________________________________________________________________________
>>> 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://context.aanhet.net
>>> archive  : https://bitbucket.org/phg/context-mirror/commits/
>>> wiki     : http://contextgarden.net
>>>
>> ___________________________________________________________________________________
>>>
>>
>>
>> ___________________________________________________________________________________
>> 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://context.aanhet.net
>> archive  : https://bitbucket.org/phg/context-mirror/commits/
>> wiki     : http://contextgarden.net
>>
>> ___________________________________________________________________________________
>>
> 
> 
> ___________________________________________________________________________________
> 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://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________
> 

___________________________________________________________________________________
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2019-07-04  5:48 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-03  6:00 Atsuhito Kohda
2019-07-03  6:35 ` Henri Menke
2019-07-03  6:42 ` Henri Menke
2019-07-04  5:18   ` Atsuhito Kohda
2019-07-04  5:48     ` Henri Menke [this message]
2019-07-05 23:31       ` Atsuhito Kohda
2019-07-04 15:16     ` Aditya Mahajan
2019-07-04 15:54       ` Alan Braslau
2019-07-05 23:44         ` Atsuhito Kohda
2019-07-05 23:35       ` Atsuhito Kohda
  -- strict thread matches above, loose matches on Subject: below --
2011-11-11 15:34 Steffen Wolfrum
2011-11-11 15:53 ` Andreas Harder
2011-11-11 15:57   ` Wolfgang Schuster
2011-11-11 16:01 ` Wolfgang Schuster
2011-11-11 18:47 ` Idris Samawi Hamid ادريس  سماوي حامد
2011-11-13 10:55   ` Steffen Wolfrum
2011-11-13 21:33     ` Andreas Schneider
2011-11-14  7:57       ` Steffen Wolfrum
2011-11-14  8:07         ` Hans Hagen
2011-11-14  9:22           ` Steffen Wolfrum
2011-11-14 18:38             ` Idris Samawi Hamid ادريس  سماوي حامد
2011-11-15 22:03               ` Idris Samawi Hamid ادريس   سماوي حامد
2011-11-15 22:11                 ` Wolfgang Schuster
2011-11-15 22:28                 ` Aditya Mahajan
2011-11-15 22:47                   ` Idris Samawi Hamid ادريس   سماوي حامد
2011-11-14  8:47 ` Aditya Mahajan
2011-11-14 14:03   ` Hans Hagen
2011-11-15  3:35     ` Aditya Mahajan
2011-11-15  5:43       ` Aditya Mahajan
2011-11-15  8:56         ` Hans Hagen
2007-07-05 17:41 Feature request John R. Culleton
2007-07-05 21:37 ` Patrick Gundlach
2007-07-05 22:27   ` John R. Culleton
2007-07-06  8:09     ` Patrick Gundlach
2005-07-27  9:58 Steffen Wolfrum
2005-07-27 22:16 ` Hans Hagen
     [not found] <a06210200bf0958f2bc0f@87.193.3.198>
2005-07-26 16:20 ` Mojca Miklavec
2005-07-26 22:56   ` Hans Hagen
2005-07-27  5:15     ` luigi.scarso
2005-07-26 15:33 Steffen Wolfrum
2005-07-26 22:38 ` Hans Hagen
2005-07-26 15:00 Steffen Wolfrum
2005-07-26 13:32 Steffen Wolfrum
2005-07-26 14:21 ` Hans Hagen
2005-07-26 14:32 ` Hans Hagen

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=a86e3394-b102-96d8-30d8-964e5d589b85@gmail.com \
    --to=henrimenke@gmail.com \
    --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).