I said:
So - is there a parameter which represents the current width of the layout area, taking into account itemisations, textbackgrounds and anything else? Thanks.
I came up with a rather ugly kludge which solves my immediate problem but might not be best. I created a new dimen, \RealWidth, and before each table I set it to the value of \textwidth minus leftskip minus rightskip. In other words, I did this: -- \newdimen\RealWidth \definetextbackground[TestBackground] [leftoffset=1em,rightoffset=1em,topoffset=8pt, bottomoffset=8pt,frame=on,location=paragraph] \starttext \starttextbackground[TestBackground] Some text first, which behaves perfectly, and then a table: \leavevmode\RealWidth=\textwidth\advance\RealWidth by-\leftskip\advance\RealWidth by-\rightskip\bTABLE \setupTABLE[column][1][width=0.3\RealWidth] \setupTABLE[column][2][width=0.7\RealWidth] \bTR\bTD I was hoping\eTD \bTD that this table would make itself narrower according to the background offsets, like the text does. And now it does!\eTD\eTR \eTABLE} \stoptextbackground \stoptext -- This produces what I want as far as I have tested it. I'm not sure it's the best or most comprehensive solution though. Duncan dh@capdm.com
Duncan Hothersall wrote:
I said:
So - is there a parameter which represents the current width of the layout area, taking into account itemisations, textbackgrounds and anything else? Thanks.
I came up with a rather ugly kludge which solves my immediate problem but might not be best. I created a new dimen, \RealWidth, and before each table I set it to the value of \textwidth minus leftskip minus rightskip. In other words, I did this:
-- \newdimen\RealWidth \definetextbackground[TestBackground] [leftoffset=1em,rightoffset=1em,topoffset=8pt, bottomoffset=8pt,frame=on,location=paragraph] \starttext \starttextbackground[TestBackground] Some text first, which behaves perfectly, and then a table:
\leavevmode\RealWidth=\textwidth\advance\RealWidth by-\leftskip\advance\RealWidth by-\rightskip\bTABLE \setupTABLE[column][1][width=0.3\RealWidth] \setupTABLE[column][2][width=0.7\RealWidth] \bTR\bTD I was hoping\eTD \bTD that this table would make itself narrower according to the background offsets, like the text does. And now it does!\eTD\eTR \eTABLE} \stoptextbackground \stoptext --
This produces what I want as far as I have tested it. I'm not sure it's the best or most comprehensive solution though.
kind of; an alternative is: \startlinecorrection % needed anyway \setlocalhsize \hsize\localhsize \dontleavehmode \bTABLE \setupTABLE[column][1][width=0.3\hsize] \setupTABLE[column][2][width=0.7\hsize] \bTR\bTD I was hoping\eTD \bTD that this table would make itself narrower according to the background offsets, like the text does. And now it does!\eTD\eTR \eTABLE \stoplinecorrection auto adaption is kind of tricky here because Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (2)
-
Duncan Hothersall
-
h h extern