From: mf <massifr@fastwebnet.it>
To: Wolfgang Schuster <wolfgang.schuster.lists@gmail.com>,
mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: offset for background overlay
Date: Sat, 11 Apr 2020 23:59:38 +0200 [thread overview]
Message-ID: <3617a03a-e849-470b-ed24-daace720e56c@fastwebnet.it> (raw)
In-Reply-To: <d733d964-abb1-0589-9057-9022964f7d9f@gmail.com>
Thanks Hans and Wolfgang.
@Wolfgang: your solution is clearer, but unfortunately it works only for
this MWE. In the real case the triangle extends over 2 rows, but the
table has more than 2 rows.
I tried grouping the first two rows in a
\bTABLEbody[background=triangle], but it doesn't work.
@both: \setupoverlay[hoffset=...,voffset=...]?
\setupframed[backgroundhoffset=...,backgroundvoffset=...] (\bTD inherits
from \framed)?
Or maybe a method in MP to set the bounding box of the resulting overlay?
\setupframed has already a backgroundoffset option, whose value can be:
- a DIMENSION (an offset that is both horizontal and vertical)
- a "frame": what does it mean? (I looked into pack-rul.mkiv, with no
results)
Massi
Il 11/04/20 20:11, Wolfgang Schuster ha scritto:
> Hans Hagen schrieb am 11.04.2020 um 19:41:
>> On 4/11/2020 4:15 PM, mf wrote:
>>> Hello list,
>>> this MWE is a simplified version of a real case:
>>>
>>> \startuseMPgraphic{cell:triangle}
>>> path p ; p := unittriangle rotated 90 xscaled 2.5 OverlayWidth
>>> yscaled 2.5 OverlayHeight ;
>>> draw p withcolor red ;
>>> \stopuseMPgraphic
>>> \defineoverlay[triangle][{\uniqueMPgraphic{cell:triangle}}]
>>> \starttext
>>> \bTABLE[frame=off]
>>> \bTR
>>> \bTD[nx=2,background=triangle,align=middle] \dontleavehmode
>>> a\crlf text \eTD
>>> \eTR
>>> \bTR[toffset=1mm]
>>> \bTD left \eTD
>>> \bTD right \eTD
>>> \eTR
>>> \eTABLE
>>> \stoptext
>> here's a very ugly solution
>>
>> \startuseMPgraphic{cell:triangle}
>> fill llcorner OverlayBox
>> -- lrcorner OverlayBox
>> -- (center bottomboundary OverlayBox shifted
>> (0,\MPy{foo:2}-\MPh{foo:2}+\MPd{foo:2}-\MPy{foo:1}))
>> -- cycle
>> withcolor red ;
>> setbounds currentpicture to OverlayBox ;
>> \stopuseMPgraphic
>>
>> \defineoverlay[triangle][{\uniqueMPgraphic{cell:triangle}}]
>>
>> \starttext
>>
>> \bTABLE[frame=off]
>> \bTR
>> \bTD[nx=2,align=middle,height=0pt,background=triangle]\xypos{foo:1}\eTD
>> \eTR
>> \bTR
>> \bTD[nx=2,align=middle] \dontleavehmode a\crlf text \eTD
>> \eTR
>> \bTR[toffset=1mm]
>> \bTD \hpos{foo:2}{\strut} left \eTD
>> \bTD right \eTD
>> \eTR
>> \eTABLE
>>
>> \stoptext
>>
>> it is probably possible to get some info otherwise (more efficient) if
>> really needed (if we add some helpers)
>
> Simpler, put the table in a frame.
>
> \startuseMPgraphic{cell:triangle}
> draw llcorner OverlayBox
> -- lrcorner OverlayBox
> -- center topboundary OverlayBox
> -- cycle
> withcolor red ;
> \stopuseMPgraphic
>
> \defineoverlay[triangle][{\uniqueMPgraphic{cell:triangle}}]
>
> \starttext
>
> \startframed[frame=off,offset=1ex,loffset=2ex,roffset=2ex,toffset=2ex,background=triangle]
>
> \bTABLE[frame=off]
> \bTR
> \bTD[nx=2,align=middle] a\crlf text \eTD
> \eTR
> \bTR[toffset=1mm]
> \bTD left \eTD
> \bTD right \eTD
> \eTR
> \eTABLE
> \stopframed
>
> \stoptext
>
> Wolfgang
___________________________________________________________________________________
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
___________________________________________________________________________________
next prev parent reply other threads:[~2020-04-11 21:59 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-11 14:15 mf
2020-04-11 17:41 ` Hans Hagen
2020-04-11 18:11 ` Wolfgang Schuster
2020-04-11 21:59 ` mf [this message]
2020-04-12 5:53 ` Wolfgang Schuster
2020-04-13 15:21 ` mf
2020-04-13 16:14 ` Wolfgang Schuster
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=3617a03a-e849-470b-ed24-daace720e56c@fastwebnet.it \
--to=massifr@fastwebnet.it \
--cc=ntg-context@ntg.nl \
--cc=wolfgang.schuster.lists@gmail.com \
/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).