Am 15.12.2010 um 19:40 schrieb Marco Pessotto: > > Hello there. > > I was writing a small macro to emulate a custom \part command, and I > broke my head against \dosingleempty (but finally I won). > > […] > > It's unclear to me how the arguments are passed between macros. > Probably it's just a matter of knowledge of TeX macro programming (which > obviously I don't have).
Your test with \iffirstargument fails because you perform it after \startalignment which has itself a argument which sets \iffirstargument to true, a better way to check for content of the optional argument is \doifsomethingelse. \def\talpart {\dosingleempty\dotalpart} \def\dotalpart[#1]#2% {\page[right] \blank[force,2*big] \startalignment[center] \doifsomethingelse{#1} {{\bfc#1}\writetolist[talpart]{}{#1. #2}} {\writetolist[talpart]{}{#2}}% \blank[2*big] {\bfd#2} \stopalignment \page[left]} Wolfgang ___________________________________________________________________________________ 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 ___________________________________________________________________________________