latex剧本排版需选用ctexrep或scrartcl文档类,禁用parskip宏包;用character命令定义角色名格式,stage命令处理舞台提示并防分页断裂;行距设为1.1,场景标题用section*并重定义格式。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

LaTeX剧本排版需兼顾对白缩进、角色名突出、舞台提示区分、行距控制及分栏逻辑,不能直接套用article默认样式。
选择适配剧本的文档类与宏包
使用ctexrep或scrartcl作为基础文档类,避免article——它缺乏多级场景分隔和对话块自动识别能力。
在导言区加载必需宏包:usepackage{verse}处理分行对白,usepackage{enumitem}定制角色列表,usepackage{geometry}收紧边距以提升台词密度。
【必须禁用usepackage{parskip}】该宏包会破坏剧本中“空行=换场”的语义约定,导致场景切换失效。
定义角色名与对白格式
方法一:用verse环境手动控制
将每段对白包裹在egin{verse}...end{verse}中,角色名用 extsc{哈姆雷特}小大写+粗体呈现,后接\换行,再输入台词。此法适合短剧本或单场精排。
方法二:自定义character命令(推荐)
在导言区添加:
ewcommand{character}[1]{space{0.5em}
oindent extbf{ extsc{#1}}hspace{1em}ignorespaces}
正文中写作:character{奥菲莉娅}生存还是毁灭,这是一个问题。——这样能保证角色名左对齐、字号固定、与台词间有标准空隙。
注意:若角色名含标点(如“国王(旁白)”),需用{}包裹整个名称,否则括号会被误解析为命令参数分隔符。
设置舞台提示与转场标记
第一步:声明新命令stage
ewcommand{stage}[1]{egin{center} extit{#1}end{center}}
第二步:在需要位置插入stage{灯光渐暗,远处雷声滚过}
第三步:为避免舞台提示被分页截断,追加保护:
ewcommand{stage}[1]{par
obreakspace{0.3em}egin{center}itshape#1end{center}space{0.3em}
obreak}
这一步强制舞台提示前后不发生分页断裂,且上下留出呼吸空间——否则导演读本时可能漏看关键调度指令。
调整行距与段落间距
剧本要求紧凑排版,但不能牺牲可读性。执行以下三步:
① 全局行距设为
enewcommand{aselinestretch}{1.1}(比默认1.2更密,又比1.0更易扫读)
② 角色名与首句台词之间取消额外间距:setlength{itemsep}{0pt}(作用于verse和自定义列表)
③ 场景标题用section*而非section,并重定义其格式:
enewcommand{section}{@startsection{section}{1}{0pt}{-1.5ex plus -1ex minus -.2ex}{0.5ex}{
ormalfont
ormalsizefseriescentering}}——这样场景标题不编号、无页眉关联、垂直间距精准可控。











