On Wed, Sep 15, 2010 at 11:12 PM, Aditya Mahajan <adityam@umich.edu> wrote:
On Wed, 15 Sep 2010, John Haltiwanger wrote:

In general though, it is completely unnecessary, as poetry generally has no
need to be defined in macros. But it's the edge cases, where I live :)

On the contrary, typesetting poerty can be very tricky. This is what I did once to typeset the divine comedy. Don't ask how I figured out the right value of the inbetween key :)

\setupindenting   [medium,yes]
\setuplines[inbetween={\crlf\par\setupindenting[next]\testpage[3]},indenting=next]

\starttext
\startlines
Midway upon the journey of our life
I found myself within a forest dark,
For the straightforward pathway had been lost.

Ah me! how hard a thing it is to say
What was this forest savage, rough, and stern,
Which in the very thought renews the fear.

So bitter is it, death is little more;
But of the good to treat, which there I found,
Speak will I of the other things I saw there.

I cannot well repeat how there I entered,
So full was I of slumber at the moment
In which I had abandoned the true way.

But after I had reached a mountain's foot,
At that point where the valley terminated,
Which had with consternation pierced my heart,

...
\stoplines
\stoptext


Yes, but this is an example of what I am saying: in general \startlines..\stoplines is enough (albeit here with some extra stuff integrated into \setuplines[inbetween=]). It seems to me that pretty much only if you are doing something generative would you need to worry about the specifics of buffers and defining macros for typesetting poetry (as was my case with writing a dedication page in a pandoc template). No \startpoem..\stoppoem, or even \poem (though now I am having some nice ideas for weird poetry.. as I said, I spend a lot of time with edge cases ;)

Interestingly, this conversation has cleared up a few lingering details in my mind re: ConTeXt. Maybe a poetry typesetting tutorial is a worthy way to explain some key concepts?

I'd be really curious to see your edition of the Inferno, by the way.