LaTeX中排版双人同步对白应使用parallel宏包:导言区加载usepackage{parallel},用egin{Parallel}{0.45 extwidth}{0.45 extwidth}环境,配合ParallelLText和ParallelRText填入台词,结尾加end{Parallel};打断式可用 aisebox微调或tabular硬控,中文需启用setCJKkerning{true}并统一字体。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

LaTeX中排版双人同步对白的正确方法
在剧本或对话体文本中,当两个角色在同一时间开口说话(如争吵、合唱、打断式应答),需让两段对白横向并列呈现,而非上下堆叠;直接用空行或手动缩进会导致编译错乱、行高不一致、无法跨页断行,且后期修改极难统一调整。
用parallel宏包实现左右分栏同步对白
parallel是专为并行文本设计的轻量级宏包,比paracol更简洁,无需手动切换栏位,天然支持自动对齐与跨页续接。
第一步:在导言区加载宏包→usepackage{parallel}。注意不要同时加载paracol或minipage类排版方案,否则会产生环境冲突。
第二步:将双人同步台词放入egin{Parallel}{左栏宽度}{右栏宽度}环境中→宽度建议用0.45 extwidth,留出中间缝隙便于视觉区分;过宽易导致单栏内文字换行断裂,过窄则挤压阅读空间。
第三步:用ParallelLText{张三台词}和ParallelRText{李四台词}分别填入左右内容→【必须成对使用,且不能嵌套其他环境如itemize或equation】,否则编译会中断并报“Missing } inserted”错误。
第四步:结尾加end{Parallel}→此时LaTeX会自动计算两栏高度差,并在较短栏底部补空白使底边对齐;若某句特别长,可手动在其中插入\强制换行,但仅限于台词内部词组间,不可切开复合词或专有名词。
处理打断式同步对白的微调技巧
当一人话未说完即被另一人插话(如“你根本不懂——”“我懂!”),需打破严格左右对齐,强调时间上的侵入感。
方法一:用
aisebox上提右侧台词→ParallelRText{
aisebox{1.2ex}{small 李四台词}},数值越大上提越明显;这一步要反复预览PDF,因为过大的ex值会导致右侧文字撞到上一行左栏内容。
方法二:在左侧台词末尾加hfillmbox{}→强制挤出右侧空间,再用ParallelRText从该位置起始渲染;此法适合短促打断,例如单字“喂!”或语气词“哈?”,避免右侧整体偏移。
方法三:放弃parallel,改用tabular环境硬控→egin{tabular}{@{}l@{hspace{1em}}l@{}},左列放张三,右列放李四,每行用\分隔;缺点是无法跨页,且长台词需手动\换行,但胜在绝对可控——【一旦选用tabular,全文所有同步对白必须统一用此法,混用parallel会导致编译器崩溃】。
中文同步对白的字体与间距适配
xeCJK默认对中文不启用字距微调,导致左右两栏文字视觉重量不均,尤其当一栏全是单字词、另一栏是长句时,会显得一边“发虚”一边“发闷”。
在导言区添加:setCJKkerning{true}→启用中文字距自动压缩与拉伸;配合XeTeXinterchartoks规则可进一步设定标点前后间隙,但日常排版仅开启kerning已足够。
若使用ctex文档类,需额外声明:ctexset{font={zihao{-4}songti}}→统一中文字体与字号,避免parallel环境中因字体缓存不同造成左右栏字号跳变;【未加此设置时,首次编译可能右栏字体偏小,清辅助文件重编后才正常】。

















