[NTG-context] placing an MPGraphic/Lines over multiple table cells

Martin Althoff martin.althoff at yahoo.com
Sat Jan 5 15:09:33 CET 2019

I am trying to place some lines in "Z" shape over several cells of a 
table. This single "Z" has the intention of blocking manual alterations 
to the table in empty cells. The cells to blocked are always a coherent 
rectangle. I hope that makes sense.

In the example below, the table with 4 rows, 3 columns has content in 
column one only, the other 2 columns should have the "Z". Placing the 
blocking "Z" into every cell is not an option due to formal 

What I attempted below a) seems very cumbersome b) doesn't work (the 
small "Z" doesn't fill the frame).

While I can easily place a "Z" into a single cell (in the example), I 
can't figure out how to cover multiple cells. Furthermore, I would need 
to do a lot of calculations to figure out the multiple layer placements, 
column positions, etc. With multiple tables on a page, several pages, 
that seems error prone.

Any suggestions, corrections, hints are most welcome!

Kindly, Martin

Working example with some comments:

% Graphic that draws the "Z", that works fine in a single table cell as 
seen in the example
rulethickness:= \frameddimension{rulethickness}*3;

     withpen pencircle scaled rulethickness
     withcolor \MPcolor{\framedparameter{framecolor}});

pair topleftcorner, toprightcorner;
topleftcorner := (rulethickness, \overlayheight-rulethickness-1.5mm);
toprightcorner:= (\overlaywidth-rulethickness, 

pair lowerleftcorner, lowerrightcorner;
lowerleftcorner := (rulethickness, rulethickness+1.5mm);
lowerrightcorner:= (\overlaywidth-rulethickness, rulethickness+1.5mm);

draw topleftcorner -- toprightcorner;
draw lowerleftcorner -- lowerrightcorner;
draw toprightcorner -- lowerleftcorner;




% in an attempt to place the table at known positions, I put it into a 
layer. Though it is not really "background".
\definelayer[datatable][x=0mm, y=0mm,width=\textwidth, height=25mm]
\setlayer[datatable][hoffset=0mm, voffset=0mm]{

\bTD content1  \eTD \bTD  \eTD \bTD  \eTD
\bTD content  \eTD \bTD  \eTD \bTD  \eTD
\bTD content  \eTD \bTD \eTD \bTD  \eTD
\bTD content  \eTD \bTD[background=ZRule]  \eTD \bTD  \eTD


% Now trying to create another layer covering the table area where the 
"Z" should go.
\definelayer[ZStrike][x=32mm, y=0mm,width=60mm, height=24mm]
% The "Z" fails to reach full size of the frame

% arrange the "background" layers

\blank[force, 28mm]

further content

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20190105/8e7d5a8a/attachment.html>

More information about the ntg-context mailing list