On 09/07/10 01:32, Michael Goerz wrote:
Hi everyone,
I'm trying to do some horizontal alignment, for typesetting poetry. How would you solve this kind of problem? I've considered defining a macro \BrokenLine[line1][line2] that does the above. But, there are also instances where there are two or more lines as a continuation of one previous line. Maybe there is a possibility to mark a horizontal position temporarily, and then jump to that position later?
Didn't know you were into ConTeXt... Anyway, this is a crappy solution and you could probably make it better. As far as I'm aware, there is no way to get the current horizontal position across the page at any particular moment. The method below essentially just measures the length of the line that you want to enter, and sets this as the indent. \dimendef\indentl=10 \def\savewidth#1{% \setbox0=\hbox{#1}% \copy0% \indentl=\wd0% } \def\addtosavewidth#1{% \setbox0=\hbox{#1}% \mindent\copy0% \advance\indentl by \wd0% } \def\mindent{\hskip\indentl} \starttext \startlines here we now see you ~~ already in grief as you see ~~ yourselves ~~ as the last of the lasts \savewidth{we are mirrors of your consciousness } \mindent as you see the end \savewidth{and you see us ~~ deep } \addtosavewidth{in } \addtosavewidth{the spring } \mindent of the universe seeing you deep ~~ in the gravity well of the heat death we are dying ~~ in the spring as we watch you die we are grieving in the spring as you begin to grieve for all we are talking about bone-dry at the bottom of the well of time \savewidth{we are already parched } \mindent for time is transparent \savewidth{and we are all rats in the glassy } \mindent labyrinth of time. \stoplines \stoptext -- Michael Murphy