[Tex/LaTex] What are good packages for laying out a play

book-designpackages

I'm formatting a play as a LaTeX book. Is there any particular package the is best for laying out books like this (aside from the LaTeX-book class)?

I'm wondering if there are any examples of vignettes of the dramatist package? I've searched widely to find more examples of working LaTeX for this purpose to no avail. The example that I copied from a TUGboat article (TUGboat, Volume 25 (2004), No. 2) is as follows:

\documentclass[a5paper,showtrims,11pt]{memoir}

\usepackage{dramatist}

%% Layout
\settrimmedsize{18,5cm}{13cm}{*}
\setlength{\trimedge}{\stockwidth}
\addtolength{\trimedge}{-\paperwidth}
\settrims{0pt}{\trimedge}
\settypeblocksize{*}{22pc}{1.71}
\setlrmargins{*}{*}{1.5}
\setulmargins{*}{*}{1}
\setlength{\footskip}{20pt}
\checkandfixthelayout

\ifpdf
\setlength{\pdfpageheight}{\stockheight}
\setlength{\pdfpagewidth}{\stockwidth}
\fi
\renewcommand{\printscenenum}{%
    \scenenumfont \thescene}
\setlength{\beforesceneskip}{20pt}
\pagestyle{plain}


\begin{document}

\Character{MAXIMILIAN, COUNT VON MOOR.}{OLD MOOR}{moor}
\Character{FRANCIS, his Sons.}{FRANCIS}{fran}

\scene[. -- Franconia.]

\StageDir{
    \begin{center} Apartment in the Castle of
    COUNT MOOR.\\\fran, \moor
    \end{center}
}

\begin{drama}
\franspeaks  
But are you really well, father?
You look so pale.
\moorspeaks  Quite well, my son -- what have
you to tell me?
\franspeaks  The post is arrived -- a letter
from our correspondent at Leipsic.
\moorspeaks \direct{eagerly}. Any tidings of my son
Charles?
\franspeaks  Hem!  Hem! -- Why, yes.  But I fear
-- I know not -- whether I dare -- your health.
-- Are you really quite well, father?

\end{drama}

\end{document}

However, the \Character definitons do not appear to work as I can only compile successfully when I comment out any character related macros within the {drama} section.

Best Answer

I am not familiar with play-writing, so this is merely a technical note.

The TUGboat article you mention was written in 2004 by the dramatist package author, while the most recent version of the package is dated 2005. As such, there seems to have been some modifications made to the code causing the example to not compile. For the example to compile properly, \Character should be used as

\Character[MAXIMILIAN, COUNT VON MOOR.]{OLD MOOR}{moor}
\Character[FRANCIS, his Sons.]{FRANCIS}{fran}

with the first argument being optional rather than mandatory.

enter image description here

The optional argument is retrieved using \persona@<Roman> where <Roman> denotes a capitalized Roman numeral, sequentially numbered as they are defined. As such

\makeatletter
\persona@I \par
\persona@II
\makeatletter

prints

MAXIMILIAN, COUNT VON MOOR.
FRANCIS, his Sons.

The above mechanism is implemented to some extent when using \dodramperlist, which prints the persona list of the play (should be used within the drama environment).