今年五月,Jason van Gumster 写了一篇题为用于编写你的下一部剧本的 4 款开源工具的文章。它包括一些我以前从未听说过的工具,一些我非常熟悉的工具,并且缺少一些我个人喜爱的工具。我认为一篇姊妹篇可能会引起我们剧作家同行的兴趣,这篇文章将更仔细地审视 Jason 提到的某些剧本工具,并重点介绍我本人发现(或创建)的一些工具。
多年来(事实上,直到今天),年轻的艺术家们被告知,如果他们对自己的艺术是“认真的”,他们就会使用一套非常特定的工具。而这些工具,恰好是特定供应商的产品。虽然学生折扣可能一开始适用,但最终全价就会生效。在你意识到之前,你就会永远受制于该应用程序。
令人惊讶的是,像输入剧本文字这样简单的事情,也受到了完全相同的营销推动:有人告诉你,如果你想被“认真对待”,就必须使用特定的应用程序或特定的云服务。但事实是,一旦剧本被打印在白色、粉色、黄色和蓝色的纸张上,只要格式正确,它就只是可以输入到任何应用程序中的文本。而且,让我们面对现实:如果说 Linux 有什么丰富的东西,那就是文本编辑器。
剧本格式
剧本格式很重要。事实上,这是一个行业经验法则,一页剧本相当于一分钟的屏幕时间,而电影是以页面的八分之一为单位拍摄的。如果八分之一的页面内容过多,就会对一个拍摄环节需要拍摄的内容产生不合理的期望。这里需要取得微妙的平衡,这就是为什么剧本格式演变成今天仍然保留的古怪的、偏离中心的布局。
虽然从技术上讲,你可以手动输入剧本并设置格式,但编剧往往更喜欢使用应用程序来自动管理页边距和一些基本的首字母大写。如果应用程序还具有帮助管理地点和人物名称的功能,那将是额外的奖励。
但是,如果你是传统主义者,你也可以随意设置制表符并为 LibreOffice 开发样式。简而言之
- Courier 12 磅字体
- 1.5 英寸左右页边距
- 对话 2.5 英寸左右页边距
假设你正在寻找不那么手动的工具,那么有三款剧本应用程序可以让开源剧本创作变得轻而易举。
字体
严格来说,剧本的首选字体是 Courier 12 磅。Courier 是很久以前在 IBM 设计的,并且有几个版本。大多数人对 Courier 的体验来自操作系统捆绑的 Courier 字体(通常是 Courier 10 Pitch),但该特定的 .ttf 文件可能在技术上受版权保护。Alan Dague-Greene 为编剧 John August 提供了一种开源 Courier 字体,名为 Courier Prime。
你应该下载并使用它,特别是 для 你的剧本。
Trelby
如果你在电影学院接受了闭源剧本工具的培训,或者采用了曾经是开源但后来转向闭源云模式的应用程序,那么你可能正在寻找 Trelby(无论你是否知道)。
Trelby 在 Linux 和 Windows 上运行,并使用 Python 和 wxPython 框架编写。如果你尚未安装 wxPython,你可以从 Python 包服务 PyPi 或你的发行版的存储库中获取它。
如果你运行的是 Ubuntu 或类似的发行版,你应该能够从其可下载的 .deb
包中安装 Trelby。否则,下载通用 tarball,将其解压缩到 /opt
,并从那里使用它。确切的步骤(其中 X
和 Y
是主版本号和次版本号)
$ sudo wget -qO- \
http://trelby.org/files/release/X.Y/trelby-X.Y.tar.gz \
| tar -C ./opt/ -xvz trelby-X.Y/trelby --strip 1
$ sudo mv /opt/trelby/trelby.desktop \
/usr/share/applications
照常启动。
现代便利
基本上,Trelby 是一款完美的应用程序。它拥有所有必备功能,一些锦上添花的功能,没有臃肿,并且编写得很智能,不会妨碍你,并且尊重你的数据。它就像一台带大脑的打字机——而且没有态度。
当你第一次启动 Trelby 时,单击左侧工具栏中的 Settings 图标,或导航到 File > Settings > Change。
在 Settings 窗口中,单击左列中的 Display 类别。如果 Trelby 没有自动检测到你的 Courier 字体,则将所有字体设置为 Courier Prime 12 磅。

