Hi, I am struggling with the last row of a table which, according to its author, should have a black bottomframe, but gray (I am using a defined 'lightgray') for the sides. The first row has a black frame. All intermediate rows have gray. I have no difficulty achieving the first row, and the black bottomframe for the last row, but I have been unable to get the last row sides to be gray. Here is the current setups that I have: \setupTABLE[frame=off] \setupTABLE[row] [first] [topframe=on,bottomframe=on,style=bold] \setupTABLE[row][2][topframe=on] \setupTABLE[row][2][topframe=off,rightframe=on,leftframe=on,framecolor=lightgray] \setupTABLE[row][3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21][frame=on, framecolor=lightgray] \setupTABLE[row] [last] [bottomframe=on,style=normal] My first row is fine and all but the topframe of row 2 is 'lightgray'; all following rows are 'lightgray'. The last row (22) has a black bottomframe, but how could I achieve 'lightgray' for rightframe, leftframe? If I add a new setup e.g. \setupTABLE[row][last][rightframe=on,leftframe=on,framecolor=lightgray] then I lose the bottomframe in black. I have tried all kinds of combinations but unsuccessfully. Julian
Am 25.03.23 um 06:45 schrieb jbf via ntg-context:
Hi, I am struggling with the last row of a table which, according to its author, should have a black bottomframe, but gray (I am using a defined 'lightgray') for the sides. The first row has a black frame. All intermediate rows have gray.
I have no difficulty achieving the first row, and the black bottomframe for the last row, but I have been unable to get the last row sides to be gray. Here is the current setups that I have:
\setupTABLE[frame=off]
\setupTABLE[row] [first] [topframe=on,bottomframe=on,style=bold]
\setupTABLE[row][2][topframe=on]
\setupTABLE[row][2][topframe=off,rightframe=on,leftframe=on,framecolor=lightgray]
\setupTABLE[row][3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21][frame=on, framecolor=lightgray]
\setupTABLE[row] [last] [bottomframe=on,style=normal]
My first row is fine and all but the topframe of row 2 is 'lightgray'; all following rows are 'lightgray'. The last row (22) has a black bottomframe, but how could I achieve 'lightgray' for rightframe, leftframe? If I add a new setup e.g.
\setupTABLE[row][last][rightframe=on,leftframe=on,framecolor=lightgray] then I lose the bottomframe in black. I have tried all kinds of combinations but unsuccessfully.
Table cells are based on \framed, and there doesn’t seem to be an option to have different colors of parts of the frame (e.g. bottomframecolor…) You can use a MetaPost graphic as background, like in the “diagonal” example: https://wiki.contextgarden.net/TABLE#Diagonal_rules HTH, Hraban
Thanks for this Hraban. I had come to the conclusion that there was no possibility of a 'bottomframecolor' option, and as TABLE is one of the older commands and important for XML, I assume it won't change much (though the option of different colours for frame sides would be good, and may not affect TABLE as such since it is \framed we are talking about really). Bruce's suggestion of a dummy row is a simple one, and it works. But I will also look at your solution too. Am always keen to have more than one arrow in the quiver! Julian On 25/3/23 20:48, Henning Hraban Ramm via ntg-context wrote:
Am 25.03.23 um 06:45 schrieb jbf via ntg-context:
Hi, I am struggling with the last row of a table which, according to its author, should have a black bottomframe, but gray (I am using a defined 'lightgray') for the sides. The first row has a black frame. All intermediate rows have gray.
I have no difficulty achieving the first row, and the black bottomframe for the last row, but I have been unable to get the last row sides to be gray. Here is the current setups that I have:
\setupTABLE[frame=off]
\setupTABLE[row] [first] [topframe=on,bottomframe=on,style=bold]
\setupTABLE[row][2][topframe=on]
\setupTABLE[row][2][topframe=off,rightframe=on,leftframe=on,framecolor=lightgray]
\setupTABLE[row][3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21][frame=on, framecolor=lightgray]
\setupTABLE[row] [last] [bottomframe=on,style=normal]
My first row is fine and all but the topframe of row 2 is 'lightgray'; all following rows are 'lightgray'. The last row (22) has a black bottomframe, but how could I achieve 'lightgray' for rightframe, leftframe? If I add a new setup e.g.
\setupTABLE[row][last][rightframe=on,leftframe=on,framecolor=lightgray] then I lose the bottomframe in black. I have tried all kinds of combinations but unsuccessfully.
Table cells are based on \framed, and there doesn’t seem to be an option to have different colors of parts of the frame (e.g. bottomframecolor…)
You can use a MetaPost graphic as background, like in the “diagonal” example: https://wiki.contextgarden.net/TABLE#Diagonal_rules
HTH, Hraban
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
On 25 Mar 2023, at 05:45, jbf via ntg-context
wrote: Hi, I am struggling with the last row of a table which, according to its author, should have a black bottomframe, but gray (I am using a defined 'lightgray') for the sides. The first row has a black frame. All intermediate rows have gray. I have no difficulty achieving the first row, and the black bottomframe for the last row, but I have been unable to get the last row sides to be gray. Here is the current setups that I have: \setupTABLE[frame=off] \setupTABLE[row] [first] [topframe=on,bottomframe=on,style=bold] \setupTABLE[row][2][topframe=on] \setupTABLE[row][2][topframe=off,rightframe=on,leftframe=on,framecolor=lightgray] \setupTABLE[row][3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21][frame=on, framecolor=lightgray] \setupTABLE[row] [last] [bottomframe=on,style=normal]
My first row is fine and all but the topframe of row 2 is 'lightgray'; all following rows are 'lightgray'. The last row (22) has a black bottomframe, but how could I achieve 'lightgray' for rightframe, leftframe? If I add a new setup e.g. \setupTABLE[row][last][rightframe=on,leftframe=on,framecolor=lightgray] then I lose the bottomframe in black. I have tried all kinds of combinations but unsuccessfully. Julian
One way to achieve what you want is to have a dummy last row. \setupTABLE[frame=off] \setupTABLE[row] [first] [topframe=on,bottomframe=on,style=bold] \setupTABLE[row][2][topframe=on] \setupTABLE[row][2][topframe=off,rightframe=on,leftframe=on,framecolor=lightgray] \setupTABLE[row][3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22][frame=on, framecolor=lightgray] \setupTABLE[row] [last] [topframe=on,framecolor=black, height=0pt] \starttext \bTABLE \dorecurse{22}{ \bTR\bTD Row #1 column 1 \eTD\bTD Row #1 column 2 \eTD\eTR } % Dummy last row \bTR \eTR \eTABLE \stoptext — Bruce Horrocks Hampshire, UK
participants (3)
-
Bruce Horrocks
-
Henning Hraban Ramm
-
jbf