On 02/15/2016 11:45 AM, Hans Hagen wrote: > On 2/15/2016 11:10 AM, Volker Mische wrote: >> On 02/15/2016 10:58 AM, Hans Hagen wrote: >>> On 2/15/2016 10:32 AM, Volker Mische wrote: >>>> Hi all, >>>> >>>> I'd like to position some text in a corner of a natural table cell. I >>>> got as far as being able to put the same text on every cell (a "p" in >>>> the example). Now my problem is, how do I specify the contents of the >>>> overlay/layer on a per cell basis? >>>> >>>> Best for me would be if I could define the text directly within the >>>> cell. I'm surely open to a completely different solution that has the >>>> same outcome. >>>> >>>> Here's the minimal example of what I currently have. >>>> >>>> \starttext >>>> >>>> \definelayer [pagenumber][width=\overlaywidth,height=\overlayheight] >>>> \defineoverlay[pagenumber][{\directsetup{pagenumber}\tightlayer[pagenumber]}] >>>> >>>> >>>> >>>> \startsetups pagenumber >>>> \setlayerframed >>>> [pagenumber] >>>> [preset=rightbottom] >>>> {p} >>>> \stopsetups >>>> >>>> \bTABLE >>>> \setupTABLE[each][each][background=pagenumber] >>>> \bTR >>>> \bTD multiline \par text \eTD >>>> \bTD some cell \par with even \par more \par text \eTD >>>> \eTR >>>> \eTABLE >>>> >>>> \stoptext >>> >>> \bTABLE >>> \bTR >>> \bTD multiline \par text \eTD >>> \bTD[background=pagenumber] some cell \par with even \par more \par >>> text \eTD >>> \eTR >>> \eTABLE >> >> >> I wasn't clear enough. I still want to have `pagenumber` on every cell, >> but I'd like to be able to define its contents within the cell (instead >> of having something like "p" hard-coded). >> >> So I'm looking for something like >> >> \bTD multiline \par text \setlayercontents[pagenumber]{newval}\eTD >> \bTD some cell \par with even \par more \par text >> \setlayercontents[pagenumber]{differentval}\eTD > \startsetups pagenumber > \setlayerframed > [pagenumber] > [preset=rightbottom] > {\getvariable{table}{p}} > \stopsetups > > \bTABLE > \setupTABLE[each][each][background=pagenumber] > \bTR > \bTD \setgvariable{table}{p}{b} multiline \par text \eTD > \bTD \setgvariable{table}{p}{p} some cell \par with even \par more > \par text \eTD > \eTR > \eTABLE
Thanks a lot that works. I've a follow up question. I'd like to wrap the `\setgvariable` in a a paragraph like thing. I found out about annotations, which look like what I've after. Though sadly I get an error message (! Undefined control sequence) when I use annotations. It works when I hard-code a value within the annotation, but it doesn't if I use the contents of the annotation. I've also tried it the `\placeannotationcontent` way, but there I get the same error. Here's the full example: \starttext \definelayer [pagenumber][width=\overlaywidth,height=\overlayheight] \defineoverlay[pagenumber][{\directsetup{pagenumber}\tightlayer[pagenumber]}] \startsetups pagenumber \setlayerframed [pagenumber] [preset=rightbottom] {\getvariable{table}{p}} \stopsetups \define[2]\PageWrapper{\setgvariable{table}{p}{#2}} \usemodule[annotation] \defineannotation [pn] [alternative=command, command=\PageWrapper] \bTABLE \setupTABLE[each][each][background=pagenumber] \bTR \bTD \startpn b \stoppn multiline \par text \eTD \bTD \startpn p \stoppn some cell \par with even \par more \par text \eTD \eTR \eTABLE \stoptext Cheers, Volker ___________________________________________________________________________________ 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://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________