Thursday, October 17, 2002 Giuseppe Bilotta wrote: GB> %D New structured sectioning GB> \newtoks\everybeforestartpart GB> \newtoks\everyafterstartpart GB> \newtoks\everystoppart GB> \def\startpart{\dosingleempty\dostartpart} GB> \def\dostartpart[#1]#2{% GB> \bgroup\bgroup GB> \the\everybeforestartpart GB> \iffirstargument GB> \part[#1]{#2}% GB> \else GB> \part{#2}% GB> \fi GB> \egroup GB> \the\everyafterstartpart GB> } GB> \def\stoppart{\the\everystoppart\egroup} Sorry for following up to myself. After a few tries, I discovered that it's much better without the inner grouping: \newtoks\everybeforestartpart \newtoks\everyafterstartpart \newtoks\everystoppart \def\startpart{\dosingleempty\dostartpart} \def\dostartpart[#1]#2{% \bgroup \the\everybeforestartpart \iffirstargument \part[#1]{#2}% \else \part{#2}% \fi \egroup \the\everyafterstartpart } \def\stoppart{\the\everystoppart} -- Giuseppe "Oblomov" Bilotta