剧本中对话后需空行分隔动作,用\stage{}命令顶格书写动作段落,禁用中文引号,并以xelatex编译确保中文标点与字体正常。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

剧本写作中,对话段落结束后需要自然过渡到动作描写,避免出现“他说完后,他做了……”这类生硬衔接,更不能让动作描述悬在角色台词之后却没归属到具体人物。很多新手直接在对白末尾换行就写动作,结果PDF里动作文字缩进异常、字体突变,甚至被编译器识别成新段落的独立文本块。
用空行明确分隔对白与动作
在LaTeX剧本类(如`dramatist`或`script`)中,对白由`\speak{}`或类似命令包裹,动作段落则用普通段落或`\stage{}`命令。二者之间必须插入一个完全空白的行——不是空格,不是制表符,是光标回车后什么也不输入的那一行。
这一步不可省略。LaTeX剧本类宏包依赖空行来触发环境切换,漏掉空行会导致动作文字被错误地嵌入对白盒子内部,编译后可能消失、错位,或和下一句台词挤在同一行。
动作段落前禁用缩进,统一用\stage{}包裹
直接写动作文字会触发默认段落首行缩进,而剧本规范要求动作段落顶格、无缩进。
方法一:用ctex或dramatist提供的`\stage{}`命令
在空行之后,输入`\stage{他猛地推开木门,门轴发出刺耳的呻吟。}`。该命令自动取消缩进,并应用动作段落专用字体与行距。
方法二:手动清除缩进
在空行后写`\noindent 他猛地推开木门,门轴发出刺耳的呻吟。`。但此法不推荐——它绕过剧本类的样式控制,后续若全局调整动作字体,此处不会同步更新。
注意:不要在\stage{}内使用中文引号“”或英文引号"",它们会触发csquotes宏包的语言判断逻辑,可能意外将动作文字识别为嵌套引语,导致排版错乱。
检查编译器是否识别为剧本结构
第一步:确认导言区已加载剧本支持宏包,例如:\usepackage{dramatist} 或 \usepackage{ctex}(配合`ctex`文档类)。
第二步:确保文档类明确声明为剧本类型,例如:\documentclass{dramatist} 或 \documentclass{ctexrep}(用于长剧本)。
第三步:编译时使用XeLaTeX而非pdfLaTeX——【XeLaTeX是唯一能正确解析中文动作描述中全角标点与汉字间距的引擎】。pdfLaTeX会把中文动作段落里的顿号、逗号全部压扁成黑块,且无法调用系统中文字体。











