让两个角色同时说话的推荐方法是什么?

让两个角色同时说话的推荐方法是什么?

问题

我有两个字符,定义如下:

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

我希望他们一起说话,但在整个戏剧中他们却分开说话。我希望它看起来像这样:

爱丽丝:你准备好了吗?

鲍勃:是的。三。一……二……

爱丽丝和鲍勃:三!

在 LaTeX 中,我目前有以下内容:

\alicespeaks Are you ready?

\bobspeaks Yes. On three. One…two…

%How do I get them to say this?: Three!

正如您所看到的,我不知道如何让他们齐声说出下面这句话。

我尝试过的方法

我看到有一个CharacterGroup,但我认为它可能仅限于剧中人物,即使不是,为一个台词创建一组角色似乎有些小题大做。

我的第一个想法是将它们结合起来,就像这样:

\alicespeaks \bobspeaks Three!

希望 Dramatist 能产生我预期的结果。但似乎并非如此;我得到了 Alice 的空白行,然后 Bob 自己说出了这行。

我想到另一件事就是创建一个临时角色\speaker

\speaker{ALICE and BOB} Three!

但是,这种方法似乎有点不合常理,因为我正在创建一个新角色来代表两个角色,如果我在顶部的 s 中更改他们的名字\Character,它不会反映在这里。

让两个角色同时说话的推荐方法是什么?

完整示例

\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…

%How do I get them to say this?: Three!

\end{drama}
\end{document}

答案1

使用\speaker肯定是正确的方式,因为你需要引用一些不应该出现在剧中人但是您说得对,您不必将字符名称硬编码到参数中,以防\speaker您将名称更改为alicebob引用。

我看到dramatist文档说\Character定义了一个新的宏,用于以角色名称命名的舞台指导,例如\alice在 的情况下\Character[ALICE]{ALICE}{alice}\bob的情况下\Character[BOB]{BOB}{bob}。也许您可以在 的参数中使用这些宏\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}

答案2

只是为了好玩。

\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}

相关内容