2

I am looking for a way to vertically align split verses in a dramatic text with the \pauseverse, \resumeverse commands from the thalie package. As the documentation of thalie already says, the feature often does not work correctly, hence the \adjustverse command to manipulate the space that is needed for vertical alignment. When typesetting a whole play it is very tedious though to go through all instances and find a manual adjustment.

The following is a MWE for my case:

\documentclass [12pt, a4paper, pagesize] {scrbook}
\usepackage [UKenglish] {babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{microtype}


\usepackage[characterstyle=imprimerie-prose]{thalie}

\usepackage{hanging}
\renewcommand*{\speakswithoutdirection}[1]{%
    \hangpara{2\parindent}{1}\noindent\textsc{#1}\xspace.%
    }

\begin{document}

\begin{dramatis}[hidden]
    \character[cmd={Buckingham}]{Buckingham}
    \character[cmd={Norfolk}]{Norfolk}
\end{dramatis}

\Buckingham
Good morrow and well met. How have ye done\\Since last we saw in France?\pauseverse

\Norfolk
\resumeverse I thank your grace,\\Healthful, and ever since a fresh admirer\\Of what I saw there.\pauseverse

\Buckingham\resumeverse An untimely ague\\Stayed me a prisoner in my chamber when\\Those suns of glory, those two lights of men,\\Met in the vale of Andres.\pauseverse

\end{document}

The alignment is way off in both cases. I guess the correct spacing depends on the length of the first half line and on the length of the character's name that starts the second half line. I tried to read both lengths with \predisplaysize within modified \pauseverse and \resumeverse commands to try calculating the correct length of empty space needed; but I got nowhere.

So my question is: Is there a way of

a) calculating the correct adjustment length for \adjustverse for each instance of split verses; or

b) calculating the correct \hspace that \resumeverse must use, without adjusting with \adjustverse?

1 Answer 1

2

The spacing doesn't take into account the character's name and the standard 2em inserted by TeX.

\documentclass [12pt, a4paper, pagesize] {scrbook}
\usepackage [UKenglish] {babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{microtype}
\usepackage[characterstyle=imprimerie-prose]{thalie}
\usepackage{hanging}


\newlength{\brokenverse}
\renewcommand*{\speakswithoutdirection}[1]{%
  \settowidth{\brokenverse}{\textsc{#1}.}%
  \hangpara{2\parindent}{1}\noindent\textsc{#1}.%
}
\makeatletter
\renewcommand{\resumeverse}{%
  \hspace{\@verseadjust}\hspace{\dimexpr\dimen\@ne-\brokenverse-2em}
}
\makeatother

\begin{document}

\begin{dramatis}[hidden]
    \character[cmd={Buckingham}]{Buckingham}
    \character[cmd={Norfolk}]{Norfolk}
\end{dramatis}

\Buckingham
Good morrow and well met. How have ye done\\
Since last we saw in France?\pauseverse

\Norfolk
\resumeverse I thank your grace,\\
Healthful, and ever since a fresh admirer\\
Of what I saw there.\pauseverse

\Buckingham
\resumeverse An untimely ague\\
Stayed me a prisoner in my chamber when\\
Those suns of glory, those two lights of men,\\
Met in the vale of Andres.\pauseverse

\end{document}

enter image description here

1
  • That solution is perfect. Many thanks. Commented May 20, 2020 at 18:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .