Oh, I forgot one important detail: I have protrusion enabled, so I need 
protrusion for the main text (argument #2). This works with the low-level 
approach, but not with the other ones, I think.

On Nov 9, 2010, at 10:12 AM, Thomas A. Schmitz wrote:

> Hi all,
> 
> I need a somewhat unusual vertical setup for typesetting a play. Here is some 
> ASCII art that may show what I want:
> 
> SP XXXXXXXXXXX
>   XXXXXX        15
> 
> So: beginning of the line has a fixed space for the abbreviation of the 
> speaker (if there is a speaker designation attached to the line). Then comes 
> the line itself, which fills ca. 80 % amount of the linewidth and needs to be 
> broken as a normal paragraph if it is longer than this space. At the end of 
> the line, another fixed space with the line number, flushright; this number 
> needs to be at the bottom of the paragraph. I have tried three different 
> approaches, but all of them have some problem. One thing to keep in mind: 
> there will be around 3000 such lines, so this might affect processing time. 
> So here are the three approaches:
> 
> 1. low-level, with boxes. Problem: messes up vertical spacing. (I have set 
> the interlinespace to an absurd dimension because this shows the problem in a 
> clearer way). I tried using \strut s at a few places, but couldn't get this 
> to work:
> 
> 2. tabulate: nice, but I can't get the number to be aligned to the bottom. Is 
> there any parameter or trick for that?
> 
> 3. baseline between columns is not aligned (maybe I'm missing the right 
> parameter?), extra vertical space is added.
> 
> Eagerly awaiting your suggestions!
> 
> All best
> 
> Thomas
> 
> \setupbodyfont[termes,12pt]
> 
> \setupinterlinespace[line=4.5ex]
> 
> \startbuffer
> \MyLine{5}{Fa.}{This line is short.}
> 
> \MyLine{10}{Me.}{This line is slightly longer, so it will be broken into
>  two lines in the output.}
> 
> \MyLine{15}{Fa.}{This line is short again.}
> 
> \MyLine{20}{Me.}{Another longer line that will be broken into
>  two lines in the output.}
> 
> \MyLine{25}{Fa.}{And the last line.}
> \stopbuffer
> \starttext
> 
> \def\MyLine#1#2#3%
>  {\setbox\scratchbox\vbox{\hsize=6cm #3}\hbox{\vbox to \ht\scratchbox{\hbox 
> to 1cm{\bf #2}\vfill}\vbox{\hsize=6cm #3\par}\vbox to 
> \ht\scratchbox{\vfill\hbox to 1cm{\hfill #1}}}}
> 
> \getbuffer
> 
> \definetabulate[ELine][|Blw(0.65cm)|p(5.8cm)|rw(0.8cm)|]
> 
> \def\MyLine#1#2#3%
>  {\startELine
>    \NC #2 \NC #3 \NC #1 \NR
>   \stopELine}
> 
> \getbuffer
> 
> \setupTABLE[column][1][width=1cm,frame=off,offset=0pt,,align={right}]
> \setupTABLE[column][2][width=6cm,frame=off,align={normal}]
> \setupTABLE[column][3][width=1cm,frame=off,align={left,low}]
> 
> \def\MyLine#1#2#3%
>  {\bTABLE
>    \bTR\bTD \bf #2 \eTD\bTD #3 \eTD\bTD #1 \eTD \eTR
>   \eTABLE}
> 
> \getbuffer
> 
> \stoptext
> 
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________

___________________________________________________________________________________
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
___________________________________________________________________________________

Reply via email to