Re: [NTG-context] Title for tabulate
On 12/17/2021 8:25 AM, Benjamin Buchmuller wrote: Yes, this works! Thanks! I'll try to add a section on the Wiki. Is there a reason why the second approach works while the other doesn't? expansion etc so just stick to what works Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ 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 ___
Re: [NTG-context] Title for tabulate
Yes, this works! Thanks! I'll try to add a section on the Wiki. Is there a reason why the second approach works while the other doesn't? > On Dec 16, 2021, at 12:46, Hans Hagen wrote: > > On 12/16/2021 11:39 AM, Benjamin Buchmuller wrote: >> Thanks again, Hans, for all the different approaches, very instructive! >> However, after playing around a bit, I do have a question that I can't work >> out: >> \getdummyparameters[headtitle=,#1] >> \ifempty{\dummyparameter{headtitle}} > can you try > > \ifcstok{\dummyparameter{headtitle}}\emptytoks > > instead > > - > Hans Hagen | PRAGMA ADE > Ridderstraat 27 | 8061 GH Hasselt | The Netherlands > tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl > - ___ 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 ___
Re: [NTG-context] Title for tabulate
On 12/16/2021 11:39 AM, Benjamin Buchmuller wrote: Thanks again, Hans, for all the different approaches, very instructive! However, after playing around a bit, I do have a question that I can't work out: \getdummyparameters[headtitle=,#1] \ifempty{\dummyparameter{headtitle}} can you try \ifcstok{\dummyparameter{headtitle}}\emptytoks instead - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ 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 ___
Re: [NTG-context] Title for tabulate
Thanks again, Hans, for all the different approaches, very instructive! However, after playing around a bit, I do have a question that I can't work out: \getdummyparameters[headtitle=,#1] \ifempty{\dummyparameter{headtitle}} will never be true? See below in context: > On Dec 14, 2021, at 19:16, Hans Hagen wrote: > > On 12/14/2021 6:16 PM, Benjamin Buchmuller via ntg-context wrote: >> Hi! >> I'd like to follow up on a problem that Denis came across recently with the >> titles argument in tabulate. (It's more a solution than a question, but any >> hints to improve the answer are welcome.) I wanted to use this argument for >> an easy specification of, well, a title for a "recipe". The advantage is >> that all information is held together and it's easy to use for people who >> are not (too) familiar with ConTeXt. >> So, in one file I can define all styles (which the end-user would not need >> to see): >> \definetabulate[recipe][|l|l|p|l|] >> \setuptabulate >> [recipe] >> [ >> bodyfont=small, >> distance=medium, >> before={\blank[back, small]}, >> header=text, >> headstyle=\bi, % this formats the "\BC" cells >> headcolor=red, % this formats the "\BC" cells >> ] >> \starttext >> And then use: >> \startrecipe[title={Whatever mixture 1}] >> \FL >> \NC Absolute \BC Stock \NC Ingredient \NC Final \NR >> \HL >> \NC 1 \NR >> \LL >> \stoprecipe >> \startrecipe[title={Whatever mixture 2}] >> \FL >> \BC Absolute \BC Stock \BC Ingredient \BC Final \NR >> \HL >> \NC 1 \NR >> \LL >> \stoprecipe >> \stoptext >> etc. >> However, I cannot change the way the title is styled (or spaced from the >> table) unless I do "title={\bi Some text.}". However, blank commands are >> also stripped off at this place. (I also don't get a clue from the source if >> there is any argument to spike-in some formatting.) >> So, if there is no easy way to access this one, we can work around: >> \definetabulate[recipetab][|l|l|p|l|] >> \setuptabulate >> [recipetab] >> [ >> bodyfont=small, >> distance=medium, >> before={\blank[back, small]}, >> % header=text, % THIS MUST NOT BE "text" >> headstyle=bold, >> headcolor=red, >> ] >> \define\startrecipe{\dodoubleempty\dostartrecipe} >> \long\def\dostartrecipe[#1][#2]#3\stoprecipe{% >> \iffirstargument >> {\bi #1}\blank[medium] >> \fi >> \ifsecondargument >> \startrecipetab[#2] >> #3 >> \stoprecipetab >> \else >> \startrecipetab >> #3 >> \stoprecipetab >> \fi >> } >> \startrecipe[Head 1] >> \FL >> \BC Absolute \BC Stock \BC Ingredient \BC Final \NR >> \HL >> \NC 1 \NR >> \LL >> \stoprecipe >> \startrecipe[Head 2][headcolor=blue] % pass on arguments to tabulate >> \FL >> \BC Absolute \BC Stock \BC Ingredient \BC Final \NR >> \HL >> \NC 1 \NR >> \LL >> \stoprecipe >> Small question though: Is there a ConTeXt way to "\long\def" or a simple way >> ("user interface") to filter a list of arguments for a specific key=val >> pair, e.g. to make a single optional argument with headertitle={Some >> header.}? > context has no (need for) \long ... all is long (i mever saw a reason for > using it) > > (1) use a proper head: > > \definehead[RecipeHead][subsubsubsubsubsubject] > \setuphead [RecipeHead][style=bolditalic,after={\blank[medium]}] > > \definetabulate[recipetab][|l|l|p|l|] > > \setuptabulate > [recipetab] > [bodyfont=small, > distance=medium, > before={\blank[back, small]}, > headstyle=bold, > headcolor=red] > > here's a one-step lmtx solution: > > \let\stoprecipe\relax > > \tolerant\protected\def\startrecipe[#1]#*[#2]#3\stoprecipe > {\ifcstok{#1}\emptytoks\else > \RecipeHead{#1} > \fi > \ifcstok{#2}\emptytoks > \startrecipetab#3\stoprecipetab > \else > \startrecipetab[#2]#3\stoprecipetab > \fi} > > or just > > \tolerant\protected\def\startrecipe[#1]#*[#2]#3\stoprecipe > {\ifempty{#1}\else > \RecipeHead{#1} > \fi > \ifempty{#2}% > \startrecipetab#3\stoprecipetab > \else > \startrecipetab[#2]#3\stoprecipetab > \fi} > > > and here's one that does what you ask (in the core i'd try to avoid grabbing > too much arguments and if real core we'd make sure dummy parameters don;t > interfere): > > \tolerant\protected\def\startrecipe[#1]#2\stoprecipe > {\ifempty{#1}% > \startrecipetab#2\stoprecipetab > \orelse\ifhastok={#1}% > \getdummyparameters[headtitle=,#1] > \ifempty{\dummyparameter{headtitle}}\else > \normalexpanded{\RecipeHead{\dummyparameter{headtitle}}} > \fi > \startrecipetab[#1]#2\stoprecipetab > \else > \RecipeHead{#1} > \startrecipetab#2\stoprecipetab > \fi} > > \startrecipe[headtitle={Head 3},headcolor=blue] % pass on arguments to > tabulate > \FL > \BC Absolute \BC Stock \BC Ingredient \BC Final \NR > \HL > \NC 1 \NR > \LL > \stoprecipe Consider:
Re: [NTG-context] Title for tabulate
On 12/14/2021 6:16 PM, Benjamin Buchmuller via ntg-context wrote: Hi! I'd like to follow up on a problem that Denis came across recently with the titles argument in tabulate. (It's more a solution than a question, but any hints to improve the answer are welcome.) I wanted to use this argument for an easy specification of, well, a title for a "recipe". The advantage is that all information is held together and it's easy to use for people who are not (too) familiar with ConTeXt. So, in one file I can define all styles (which the end-user would not need to see): \definetabulate[recipe][|l|l|p|l|] \setuptabulate [recipe] [ bodyfont=small, distance=medium, before={\blank[back, small]}, header=text, headstyle=\bi, % this formats the "\BC" cells headcolor=red, % this formats the "\BC" cells ] \starttext And then use: \startrecipe[title={Whatever mixture 1}] \FL \NC Absolute \BC Stock \NC Ingredient \NC Final \NR \HL \NC 1 \NR \LL \stoprecipe \startrecipe[title={Whatever mixture 2}] \FL \BC Absolute \BC Stock \BC Ingredient \BC Final \NR \HL \NC 1 \NR \LL \stoprecipe \stoptext etc. However, I cannot change the way the title is styled (or spaced from the table) unless I do "title={\bi Some text.}". However, blank commands are also stripped off at this place. (I also don't get a clue from the source if there is any argument to spike-in some formatting.) So, if there is no easy way to access this one, we can work around: \definetabulate[recipetab][|l|l|p|l|] \setuptabulate [recipetab] [ bodyfont=small, distance=medium, before={\blank[back, small]}, % header=text, % THIS MUST NOT BE "text" headstyle=bold, headcolor=red, ] \define\startrecipe{\dodoubleempty\dostartrecipe} \long\def\dostartrecipe[#1][#2]#3\stoprecipe{% \iffirstargument {\bi #1}\blank[medium] \fi \ifsecondargument \startrecipetab[#2] #3 \stoprecipetab \else \startrecipetab #3 \stoprecipetab \fi } \startrecipe[Head 1] \FL \BC Absolute \BC Stock \BC Ingredient \BC Final \NR \HL \NC 1 \NR \LL \stoprecipe \startrecipe[Head 2][headcolor=blue] % pass on arguments to tabulate \FL \BC Absolute \BC Stock \BC Ingredient \BC Final \NR \HL \NC 1 \NR \LL \stoprecipe Small question though: Is there a ConTeXt way to "\long\def" or a simple way ("user interface") to filter a list of arguments for a specific key=val pair, e.g. to make a single optional argument with headertitle={Some header.}? context has no (need for) \long ... all is long (i mever saw a reason for using it) (1) use a proper head: \definehead[RecipeHead][subsubsubsubsubsubject] \setuphead [RecipeHead][style=bolditalic,after={\blank[medium]}] \definetabulate[recipetab][|l|l|p|l|] \setuptabulate [recipetab] [bodyfont=small, distance=medium, before={\blank[back, small]}, headstyle=bold, headcolor=red] here's a one-step lmtx solution: \let\stoprecipe\relax \tolerant\protected\def\startrecipe[#1]#*[#2]#3\stoprecipe {\ifcstok{#1}\emptytoks\else \RecipeHead{#1} \fi \ifcstok{#2}\emptytoks \startrecipetab#3\stoprecipetab \else \startrecipetab[#2]#3\stoprecipetab \fi} or just \tolerant\protected\def\startrecipe[#1]#*[#2]#3\stoprecipe {\ifempty{#1}\else \RecipeHead{#1} \fi \ifempty{#2}% \startrecipetab#3\stoprecipetab \else \startrecipetab[#2]#3\stoprecipetab \fi} and here's one that does what you ask (in the core i'd try to avoid grabbing too much arguments and if real core we'd make sure dummy parameters don;t interfere): \tolerant\protected\def\startrecipe[#1]#2\stoprecipe {\ifempty{#1}% \startrecipetab#2\stoprecipetab \orelse\ifhastok={#1}% \getdummyparameters[headtitle=,#1] \ifempty{\dummyparameter{headtitle}}\else \normalexpanded{\RecipeHead{\dummyparameter{headtitle}}} \fi \startrecipetab[#1]#2\stoprecipetab \else \RecipeHead{#1} \startrecipetab#2\stoprecipetab \fi} \startrecipe[headtitle={Head 3},headcolor=blue] % pass on arguments to tabulate \FL \BC Absolute \BC Stock \BC Ingredient \BC Final \NR \HL \NC 1 \NR \LL \stoprecipe Here's a variant: \def\theparameter#1#2% {\beginlocalcontrol \begingroup \getdummyparameters[#1=,#2]% \normalexpanded{\endgroup\endlocalcontrol\dummyparameter{#1}}} \tolerant\protected\def\startrecipe[#1]#2\stoprecipe {\ifempty{#1}% \startrecipetab#2\stoprecipetab \orelse\ifhastok={#1}% \edef\MyHeadTitle{\theparameter{headtitle}{#1}}% \ifempty\MyHeadTitle\else \normalexpanded{\RecipeHead{\MyHeadTitle}} \fi \startrecipetab[#1]#2\stoprecipetab \else \RecipeHead{#1} \startrecipetab#2\stoprecipetab \fi} or just
Re: [NTG-context] Title for tabulate
Hi! I'd like to follow up on a problem that Denis came across recently with the titles argument in tabulate. (It's more a solution than a question, but any hints to improve the answer are welcome.) I wanted to use this argument for an easy specification of, well, a title for a "recipe". The advantage is that all information is held together and it's easy to use for people who are not (too) familiar with ConTeXt. So, in one file I can define all styles (which the end-user would not need to see): \definetabulate[recipe][|l|l|p|l|] \setuptabulate [recipe] [ bodyfont=small, distance=medium, before={\blank[back, small]}, header=text, headstyle=\bi, % this formats the "\BC" cells headcolor=red, % this formats the "\BC" cells ] \starttext And then use: \startrecipe[title={Whatever mixture 1}] \FL \NC Absolute \BC Stock \NC Ingredient \NC Final \NR \HL \NC 1 \NR \LL \stoprecipe \startrecipe[title={Whatever mixture 2}] \FL \BC Absolute \BC Stock \BC Ingredient \BC Final \NR \HL \NC 1 \NR \LL \stoprecipe \stoptext etc. However, I cannot change the way the title is styled (or spaced from the table) unless I do "title={\bi Some text.}". However, blank commands are also stripped off at this place. (I also don't get a clue from the source if there is any argument to spike-in some formatting.) So, if there is no easy way to access this one, we can work around: \definetabulate[recipetab][|l|l|p|l|] \setuptabulate [recipetab] [ bodyfont=small, distance=medium, before={\blank[back, small]}, % header=text, % THIS MUST NOT BE "text" headstyle=bold, headcolor=red, ] \define\startrecipe{\dodoubleempty\dostartrecipe} \long\def\dostartrecipe[#1][#2]#3\stoprecipe{% \iffirstargument {\bi #1}\blank[medium] \fi \ifsecondargument \startrecipetab[#2] #3 \stoprecipetab \else \startrecipetab #3 \stoprecipetab \fi } \startrecipe[Head 1] \FL \BC Absolute \BC Stock \BC Ingredient \BC Final \NR \HL \NC 1 \NR \LL \stoprecipe \startrecipe[Head 2][headcolor=blue] % pass on arguments to tabulate \FL \BC Absolute \BC Stock \BC Ingredient \BC Final \NR \HL \NC 1 \NR \LL \stoprecipe Small question though: Is there a ConTeXt way to "\long\def" or a simple way ("user interface") to filter a list of arguments for a specific key=val pair, e.g. to make a single optional argument with headertitle={Some header.}? Best Benjamin ___ 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 ___
Re: [NTG-context] Title for tabulate
> -Ursprüngliche Nachricht- > Von: Hans Hagen > Gesendet: Sonntag, 28. November 2021 14:26 > An: Maier, Denis Christian (UB) ; ntg- > cont...@ntg.nl > Betreff: Re: AW: [NTG-context] Title for tabulate > > On 11/28/2021 1:22 PM, denis.ma...@unibe.ch wrote: > > > >> -Ursprüngliche Nachricht- > >> Von: ntg-context Im Auftrag von Hans > >> Hagen via ntg-context > >> Gesendet: Sonntag, 28. November 2021 12:40 > >> An: Denis Maier via ntg-context > >> Cc: Hans Hagen > >> Betreff: Re: [NTG-context] Title for tabulate > >> > >> On 11/28/2021 9:15 AM, Denis Maier via ntg-context wrote: > >> > >>> A couple of questions : > >>> > >>> - Is it possible to have the title be typeset only once? I.e., it > >>> should not repeat on each page. > >> why not just use > >> > >> \subsubsubject{} > > > > That sounds like a neat solution. I'll investigate. > > Does that play nicely with structurelevels? I mean, let's say I'm somewhere > higher, e.g. on chapter, the next level would be section. If I now invoke this > subsubsubject manually, does that break the levels structure? > often it's ok as subjects are unnumbered but you can play safe: > > \definehead[myownhead][subsubsubsubsubsubject] > > \myownhead > > you can then always go lower (more sub) if needed > > and using dedicated head commands is also cleaner Ok, that's what I've done now, and doesn't seem to create any problems. Thanks for pointing me in the right direction. Denis ___ 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 ___
Re: [NTG-context] Title for tabulate
On 11/28/2021 1:22 PM, denis.ma...@unibe.ch wrote: -Ursprüngliche Nachricht- Von: ntg-context Im Auftrag von Hans Hagen via ntg-context Gesendet: Sonntag, 28. November 2021 12:40 An: Denis Maier via ntg-context Cc: Hans Hagen Betreff: Re: [NTG-context] Title for tabulate On 11/28/2021 9:15 AM, Denis Maier via ntg-context wrote: A couple of questions : - Is it possible to have the title be typeset only once? I.e., it should not repeat on each page. why not just use \subsubsubject{} That sounds like a neat solution. I'll investigate. Does that play nicely with structurelevels? I mean, let's say I'm somewhere higher, e.g. on chapter, the next level would be section. If I now invoke this subsubsubject manually, does that break the levels structure? often it's ok as subjects are unnumbered but you can play safe: \definehead[myownhead][subsubsubsubsubsubject] \myownhead you can then always go lower (more sub) if needed and using dedicated head commands is also cleaner Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ 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 ___
Re: [NTG-context] Title for tabulate
> -Ursprüngliche Nachricht- > Von: ntg-context Im Auftrag von Hans Hagen > via ntg-context > Gesendet: Sonntag, 28. November 2021 12:40 > An: Denis Maier via ntg-context > Cc: Hans Hagen > Betreff: Re: [NTG-context] Title for tabulate > > On 11/28/2021 9:15 AM, Denis Maier via ntg-context wrote: > > > A couple of questions : > > > > - Is it possible to have the title be typeset only once? I.e., it > > should not repeat on each page. > why not just use > > \subsubsubject{} That sounds like a neat solution. I'll investigate. Does that play nicely with structurelevels? I mean, let's say I'm somewhere higher, e.g. on chapter, the next level would be section. If I now invoke this subsubsubject manually, does that break the levels structure? Best, Denis > > - >Hans Hagen | PRAGMA ADE >Ridderstraat 27 | 8061 GH Hasselt | The Netherlands > tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl > - > __ > _ > 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 > __ > _ ___ 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 ___
Re: [NTG-context] Title for tabulate
On 11/28/2021 9:15 AM, Denis Maier via ntg-context wrote: A couple of questions : - Is it possible to have the title be typeset only once? I.e., it should not repeat on each page. why not just use \subsubsubject{} - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ 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 ___
[NTG-context] Title for tabulate
Hi, when trying out different options for my last question regarding column spans I've tried out the the option regarding titles for the tabulate environment. Consider this example (adapted from the wiki): %% \setuppapersize[A6] \starttext \setuptabulate [ header=text, split=yes, title={Fenchurch St. Paul}, ] \starttabulate[|p|p|] \dorecurse{6}{ \NC Bells: \NC Tin tan din dan bim bam bom bo \NC\NR \HL \NC Name: \NC Tailor Paul \NC \NR \HL } \stoptabulate \stoptext %% A couple of questions : - Is it possible to have the title be typeset only once? I.e., it should not repeat on each page. - How do you change the alignment of the title? (There's an align key, but that does change the alignment of the entries. Not of the title. There are headstyle and headcolor, but nothing about alignment. (\setupalign[middle] in headstyle doesn't do anything.) - How can you add bit more space after the title? Best, Denis ___ 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 ___