Re: [NTG-context] Why does \doifsomething think there is content?
On Sun, 15 Jan 2023, Joel via ntg-context wrote: > I am creating a book that presents readers with a list of recommended > materials. > If materials are listed, then its displayed under the \subject{Materials} > heading in a simple itemized list. > I'm using \doifsomething{} to check if any items are listed. Try \doiftext which typesets the material and checks its width. > The problem I'm having is, when fed a blank macro, `\define\needsoven{}` it > thinks there is content, so it displays the "Materials" heading, but an empty > list. I have a custom macro that determins "if oven is needed" independent of > these other items. So I need `\define\needsoven{}` to be regarded as nothing. \define\needsoven makes \needsoven non-expandable. You either need \defineexpandable\needsoven or use \doiftext Aditya ___ 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 ___
[NTG-context] Why does \doifsomething think there is content?
I am creating a book that presents readers with a list of recommended materials. If materials are listed, then its displayed under the \subject{Materials} heading in a simple itemized list. I'm using \doifsomething{} to check if any items are listed. The problem I'm having is, when fed a blank macro, `\define\needsoven{}` it thinks there is content, so it displays the "Materials" heading, but an empty list. I have a custom macro that determins "if oven is needed" independent of these other items. So I need `\define\needsoven{}` to be regarded as nothing. How can I get \doifsomething{} to think \define\needsoven{} is an empty value? --Joel My minimal working example is below: \define\needsoven{} \define[1]\materialsneeded{% \doifsomething{#1}{ \subject{Materials} \startitemize #1 \stopitemize } } \starttext \chapter{Recipe 1} \materialsneeded{\needsoven} \subject{Instructions} Spread peanut butter on sandwich. \chapter{Recipe 2} \materialsneeded{\item pizza cutter \item stove} \subject{Instructions} Preheat oven to 450 degrees F. \stoptext ___ 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 ___