从场景标题到对白:Fountain剧本格式全部12种元素类型速查清单
【免费下载链接】FountainAn open source implementation of the Fountain screenplay formatting language.项目地址: https://gitcode.com/gh_mirrors/foun/Fountain
Fountain 是一种用纯文本编写剧本的开源标记语言,就像 Markdown 之于文章,它让剧本在任何文本编辑器中都能被阅读、编辑和分享。本文是一份Fountain 剧本格式速查清单:把 Fountain 支持的全部 12 种元素类型一次性讲清楚,从场景标题(Scene Heading)到对白(Dialogue),每种元素给出口诀级的语法要点,新手照着清单就能写出结构完整的 Fountain 剧本。
12 种 Fountain 元素类型总览表 📋
| # | 元素类型 | 英文标识 | 语法特征 | 一句话说明 |
|---|---|---|---|---|
| 1 | 场景标题 | Scene Heading | INT./EXT.开头 | 剧本的"章节锚点" |
| 2 | 动作描写 | Action | 普通段落文本 | 叙述画面与动作 |
| 3 | 角色名 | Character | 全大写单行 | 标识谁在说话 |
| 4 | 对白 | Dialogue | 紧跟角色名之后 | 角色说的话 |
| 5 | 括号注释 | Parenthetical | (…)单行 | 对白的语气/动作提示 |
| 6 | 转场 | Transition | 以冒号结尾,如CUT TO: | 镜头切换指令 |
| 7 | 分节标题 | Section Heading | #、##、### | 幕/章节划分 |
| 8 | 墓地 | Boneyard | /* … */ | 保留但不参与输出的内容 |
| 9 | 注释 | Note | [[ … ]] | 给协作者的备注 |
| 10 | 分页符 | Page Break | === | 手动分页 |
| 11 | 梗概 | Synopsis | 单行= | 段落式剧情摘要 |
| 12 | 歌词 | Lyrics | >开头 | 歌曲歌词 |
这 12 种类型与仓库解析器的实际输出完全对应,可在 Fountain/FastFountainParser.m 中逐一验证(如elementOfType:@"Scene Heading"),数据模型定义见 Fountain/FNElement.h。
前 5 种:剧本主体的骨架元素
1. 场景标题 Scene Heading:如何快速写对场景标题
这是 Fountain 最核心的元素。用INT.(内景)或EXT.(外景)开头,后面接"地点 - 时间":
INT. 办公室 - 清晨 EXT. 街道 - 夜小技巧:
- 想加场记号,在行首加数字:
1. INT. 办公室 - 清晨 - 想强制让某行被识别为场景标题(比如不以 INT./EXT. 开头),行首加点号:
.FORCED SCENE HEADING
这些示例在测试文件 FountainTests/SceneHeaders.fountain 和 FountainTests/Simple.fountain 中都有现成样例。
2. 动作描写 Action:什么都不用做
普通段落文本自动就是动作描写,这是 Fountain"最小化语法"哲学的体现——普通文字即剧本主体。唯一要注意:动作行不能以冒号结尾,否则可能被误判为转场。
3. 角色名 Character:全大写单行
一行全大写的文本会被识别为角色名,可带后缀:
MAN (V.O.) SCOTT (O.S.)(V.O.)画外音、(O.S.)画外,是常见用法。连续两行角色名还可以表示双人对话(Dual Dialogue),测试样例见 FountainTests/DualDialogue.fountain。
4. 对白 Dialogue:紧跟角色名
角色名之后的连续文本行自动成为对白,空行结束:
MAN (V.O.) (深情地) 我正在写作。5. 括号注释 Parenthetical:一行一对括号
夹在角色名和对白之间的(情绪)行就是括号注释,用于提示语气或微动作,例如(压低声音)。语法见 FountainTests/Dialogue.fountain。
第 6 种:转场 Transition——最快写法的避坑指南 ⚠️
转场是以冒号结尾的行,常用全大写,如CUT TO:、FADE IN:、FADE OUT:。
新手最常踩的两个坑:
- 结尾多一个空格,整行就不算转场了——FountainTests/Simple.fountain 里就专门有一条注释测试这个边界情况;
- 只有大写冒号行才被解析器可靠识别,转场识别逻辑在 Fountain/FastFountainParser.m 中实现。
第 7–12 种:结构与批注元素
7. 分节标题 Section Heading:用井号划分结构
类似 Markdown,#是一级节,##是二级节,可嵌套出"幕 → 场组"的层级:
# 第一幕 ## 第一幕·第一场层级深度由sectionDepth属性记录(见 Fountain/FNElement.h),层级样例见 FountainTests/Sections-Complex.fountain。
8. 墓地 Boneyard:/* … */保留废稿
被/* … */包裹的内容进入"墓地"——解析出来、可回看,但不参与正文输出。适合暂时下线、舍不得删的段落:
/* 这段先留着,改完第三幕再决定去留 */9. 注释 Note:[[ … ]]给同行看
[[ … ]]双中括号是注释/备注,用于给合作者、导演留言,不属于剧本正文。注意它和转场的区别:以[[开头的行无论以什么结尾都只算注释。
10. 分页符 Page Break:===单独成行
三行等号即手动分页,导出打印版剧本时在此换页,用例见 FountainTests/PageBreaks.fountain。
11. 梗概 Synopsis:单行=
单独一行一个=之后,接下来的文本被视为梗概段(Synopses),适合每幕前写剧情摘要,样例见 FountainTests/Synopses.fountain。
12. 歌词 Lyrics:>前缀
歌曲段落中以>开头的行会被单独标记为歌词类型,与动作、对白区分开,方便下游排版。
3 个上手建议,帮你少走弯路 ✅
- 标题页免费赠送:文件开头写
Title:、Author:、Draft date:等元数据,Fountain 会自动解析成标题页(Title: A Simple Script格式),不用占用正文元素名额。 - 先写纯文本,再补标记:Fountain 的原始设计目标就是"纯文本看起来也像剧本",先写完场景、对白,再回头加
#、===等结构标记,效率最高。 - 拿测试文件当活教材:FountainTests/ 目录下每个
.fountain文件都对应一种语法(Big Fish、CenteredText、MultilineAction 等),配套同名*Tests.m文件定义了识别规则,是最好的对照资料。
写在最后
掌握这份Fountain 剧本格式 12 元素类型速查清单,你已经覆盖了从场景标题到对白的全部语法要素。这个开源实现采用 MIT 协议发布(见 LICENSE),核心能力一目了然:Fountain/FNScript.m负责读写、Fountain/FountainWriter.m负责回写 Fountain 文本、Fountain/FastFountainParser.m是比老版解析器快约 10 倍的逐行解析器。无论你是想把现有剧本转成 Fountain 存档,还是想给自己的应用接入 Fountain 解析,这份清单都可以随时贴在手边查阅。
【免费下载链接】FountainAn open source implementation of the Fountain screenplay formatting language.项目地址: https://gitcode.com/gh_mirrors/foun/Fountain
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考