问题
我有两个字符,定义如下:
\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
您将名称更改为alice
和bob
引用。
我看到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}