LaTeX自动整理剧本格式需用XeLaTeX编译,通过ctex、verse等宏包支持中文,定义\scene、\character、dialogue环境和\stage命令实现场次、角色、对白、舞台提示的语义化排版。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

用LaTeX自动整理剧本格式,核心是把角色名、对白、舞台提示等元素映射到预定义的语义环境,让编译器按戏剧排版规范自动处理缩进、字体、换行与间距,避免手动调样式导致的错位和不一致。
准备支持中文剧本的LaTeX环境
打开Overleaf或本地TeX Live编辑器,新建main.tex文件;确认编译器已设为XeLaTeX——【不选XeLaTeX会导致中文乱码或编译失败】。
在导言区(\documentclass之后、\begin{document}之前)插入以下三行:
\usepackage{ctex}
\usepackage{scrlayer-scrpage}
\usepackage{verse}
ctex提供中文字体与段落支持;verse宏包专为诗歌与剧本设计,能天然识别缩进式对白结构;scrlayer-scrpage用于后续添加页眉页脚(如场次编号),暂不启用也无碍基础排版。
定义剧本专用命令与环境
在导言区继续添加以下代码块(必须放在\usepackage之后、\begin{document}之前):
\newcommand{\scene}[1]{\vspace{1.5em}\noindent\textbf{【#1】}\vspace{0.5em}}
\newcommand{\character}[1]{\noindent\textsf{\textbf{#1}}\quad}
\newenvironment{dialogue}{\begin{verse}\setlength{\leftmargin}{2em}}{\end{verse}}
\newcommand{\stage}[1]{\vspace{-0.8em}\noindent\textit{#1}\vspace{0.3em}}
这四行分别定义:场次标题、角色名、对白段落、舞台提示。其中\character后加\quad确保角色名与对白间有固定空隙;verse环境自动处理对白缩进与行距;【\stage命令前的\vspace{-0.8em}是为了抵消verse环境自带的上边距,否则舞台提示会与上一行对白空隙过大】。
按规范结构撰写剧本正文
进入文档主体(\begin{document}之后),严格按以下顺序组织内容:
第一步:用\scene{日/咖啡馆}声明当前场次,括号内可自由填写时间地点,支持中文;
第二步:每段对白前先写\character{李明},再换行输入\begin{dialogue}→输入对白文字→\end{dialogue};
第三步:舞台动作单独成行,用\stage{他低头搅动咖啡,杯底发出轻响}包裹;
第四步:换场时重复第一步,无需空行或分节符。
示例片段:
\scene{夜/老宅书房}
\character{林薇}
\begin{dialogue}
这枚指纹……不是我的。
\end{dialogue}
\stage{她猛地合上证物袋,窗外雷声炸响}
一键编译生成专业剧本PDF
点击Overleaf右上角“Recompile”按钮,或本地执行xelatex main.tex;生成的PDF中,场次标题加粗居中、角色名使用无衬线黑体并右对齐缩进、对白左缩进2em且行距宽松、舞台提示斜体且紧贴上文——全部由代码驱动,无需人工调整位置。


















