Overleaf中文排版避坑指南:如何用XeLaTeX保留英文格式(附完整配置代码)
在学术写作的世界里,Overleaf以其云端协作和丰富的模板库,成为了许多研究者和学生的首选工具。然而,当你的论文或报告中需要嵌入少量中文注释、作者信息或特定术语时,一个看似简单的需求往往会演变成一场格式“灾难”。你是否遇到过这样的场景:精心排版的英文图表编号,在引入中文后,Figure 1 莫名变成了“图1”,引号也从直引号变成了弯引号,整篇文档的格式一致性瞬间被打破。这并非Overleaf的缺陷,而是中英文排版逻辑差异在LaTeX引擎下的直接体现。本文正是为那些在英文为主体的文档中,需要精准、优雅地插入中文,同时不希望牺牲原有英文格式规范的作者准备的。我们将绕过那些笼统的教程,直击核心问题,提供一套经过实战检验的XeLaTeX配置方案,确保你的文档既兼容中文,又保持纯正的英文学术风格。
1. 理解问题根源:为何ctex宏包会“好心办坏事”
在Overleaf中处理中文,绝大多数教程会直接指向使用ctex宏包。这个宏包确实强大,它为中国用户封装了字体、版式、标点等一系列复杂设置,实现了“开箱即用”的中文支持。但正是这种全方位的自动化,成为了我们问题的源头。
ctex宏包的设计哲学是为中文文档提供完整的排版解决方案。当你以默认方式调用\usepackage{ctex}时,它默认你正在撰写一篇以中文为主的文档。因此,它会执行一系列全局性设置:
- 文档类重置:它会将底层文档类(如
article,report)切换为ctexart,ctexrep等,这些类内置了中文排版规范。 - 全局字体更改:将西文字体也纳入中文字体家族的管理体系,这可能导致西文字体(如Times New Roman, Computer Modern)被替换。
- 本地化(Localization):这是最关键的一点。它会将许多LaTeX内部命令的英文输出进行汉化,例如将“Figure”改为“图”,“Table”改为“表”,“Bibliography”改为“参考文献”,甚至改变章节编号的样式。
- 标点压缩与间距调整:按照中文排版习惯调整标点符号的宽度和间距,这会影响英文标点的显示。
对于一篇90%以上是英文,仅需插入一两句中文的论文来说,这种全局性的改变无疑是破坏性的。你的导师或期刊要求的所有格式规范,都可能因此失效。
注意:
ctex宏包本身没有错,它是一个极其优秀的工具。问题在于我们错误地将其用于了一个它并非最优解的场景——混合排版中以英文为主导的场景。
那么,正确的思路是什么?我们需要告诉ctex:“我只需要你的中文渲染能力,请保持其他所有设置原封不动。” 这正是通过向ctex宏包传递一系列精细的参数来实现的。
2. 核心解决方案:ctex宏包的正确参数配置
要让ctex“安分守己”地只处理中文,关键在于理解并设置其选项。下面这个配置是经过多次调试后的黄金组合,适用于绝大多数英文为主、插入中文的场景。
\usepackage[UTF8, scheme=plain, punct=plain, zihao=false, fontset=none]{ctex}
我们来逐一拆解每个参数的作用,这能帮助你在遇到特殊需求时自行调整:
| 参数 | 默认值(无此参数时) | 设置为上述值的作用 | 对英文格式的影响 |
|---|---|---|---|
UTF8 |
依赖编译器 | 明确指定输入文件编码为UTF-8,这是现代文本文件的标准,避免乱码。 | 无直接影响。 |
schem |

&spm=1001.2101.3001.5002&articleId=153228001&d=1&t=3&u=b1e6332bbd914c7ea5c36be27dbdb974)
309

被折叠的 条评论
为什么被折叠?



