I've been writing scripts using the dramatist package and followed the guide on these forums to make the justification of the names and dialogue nice.
Justification when using the dramatist package
My problem is that when using the solution the stage directions within the drama environment are aligned with respect to the dialogue column of text and not the page. Stage directions outside of the drama environment are aligned to the page as expected.
\documentclass[a4paper,12pt]{article}
\usepackage{dramatist}
\usepackage{etoolbox,enumitem}
\makeatletter
\renewenvironment{drama}
{\if@lnpa
\PackageWarning{dramatist}{\lnpwarning{a}}
\fi
\if@lnps
\PackageWarning{dramatist}{\lnpwarning{s}}
\fi
\begin{itemize}[labelwidth=\speakswidth,leftmargin=!]}
{\end{itemize}}
\patchcmd{\speaker}{\item[#1\speaksdel]}{\item[\speaksfont#1]}{}{}
\patchcmd{\@character}{\item[#1\speaksdel]}{\item[\speaksfont#1]}{}{}
\makeatother
\begin{document}
\Character[The milkman]{Milkman}{milk}
\settowidth{\speakswidth}{\speaksfont{Milkman}\speaksdel\hspace{\speechskip}}
\Scene{Milkman Arrives}
\StageDir{\begin{center}Some stage directions.\end{center}}
\begin{drama}
\milkspeaks{Some text. Some text. Some text. Some text. Some text. Some text. Some text.}
\StageDir{\begin{center}Some more stage directions.\end{center}}
\end{drama}
\end{document}
Is there a way to fix this?