记住 Courier Prime 指令。
字体整理好后,剩下的唯一事情就是写作。Trelby 为你处理繁琐的格式;剧本的典型开头(在 обязательной FADE IN:
之后)是场景开头。这是一个用于场景的术语(场景内位置的表示)。场景开头以全部大写字母书写,并且始终以 EXT.
表示外部或 INT.
表示内部开头。只要你将前三个字母大写,Trelby 就会自动检测到你正在输入场景开头或“场景标题”,并在该行的持续时间内保留大写字母和粗体字体。

场景开头
场景开头之后通常是舞台指示(或“动作”);即非对话文本。Trelby 假定是这种情况,并在你按下 Return 键后进入标准类型。
当你需要覆盖 action 样式设置时,你可以通过键入 EXT.
或 INT.
来强制新的场景开头,或者添加一些对话(电影显然现在有声音了,而且从各方面来看,它都很吸引人)。
要进入 dialogue 模式,请按 Tab 键。这会将你的光标向内移动到标准角色名称缩进位置,并强制使用大写字母。在下一行,缩进会进一步调整,以便你可以输入对话块。

有声电影只是一时风尚
再次按 Tab 键退出对话模式,并返回到正常输入。与往常一样,键入内容会产生动作,而适当的前缀会产生场景开头。
适合各种场合的元素
scene、action 和 dialogue 元素类型涵盖了你大约 95% 的剧本创作需求,但剧本还使用了其他输入类型,其中最重要的是 transition。可以通过右键单击或通过 ALT
键盘快捷键输入额外的元素类型,这些快捷键记录在 Settings > Change > Keyboard 中(查找 ChangeTo 操作,这些操作在空白行切换到特定模式,并在已包含文本的行上转换文本)。
公平地说,过渡在这一点上主要是装饰性的;CUT TO:
几乎是默认的(传统上,它区分了物理剪切和叠化,叠化是一种光学效果,成本更高),并且你并不真正需要 FADE IN
和 FADE OUT
,但它们是剧本的“很久很久以前……”和“……他们从此过上了幸福的生活”。
其他元素类型不太常见,通常你在剧本中越不具体和不精确越好。剧本是故事的蓝图,而不是表演或剪辑的蓝图,因此通常认为少即是多。
标题页
与剧本世界中的其他所有内容一样,标题页也应该具有某种外观和感觉。诚然,在实践中它确实有所不同,但基本的标题页非常经典[且简单]。

