Why does startlines not work in a function
I have the following code: \startlines \startalignment[center] \setupindenting[no] \doifelse {\getvariable{meta}{personalInfo}} {long} { longline 1 longline 2 longline 3 longline 4 longline 5 longline 6 longline 7 longline 8 } { shortline 1 shortline 2 shortline 3 shortline 4 } \stopalignment \stoplines I wanted to put this in a function. So I wrote: \def\Foo{ \startlines \startalignment[center] \setupindenting[no] \doifelse {\getvariable{meta}{personalInfo}} {long} { longline 1 longline 2 longline 3 longline 4 longline 5 longline 6 longline 7 longline 8 } { shortline 1 shortline 2 shortline 3 shortline 4 } \stopalignment \stoplines } But then the text becomes one line instead of several lines. So I had to rewrite it to: \def\FooTwo{ \startalignment[center] \setupindenting[no] \doifelse {\getvariable{meta}{personalInfo}} {long} { longline 1 longline 2 longline 3 longline 4 longline 5 longline 6 longline 7 longline 8 } { shortline 1 shortline 2 shortline 3 shortline 4 } \stopalignment } I called it first Foo2, but that worked havoc on Foo. -- Cecil Westerhof
On 4/26/2013 5:19 PM, Cecil Westerhof wrote:
I have the following code: ... But then the text becomes one line instead of several lines.
because catcode changes are involved \startbuffer [meta:personalInfo:long] \startlines longline 1 longline 2 longline 3 longline 4 longline 5 longline 6 longline 7 longline 8 \stoplines \stopbuffer \startbuffer [meta:personalInfo:] \startlines shortline 1 shortline 2 shortline 3 shortline 4 \stoplines \stopbuffer \starttext \getbuffer[meta:personalInfo:\getvariable{meta}{personalInfo}] \stoptext ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
2013/4/26 Hans Hagen
On 4/26/2013 5:19 PM, Cecil Westerhof wrote:
I have the following code:
...
But then the text becomes one line instead of several lines.
because catcode changes are involved
\startbuffer [meta:personalInfo:long] \startlines
longline 1 longline 2 longline 3 longline 4 longline 5 longline 6 longline 7 longline 8 \stoplines \stopbuffer
\startbuffer [meta:personalInfo:] \startlines
shortline 1 shortline 2 shortline 3 shortline 4 \stoplines \stopbuffer
\starttext
\getbuffer[meta:personalInfo:\getvariable{meta}{personalInfo}]
\stoptext
Works. Thanks. -- Cecil Westerhof
participants (2)
-
Cecil Westerhof
-
Hans Hagen