1

Using the verse environment from the dramatist package, I would like to have the speech prefixes on the same line as the speeches, as they are for the prose environment.

There are a number of hooks for customizing the formatting, but I can't see how they can be used to do this.

This is related to this question, but I'm not trying to mix prose and verse, so I hope there is a simpler solution. I'm typesetting a long verse play, so it would be very inconvenient to have to wrap every speech in its own environment.

1 Answers1

1

The way the prefixes are typeset is controlled by the internal command \@character which, by default, sets them in their own line if the drama* environment is used, and sets them in line if the non-starred version of the environment is used; here's the original definition:

\def\@character#1#2{%
    \@namedef{#2}{{\namefont #1}\xspace}
    \n@me@ppend@nddef{#2}{\@ppendname}{%
        \if@drverse
            {\speakstab\speaksfont{#1}\speaksdel\par\nobreak\addvspace{-\parskip}}
        \else
            \item[#1\speaksdel]
        \fi}
}

If you want both environments to treat the prefixes in the same way, you can then omit the conditional branching:

\documentclass{memoir}    
\usepackage{dramatist}

\makeatletter
\def\@character#1#2{%
    \@namedef{#2}{{\namefont #1}\xspace}
    \n@me@ppend@nddef{#2}{\@ppendname}{%
            \item[#1\speaksdel]
}
}
\makeatother

\begin{document}

\Character[Poe Prose]{POE}{poe}
\Character[Frost Verse]{FROST}{frost}

\begin{drama*}
\frostspeaks Some say the world will end in fire; \\
Some say in ice. \\ 
From what I've tasted of desire \\
I hold with those who favor fire. \\ 
But if it had to perish twice, \\
I think I know enough of hate \\ 
To know that for destruction ice \\ 
Is also great  \\
And would suffice.
\end{drama*}

\begin{drama}
\poespeaks For the most wild, yet most homely narrative which I am about to pen, I neither expect nor solicit belief. Mad indeed would I be to expect it, in a case where my very senses reject their own evidence.
\end{drama}

\end{document}

enter image description here

Moriambar
  • 11,466
Gonzalo Medina
  • 505,128
  • Thank you. I found that I had to explicitly set the font with \item[\speaksfont{#1}\speaksdel] in order to completely replicate the prose prefixes (which has them in small caps). – Ben Butler-Cole Apr 08 '13 at 23:25