看,标题页
要创建你自己的标题页,请导航到 Script 菜单 > Title pages。
加分项
关于剧本的一个有趣的事情是,无论你在剧本上花费多少精力,你永远也无法完全回忆起你最终是如何决定拼写那个小配角的名字,或者你在开头使用的那个地点,以便你可以在结尾再次把它带回来。从历史上看,你必须翻阅页面,疯狂地寻找答案,而你的灵感会慢慢从你的掌握中溜走。
现在不会了!借助像 Trelby 这样的现代应用程序,你的剧本会被授予角色名称和地点数据库。在场景开头中键入地点或在对话开头键入角色都会弹出自动完成功能,以便你可以根据需要从正确的条目中进行选择。
想不出名字?Trelby 也考虑到了这一点。打开浏览器并导航到充斥着广告的“给你的宝宝起什么名字”网站的日子已经一去不复返了。Trelby 有一个内置的名称数据库,按性别和种族分类。
更重要的是,你甚至可以从 Trelby 生成报告,这样你(或制片办公室)就可以快速参考电影中需要哪些角色,角色的大小(就台词和对话百分比而言),以及地点。
随着你的剧本变得越来越长和越来越复杂,导航可能会变得令人生畏。Trelby 通过按场景编号 (Alt-G
) 或页码 (Ctrl-G
) 提供导航,帮助你找到方向。你还可以按场景选择整个文本块,使重新制作剧本变得稍微容易一些。
简而言之,Trelby 中有大量功能,即使是最资深的编剧也能满足,最重要的是,功能不多于这样的编剧想要的功能。没有更多没人真正使用的愚蠢功能,没有更多专有的保存文件格式,也没有更多许可问题。
Fountain
与此相反的选择是不使用剧本编辑器,甚至不费心格式化你写的内容。听起来很疯狂?这很可能是,但这是好的那种疯狂,它被称为 Fountain。
Fountain 不是编辑器,而是一种 Markdown 格式。要以 Fountain 格式编写,你只需要一个纯文本编辑器,例如 Gedit 或 Atom,并遵守以下简单的格式规则
- 场景开头大写(与往常一样)
- 对话的角色标题大写并以换行符结尾(与往常一样)。角色名称和对话块之间没有空格。对话段落之间没有空格,只有换行符。
- 动作块用一个空行分隔
- 过渡放在 **双星号** 中
这就是全部。如果你在编写时牢记这些规则,那么你就生成了一个 Fountain Markdown 文件。
它看起来有点像这样
**FADE IN:**
INT. FACTORY - DAY
It's still daylight. Or is it? Through the
thick black smoke and the crowd of sweating
bodies, it's hard to tell.
FOREMAN
Git on with it, we're not paying you to stand
around gaping at the ceiling.
The worker, STAN, looks one-and-two-thirds his
age. He wipes sweat from his brow, then looks
at his sleeve.
Blood.
The stigmata. It's back.
如你所见,即使它缺少正确的格式,它看起来和感觉也像一个剧本。
要生成精美的行业风格的标题页,需要一些标记。它并不复杂,但它应该出现在你的剧本顶部
Title: The Stigmata of Stan
Credit: written by
Author: Seth Kenlon
Source: based on the novel by Seth Kenlon
Notes:
FIRST DRAFT
Copyleft: CC-BY-SA Seth Kenlon
A story of the Great Depression, and how a guy named
Stan accidentally invents microprocessors and becomes
a messiah of a technological apocalypse..
====
**Fade In:**
INT. FACTORY - DAY
Fountain 的优势在于,只要你能像在任何文本文档中一样按下 Return 键,你就不必考虑光标在页面上的位置。缺点是你不太了解你实际写了多少。当约束在 5 英寸页边距之间时,跨越整个屏幕文本编辑器的文本会有很大不同。但是通过经验和频繁检查,你可以培养对页面长度的感觉。
Trelby 中的 Fountain
你可以用 Fountain 文件做什么?你可以使用众多 Fountain 转换器之一将其转换为剧本。
我们已经介绍了一个转换器:是的,Trelby 可以导入和格式化 .fountain
文件。只需启动 Trelby 并选择 File > Import 并选择文件。如果你使用扩展名 .fountain
,它会有所帮助。
赤脚在 Fountain 中
另一个转换器是跨平台 shell 命令 Barefoot。这个命令是用 C++ 编写的,确实需要编译(据我所知,它尚未在任何 Linux 存储库中),但在 Linux 上编译过程很简单。
在 Slackware 上
$ g++ -I /usr/include/boost/
barefoot.cpp -o barefoot
-L /usr/lib64/ -lboost_regex
或在 Fedora 上
$ g++ -I /usr/include/boost/ \
barefoot.cpp -o barefoot \
-L /usr/lib/ -lboost_regex
此类命令的结果是 barefoot
可执行文件,你可以将其放置在 $HOME/bin
(如果你有)或 /usr/local/bin
中,然后从终端运行。
Barefoot 做一件事:它将 .fountain
剧本文件转换为格式化文本。这意味着你可以将其用作单个命令
$ barefoot ~/my.fountain > movie.txt
或者你可以在更大的管道中使用它
$ barefoot myScreenplay.fountain \
| pr -f -t | text2pdf > \
myScreenplay.pdf
等等。
有 数十个转换器 用于 Fountain,因此无论你需要什么工作流程,都可能有一个应用程序适合。
Screenwriter-Mode
也许,GUI 应用程序 Trelby 和非应用程序 Fountain 之间的快乐媒介是 Emacs screenwriter-mode。
这个概念与 Trelby 非常相似:键盘快捷键允许你编写一些不同的元素。所有类型都有快捷键绑定;新用户和 Emacs 老手
alt-t
或ctrl-c t
进入过渡alt-s
或ctrl-c s
进入场景开头alt-a
或ctrl-c a
表示动作alt-d
或ctrl-c d
表示对话块
通常,screenwriter-mode 在流程方面与 Trelby 的自动化程度相当;它不会自动检测场景开头,但由于动作和场景开头之间除了大写之外没有真正的区别,因此你实际上可以只键入而不必切换到“场景开头元素”。Screenwriter-mode 不像 Trelby 那样处理元数据;所有 c-c s
或 alt-s
所做的只是将文本转换为大写字母。

