What is the recommended way to have two characters speak simultaneously?

The use of \speaker is definitely the way to go since you need to refer to some entity that shouldn't appear in the Dramatis Personae, yet you're right that you shouldn't have to hardcode the names of the characters into the argument of \speaker in case you change the names to which alice and bob refer.

I see that the dramatist documentation says that \Character defines a new macro for use in stage directions named after the name of the character, e.g. \alice in the case of \Character[ALICE]{ALICE}{alice} and \bob in the case of \Character[BOB]{BOB}{bob}. Perhaps you can use these macros within the argument to \speaker?

\documentclass[12pt]{memoir}
\usepackage{dramatist}

\Character[ALICE]{ALICE}{alice}
\Character[BOB]{BOB}{bob}

\begin{document}

\begin{drama}

\alicespeaks Are you ready?

\bobspeaks Yes. On three. One…two…

\speaker{\alice and \bob} Three!

\end{drama}
\end{document}

Just for fun.

\documentclass[12pt]{memoir}
\usepackage{dramatist}
\usepackage{paracol}
\columnseprule=0.4pt

\Character[ALICE]{ALICE}{alice}
\Character[BOB]{BOB}{bob}

\begin{document}

\begin{drama}

\alicespeaks Are you ready?

\bobspeaks Yes. On three. One…two…\strut% add space when missing descenders

\begin{paracol}{2}
\alicespeaks Wait!
\switchcolumn
\bobspeaks Three!\strut
\switchcolumn*% to align remarks
\end{paracol}

\end{drama}
\end{document}

Tags:

Dramatist