5

I have document that contains both prose and verse. When using the dramatist package, the speaker is placed above verse and beside prose. I'd like them to both to the left of the text, similar to the first answer to Justification when using the dramatist package.

Here is a MWE:

\documentclass{memoir}    
\usepackage{dramatist}
\usepackage[latin]{babel}
\pagestyle{empty}
\linenumberfrequency{5}

\begin{document}

\Character[Billy Prose]{BILLY}{billy}
\Character[Sally Verse]{SALLY}{sally}

\begin{drama*}

\sallyspeaks I am a poet \\
I know it\\
I like to speak in short lines\\
Like this\\
My cat is gray\\
My fish is dead\\
Because the cat ate it\\
I am\\
A very difficult person\\
To have a conversation with.\
\end{drama*}

\begin{drama}

    \billyspeaks I like to talk like a normal person. Your cat is lame. I have a gerbil named Phil. He sleeps in my dresser. I'm so sorry that my examples sounds insane.

\end{drama}

\end{document}

1 Answer 1

3

Couldn't you just use the drama environment like you did for Billy? Or wrap the verse in a minipage \begin{drama}

\sallyspeaks
    \begin{minipage}[t]{0.75\linewidth}
     I am a poet \\
    I know it\\
    I like to speak in short lines\\
    Like this\\
    My cat is gray\\
    My fish is dead\\
    Because the cat ate it\\
    I am\\
    A very difficult person\\
    To have a conversation with.        \end{minipage}

\end{drama}

enter image description here

Apparently you can nest drama* inside drama. And looking at the documentation, it seems that it shouldn't be hard to create your own speaker-verse environment. Here's the result of playing around a bit:

\documentclass{memoir}    
\usepackage{dramatist}
\usepackage[latin]{babel}
\pagestyle{empty}
\linenumberfrequency{5}
% Make your own nested environment as a work-around
\newenvironment{dramaverse}{\hspace*{\fill}\par\begin{drama*}}
                           {\end{drama*}}
% Define your own version of `drama*` but don't throw the `drversetrue` switch
% Make your own switch.  At most you may have to redefine `\direct` to get
% some possibly desirable effects from there.
\makeatletter
\newif\if@mydrverse
\@namedef{mydrama*}{%
    \@mydrversetrue
    \if@poemscol
        \begin{poem}
        \setcounter{verselinenumber}{\value{storelineno}}
        \setcounter{printlineindex}{\value{storeprintlineindex}}
    \else
        \begin{verse}
    \fi
    \ifx\poemlines\@undefined\else
        \setcounter{poemline}{\value{storelineno}}
    \fi}
\@namedef{endmydrama*}{%
    \ifx\poemlines\@undefined\else
        \setcounter{storelineno}{\value{poemline}}
    \fi
    \if@poemscol
        \end{poem}
        \setcounter{storelineno}{\value{verselinenumber}}
        \setcounter{storeprintlineindex}{\value{printlineindex}}
    \else
        \end{verse}
    \fi
    \@mydrversefalse}
\makeatother
\begin{document}
\Character[Billy Prose]{BILLY}{billy}
\Character[George Prose]{GEORGE}{george}
\Character[Sally Verse]{SALLY}{sally}

\verb=drama*= nested in \verb=drama=
\begin{drama}
    \sallyspeaks
        \begin{drama*}
        I am a poet \\
        I know it\\
        I like to speak in short lines\\
        Like this\\
        My cat is gray\\
        My fish is dead\\
        Because the cat ate it\\
        I am\\
        A very difficult person\\
        To have a conversation with.\\
        \end{drama*}
\end{drama}


Using the new \verb=dramaverse= work-around environment nested inside \verb=drama=.
\begin{drama}
    \georgespeaks
    \begin{dramaverse}
    I am not a poet\\
    I know it\\
    I hate talking in verse\\
    Like this\\
    My dog is white\\
    My Lizard is alive\\
    Because my dog didn't eat\\
    It yet\\
    I am easy\\
    To get along with\\
    \end{dramaverse}
\end{drama}

    \begin{drama}
    \sallyspeaks I knew it!
    \end{drama}

\begin{drama}
    \billyspeaks I like to talk like a normal person. Your cat is lame. I
    have a gerbil named Phil. He sleeps in my dresser. I'm so sorry that my
    examples sounds insane.  You are deranged.
\end{drama}

Using the package's own \verb=drama*= environment.
\begin{drama*}
    \sallyspeaks Silly man, you\\
            Deranged is who?
\end{drama*}

Using your new reworked version of \verb=drama*= called \verb=mydrama*=.
But now I get some unexpected vertical whitespace.
\begin{mydrama*}
    \billyspeaks
    Who's making me\\
    Talk so strange.\\
    I can't believe\\
    You think I'm deranged\\
\end{mydrama*}



\end{document}

enter image description here

1
  • There are features in the drama* environment for verse, such as line numbering, that I don't want to lose out on. Using the drama environment instead of the starred version would prevent me from using those features. Dec 3, 2012 at 12:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.