[NTG-context] mathmatrix and internal lines
Jean-Philippe Rey
jean-philippe.rey at centralesupelec.fr
Thu Nov 26 19:46:53 CET 2020
Hi Otared,
Thank you very much.
I used your example to write the following macros. They are far from perfect but suit my needs. A few days ago, Hans warned not to use \noalign in LMTX, so I used the trick he gave to the list even if I don't really understand it.
=== LMTX version ============
%D \macros{HR, VR}
%D \type{\HR} draws a horizontal rule between two rows of a matrix
%D \type{\VR} is used in place of \type{\NC} to draw a vertical rule between two columns of a matrix
%D each macro takes an optional parameter giving the rule dimensions
%D Example
%D \type{\startmatrix \NC A \VR[depth 2mm] B \NR \HR[height 0.6pt] \NC C \VR D \NR \stopmatrix}
\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}
===========================
=== MkIV version ============
%D \macros{HR, VR}
%D \type{\HR} draws a horizontal rule between two rows of a matrix
%D \type{\VR} is used in place of \type{\NC} to draw a vertical rule between two columns of a matrix
%D it takes an optional parameter giving the rule dimensions
%D Example
%D \type{\startmatrix \NC A \VR[depth 2mm] B \NR \HR \NC C \VR D \NR \stopmatrix}
\def\HR{\noalign{\hrule}}
\def\VR{\dosingleempty\doVR}
\def\doVR[#1]{\NC \hskip-0.5em \vrule #1 \hskip-0.5em \NC}
===========================
For the MkIV version I haven't been able to add an optional parameter to \HR the code
\def\HR{\dosingleempty\doHR}
\def\doHR[#1]{\noalign{\hrule #1}}
complains about "Misplaced \noalign"
Best regards,
> Le 26 nov. 2020 à 13:40, Otared Kavian <otared at gmail.com> a écrit :
>
> Hi Jean-Philippe,
>
> The following is better than the one I sent earlier:
>
> \definemathmatrix[mymatrix]
> [left={\left(\,},
> right={\ \right)}]
>
> \starttext
> \startformula
> \startmymatrix
> \NC A \NC\hskip-.5em \vrule \NC\hskip-.5em B \NR
> \noalign{\hrule}
> \NC C \NC \hskip-.5em\vrule \NC \hskip-.5em D \NR
> \stopmymatrix
> \stopformula
> \stoptext
>
> Best regards: Otared K.
>
>> On 26 Nov 2020, at 10:19, Jean-Philippe Rey <jean-philippe.rey at centralesupelec.fr> wrote:
>>
>> Dear list,
>>
>> I would like to draw matrices with internal lines as can be done with LaTeX (cf pdf output) :
>>
>> ========================
>> \documentclass{article}
>> \begin{document}
>> $M =\left( \begin{array}{c|c}
>> A & B \\
>> \hline
>> C & D \\
>> \end{array} \right)$
>> \end{document}
>> ========================
>>
>> I didn't find out how to use mathmatrix to achieve this. My best result to date is
>>
>> ========================
>> \starttext
>> $M = \left( \bTABLE[frame=off]
>> \bTR
>> \bTD[rightframe=on, bottomframe=on] $A$ \eTD
>> \bTD[bottomframe=on] $B$ \eTD
>> \eTR\bTR
>> \bTD[rightframe=on] $C$ \eTD
>> \bTD $D$ \eTD
>> \eTR
>> \eTABLE \right)$
>> \stoptext
>> ========================
>>
>> The code is rather ugly, and I get a spurious space at the bottom of the table.
>>
>> Any hints?
>>
>> Thank you,
--
Jean-Philippe Rey
jean-philippe.rey at centralesupelec.fr <mailto:jean-philippe.rey at centralesupelec.fr>
91192 Gif-sur-Yvette Cedex - France
Empreinte PGP : 807A 5B2C 69E4 D4B5 783A 428A 1B5E E83E 261B BF51
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20201126/c23f0d3e/attachment-0001.htm>
More information about the ntg-context
mailing list