Gerben Wierda wrote:
Hey Gerben,
Now what turns out to solve this? Empty lines before \description and \stopdescriptions
Things that were defined using \definedescription rely on \par as a delimiter.
Though I like ConTeXt if I look at certain design aspects, behaviour that depends on whitespace before a command frightens me.
Just the way it works :-) Nothing to worry about.
What this introduces is that the working of the ascii file depends on its layout. I can understand that an empty line does a \par (it is convenient after all) but I would see that kind of behaviour kept to a minimum. That is, now I have this 'invisible' element that is needed to close my structure. It is something quite unexpected for me in a TeX workflow. Different layout because of a missing empty line, fine. But an error message and a halt really surprises me. Another part of a learning curve which if you want adoption you should try to avoid. But maybe it is impossible to make ConTeXt more 'forgiving'.
The alternative is \startdescription\stopdescription which is logically nicer, but adds inconvenience to the typing/editing
IMO LaTeX here does a better user-interface job (not just because I happen to know LaTeX). Withing the description environment \item starts a new item and the item ends with the start of another item or the end of the environment. Completely independent of the layout of the ascii file.
It would IMO be a lot friendlier if my \stopdescriptions and \description commands would take care of this and I could do things like:
\startdescriptions \description{Foo} Bar bar bar \description{Foo} Bar bar bar \description{Foo} Bar bar bar \stopdescriptions
without triggering an error.
this could be made working to some extend, but it would complicate the code; this mechanism actually is implemented so that it can handle: \starttext \definedescription[test] \test oeps whow \par \test oeps whow \test {oeps} whow \par \test {oeps} whow \par \starttest {oeps} whow \stoptest \stoptext nowadays i tend to more verbose coding; anyhow, we can add something \unprotect \def\startdescriptions {\dosingleempty\dostartdescriptions} \def\dostartdescriptions[#1]% {\begingroup \def\item{\getvalue{#1}}% \let\dostoppairdescription \donothing \let\@@description \dostartpairdescription \let\@@startsomedescription\dostartsomedescription} \def\stopdescriptions {\dostoppairdescription \endgroup} \def\dostartpairdescription[#1][#2]% {\dostoppairdescription \def\dostoppairdescription{\@@stopdescription{#1}}% \bgroup \def\currentdescription{#1}% \doifelse{\descriptionparameter{\s!do\c!state}}\v!start {\@@makedescription{#1}[#2]{}} {\@@makedescription{#1}[#2]}} \def\dostartsomedescription % #1[#2]#3% {\bgroup \@@makedescription} % {#1}[#2]{#3}} \protect \starttext \definedescription[test] \startdescriptions \test{Foo} Bar bar bar \test{Foo} Bar bar bar \test{Foo} Bar bar bar \stopdescriptions \startdescriptions \starttest{Foo} Bar bar bar \stoptest \starttest{Foo} Bar bar bar \stoptest \starttest{Foo} Bar bar bar \stoptest \stopdescriptions \startdescriptions[test] \item{Foo} Bar bar bar \item{Foo} Bar bar bar \item{Foo} Bar bar bar \stopdescriptions \stoptext for those who have problems adapting; so, what does the general context public think of such an extension? Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------