答え1
プレフィックスのタイプセット方法は、内部コマンドによって制御されます\@character
。デフォルトでは、環境が使用されている場合はプレフィックスが独自の行に設定されdrama*
、環境の星印のないバージョンが使用されている場合は行内に設定します。元の定義は次のとおりです。
\def\@character#1#2{%
\@namedef{#2}{{\namefont #1}\xspace}
\n@me@ppend@nddef{#2}{\@ppendname}{%
\if@drverse
{\speakstab\speaksfont{#1}\speaksdel\par\nobreak\addvspace{-\parskip}}
\else
\item[#1\speaksdel]
\fi}
}
両方の環境でプレフィックスを同じように扱う場合は、条件分岐を省略できます。
\documentclass{memoir}
\usepackage{dramatist}
\makeatletter
\def\@character#1#2{%
\@namedef{#2}{{\namefont #1}\xspace}
\n@me@ppend@nddef{#2}{\@ppendname}{%
\item[#1\speaksdel]
}
}
\makeatother
\begin{document}
\Character[Poe Prose]{POE}{poe}
\Character[Frost Verse]{FROST}{frost}
\begin{drama*}
\frostspeaks Some say the world will end in fire; \\
Some say in ice. \\
From what I've tasted of desire \\
I hold with those who favor fire. \\
But if it had to perish twice, \\
I think I know enough of hate \\
To know that for destruction ice \\
Is also great \\
And would suffice.
\end{drama*}
\begin{drama}
\poespeaks For the most wild, yet most homely narrative which I am about to pen, I neither expect nor solicit belief. Mad indeed would I be to expect it, in a case where my very senses reject their own evidence.
\end{drama}
\end{document}