[NTG-context] alternating items in an itemization

Jesse Alama jesse.alama at gmail.com
Tue May 24 16:24:18 CEST 2011


On 2011-05-24 14:16:16 +0200, Wolfgang Schuster said:

> Am 23.05.2011 um 22:08 schrieb Jesse Alama:
> 
>> I'd like to define an itemization that has two kinds of items, 
>> representing a dialogue between two people.  (One could imagine 
>> extending this to more than two.)  I'd like to have something like this:
>> 
>> \startdialogue
>> \john What did you have for breakfast?
>> \mary I skipped breakfast today.
>> \john Oh, why?
>> \mary Because I wasn't hungry.  I was too distraught at what had 
>> happened the previous night.
>> \stopdialogue
>> 
>> The \john and \mary parts would each be their own paragaphs.  The 
>> paragraphs would be colored with different text backgrounds, and joined 
>> up with one another  (that is, the blocks of text representing the 
>> paragraphs for the different speakers would be adjacent to one another).
> 
> 
> Solution 1:
> 
> \definetextbackground[john-background][frame=off,location=paragraph,backgroundcolor=green]
\definetextbackground[mary-background][frame=off,location=paragraph,backgroundcolor=red]

\defineenumeration
 
> 
>  [john]
>   [    text=John: ,
>       width=3em,
>      number=no,
>    location=left,
>      before={\starttextbackground[john-background]},
>       after=\stoptextbackground]
> 
> \defineenumeration
>   [mary][john]
>   [  text=Mary: ,
>    before={\starttextbackground[mary-background]},
>     after=\stoptextbackground]
> 
> \starttext
> 
> \john What did you have for breakfast?\par
> \mary I skipped breakfast today.\par
> \startjohn Oh, why?\stopjohn
> \startmary Because I wasn't hungry.  I was too distraught at what had 
> happened the previous night.\stopmary
> 
> \stoptext
> 
> Solution 2:
> 
> \usemodule[annotation]
> 
> \definetextbackground[john-background][frame=off,location=paragraph,backgroundcolor=green]
\definetextbackground[mary-background][frame=off,location=paragraph,backgroundcolor=red]

\defineannotation
 
> 
>  [john]
>   [       text=John,
>      stopper=: ,
>      inbetween=,
>         before={\starttextbackground[john-background]},
>          after={\stoptextbackground},
>    spacebefore=nowhite]
> 
> \defineannotation
>   [mary][john]
>   [  text=Mary,
>    before={\starttextbackground[mary-background]},
>     after={\stoptextbackground}]
> 
> \starttext
> 
> \john{What did you have for breakfast?}
> \mary{I skipped breakfast today.}
> \startjohn Oh, why?\stopjohn
> \startmary Because I wasn't hungry.  I was too distraught at what had 
> happened the previous night.\stopmary
> 
> \stoptext

Thanks!  These fit the bill.  (I note, though, that in the 
annotation-based solution, the texts "John" and "Mary" don't show up. 
Otherwise the annotation solution is just what I am looking for.)




More information about the ntg-context mailing list