Hi, 1) how can I auto-stretch a natural table to a defined width? The default seems to be the line width, which I don't want. Setting width=... will change the per column width, which I don't like either. I'd like to set the per table width. \bTABLE[option=stretch,width=80mm] \bTABLEhead \bTR \bTD Col1 \eTD \bTD Col2 \eTD \bTD Col3 \eTD \bTD Col4 \eTD \eTR \eTABLEhead \bTABLEbody \dorecurse{5}{\bTR \bTD 1 \eTD \bTD 2 \eTD \bTD 3 \eTD \bTD 4 \eTD \eTR} \eTABLEbody \eTABLE Or is there maybe the possibility to enforce a certain with with \placetable? 2) In this example I'd like to have no offset between lines but an offset between columns. How can I achieve this without the gaps in the hline separating the header? \bTABLE \setupTABLE[frame=off,offset=0pt] \setupTABLE[c][distance=3mm] \bTABLEhead \bTR[bottomframe=on] \bTD Col1 \eTD \bTD Col2 \eTD \bTD Col3 \eTD \bTD Col4 \eTD \eTR \eTABLEhead \bTABLEbody \dorecurse{5}{\bTR \bTD 1 \eTD \bTD 2 \eTD \bTD 3 \eTD \bTD 4 \eTD \eTR} \eTABLEbody \eTABLE I also tried various combinations of offset=, columndistance=, leftmargindistance=, and rightmargindistance= for columns and rows but did not succeed. 3) Consider this example: \bTABLE[option=stretch] \setupTABLE[frame=off,offset=0pt] \bTABLEhead \bTR[bottomframe=on] \bTD Col1 \eTD \bTD Col2 \eTD \bTD Col3 \eTD \bTD Col4 \eTD \eTR \eTABLEhead \bTABLEbody \dorecurse{5}{\bTR \bTD 1 \eTD \bTD 2 \eTD \bTD 3 \eTD \bTD this is a long entry \eTD \eTR} \eTABLEbody \eTABLE Is it possible to auto-stretch only the first three columns, so that "this is a long entry" is always aligned to the right margin? All columns should stay flushleft. Thanks! Florian
Am 11.04.2011 um 12:44 schrieb Florian Wobbe:
Hi,
1) how can I auto-stretch a natural table to a defined width? The default seems to be the line width, which I don't want. Setting width=... will change the per column width, which I don't like either. I'd like to set the per table width.
\bTABLE[option=stretch,width=80mm] \bTABLEhead \bTR \bTD Col1 \eTD \bTD Col2 \eTD \bTD Col3 \eTD \bTD Col4 \eTD \eTR \eTABLEhead \bTABLEbody \dorecurse{5}{\bTR \bTD 1 \eTD \bTD 2 \eTD \bTD 3 \eTD \bTD 4 \eTD \eTR} \eTABLEbody \eTABLE
Or is there maybe the possibility to enforce a certain with with \placetable?
Use \bTABLE[option=stretch,textwidth=\textwidth].
2) In this example I'd like to have no offset between lines but an offset between columns. How can I achieve this without the gaps in the hline separating the header?
\bTABLE \setupTABLE[frame=off,offset=0pt] \setupTABLE[c][distance=3mm] \bTABLEhead \bTR[bottomframe=on] \bTD Col1 \eTD \bTD Col2 \eTD \bTD Col3 \eTD \bTD Col4 \eTD \eTR \eTABLEhead \bTABLEbody \dorecurse{5}{\bTR \bTD 1 \eTD \bTD 2 \eTD \bTD 3 \eTD \bTD 4 \eTD \eTR} \eTABLEbody \eTABLE
I also tried various combinations of offset=, columndistance=, leftmargindistance=, and rightmargindistance= for columns and rows but did not succeed.
\setupTABLE[start] [loffset=3mm,roffset=3mm] \setupTABLE[column][first][loffset=0mm] \setupTABLE[column][last] [roffset=0mm]
3) Consider this example:
\bTABLE[option=stretch] \setupTABLE[frame=off,offset=0pt] \bTABLEhead \bTR[bottomframe=on] \bTD Col1 \eTD \bTD Col2 \eTD \bTD Col3 \eTD \bTD Col4 \eTD \eTR \eTABLEhead \bTABLEbody \dorecurse{5}{\bTR \bTD 1 \eTD \bTD 2 \eTD \bTD 3 \eTD \bTD this is a long entry \eTD \eTR} \eTABLEbody \eTABLE
Is it possible to auto-stretch only the first three columns, so that "this is a long entry" is always aligned to the right margin? All columns should stay flushleft.
You can exclude columns from stretching when you set a width, e.g. \setupTABLE[column][last][width=4cm,align=flushright] Wolfgang
3) Consider this example:
\bTABLE[option=stretch] \setupTABLE[frame=off,offset=0pt] \bTABLEhead \bTR[bottomframe=on] \bTD Col1 \eTD \bTD Col2 \eTD \bTD Col3 \eTD \bTD Col4 \eTD \eTR \eTABLEhead \bTABLEbody \dorecurse{5}{\bTR \bTD 1 \eTD \bTD 2 \eTD \bTD 3 \eTD \bTD this is a long entry \eTD \eTR} \eTABLEbody \eTABLE
Is it possible to auto-stretch only the first three columns, so that "this is a long entry" is always aligned to the right margin? All columns should stay flushleft.
You can exclude columns from stretching when you set a width, e.g. \setupTABLE[column][last][width=4cm,align=flushright]
Thanks again for your suggestions! Still I have problems with the last column, which should be flushleft, exactly as wide as the containing text, and still aligned to the right page margin (the frame in this case). I experimented: \framed{ \bTABLE[option=stretch] \setupTABLE[frame=off,offset=0pt] \setupTABLE[column][last][width=2mm] % here is the difference \bTABLEhead \bTR[bottomframe=on] \bTD Col1 \eTD \bTD Col2 \eTD \bTD Col3 \eTD \bTD Col4 \eTD \eTR \eTABLEhead \bTABLEbody \dorecurse{5}{\bTR \bTD 1 \eTD \bTD 2 \eTD \bTD 3 \eTD \bTD \blackrule[height=5pt, width=30mm] \eTD \eTR} \eTABLEbody \eTABLE} \framed{ \bTABLE[option=stretch] \setupTABLE[frame=off,offset=0pt] \setupTABLE[column][last][width=30mm] % here is the difference \bTABLEhead \bTR[bottomframe=on] \bTD Col1 \eTD \bTD Col2 \eTD \bTD Col3 \eTD \bTD Col4 \eTD \eTR \eTABLEhead \bTABLEbody \dorecurse{5}{\bTR \bTD 1 \eTD \bTD 2 \eTD \bTD 3 \eTD \bTD \blackrule[height=5pt, width=30mm] \eTD \eTR} \eTABLEbody \eTABLE} In this case I know the last column width (30mm) but the output is unpredictable. In case I don't know the text width, is there a way to get a dummy width equal to \settowidth (latex)? Florian
In case I don't know the text width, is there a way to get a dummy width equal to \settowidth (latex)?
Search the list archive. Hans has posted a solution sometime back.
Thanks, I found it: http://archive.contextgarden.net/message/20070314.120612.adab0a8b.en.html Would make a useful core function... Florian
participants (3)
-
Aditya Mahajan
-
Florian Wobbe
-
Wolfgang Schuster