Emacs screenwriter-mode
更有用的是过渡和角色对话元素。这两者都涉及复杂的缩进,因此进入这些输入模式确实很有帮助。与 Trelby 类似,新行会离开这些模式并返回到默认的动作输入。
Emacs 就是这样,你可以利用各种便利工具来管理地点和角色名称。我使用 auto-complete,但选择有很多。
screenwriter-mode 的主要优点是它是跨平台的(Emacs 运行的任何东西,实际上是所有东西)也运行 screenwriter-mode。这意味着无论如何你都拥有一致的剧本创作环境,并且由于 Emacs 在终端中也运行得非常好,你甚至不需要 GUI 来编写你的杰作(这对于无干扰打字来说怎么样?)。
Unix 在电影中
Screenwriter-mode,就像 Fountain 一样,生成纯文本文件;没有元数据或特殊文件格式。与 Fountain 不同,不需要转换。除了易于格式化之外,screenwriter-mode 没有像 Trelby 那样的额外功能,尽管对于前期制作工作,纯文本工作流程同样强大。
Screenwriter-mode 附带了几个用于常见剧本相关任务的 shell 脚本。screenplay-character
脚本生成剧本所需的所有角色的报告。Screenplay-location
打印地点报告。Screenplay-title
生成标题页。
与 Trelby 不同,没有完全转到特定场景编号的快捷方式,也没有任何菜单选项可以选择整个场景。但是,以模块化方式编写剧本可以解决这些问题;将每个场景保存到单独的文件中,以便你可以根据需要移动它们,然后使用 screenplay-build
使用 cat
生成单个文件,并使用 screenplay-print
提供页码并使用 pr
命令打印。
剧本更改是出了名的难以管理的事情(主要是对人来说很难,但有时对软件来说也很难),但纯文本工作流程可以轻松处理它。正如源代码一样,剧本即使在制作过程中也会经历多次修订。由于页码和场景编号一旦剧本投入制作就会被冻结,这提出了一个有趣的问题;如何在不打乱已安排页面的情况下向剧本添加页面?
答案是将修订后的页面打印在带有唯一编号(23、23a、23b 等)的单独页面上,并且通常使用彩色编码纸(第一次修订使用粉色纸,第二次使用黄色纸,依此类推)。借助纯文本,由于 diff
,此类插入变得微不足道。
淡出
提醒人们 Linux 甚至可以编辑文本似乎很傻,但剧本创作是一个小众行业,具有古怪的要求。人们有时会认为开源没有针对较小市场(尤其是创意市场)的工具,但幸运的是,也有创意人士也投资于开源。在 Trelby、Fountain 和 Emacs Screenwriter-mode 之间,我们这些有故事要讲并且手指发痒想要打字的人没有什么可担心的。
5 条评论