On 11/26/2020 8:43 PM, Otared Kavian wrote:
Hi Jean-Philippe,
A few weeks ago I saw briefly the discussion about Hans' message regarding
\noalign and the the new definitions of \HR and \VR that you are sending.
Indeed your solution works great !
Just for the case other people may have the same question about writing block
matrix, I copy below the whole example which can be found later in the mail
archive.
(For mkiv, I don't know how to do the same thing…).
The \noaligned permits a \protected definition. Otherwise one has to do
something
\def\VR{\noalign\bgroup
<command that picks up [#1]
that command then does the rule and ends the noalign. Also, that one
cannot be \protected (a pitty in case one uses \expanded or so)
So ... a multistep approach. Plenty of that in mkiv.
%%% begin block-matrix.tex
% in LMTX defining \HR and \VR to create block matrices:
\pushoverloadmode
\noaligned\tolerant\protected\def\HR[#1]{\noalign{\hrule #1}}
\popoverloadmode
\def\VR{\dosingleempty\doVR}
\def\doVR[#1]{\NC \hskip-0.5em \vrule #1 \hskip-0.5em \NC}
given the \HR definition that should be
\tolerant\protected\def\VR[#1]{\NC ...\NC}
\definemathmatrix[mymatrix]
[left={\left(\,},
right={\, \right)}]
\starttext
\startformula
\startmymatrix
\NC A \VR B \NR
\HR
\NC C \VR D \NR
\stopmymatrix
\stopformula
\stoptext
Anyway, a feature like this should be in sync with other table
mechanisms, so
\definemathmatrix
[mymatrix]
[left={\left\lparent\thinspace},
right={\thinspace\right\rparent}]
\starttext
\startformula
\startmymatrix
\NC A \VL B \NR
\HL
\NC C \VL D \NR
\stopmymatrix
\stopformula
\startformula
\startmymatrix
\NC A \VL[3,green] B \NR
\HL[10,red]
\NC C \VL D \NR
\stopmymatrix
\stopformula
\stoptext
A bit more code needed but the next upload will have it. Of course you
have to wikify it.
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________