仅收录五年以上有检索的国际会议

平台仅发布5年以上有检索的会议
保障会议真实有效

在使用在线 LaTeX 编辑器 Overleaf 撰写学术论文或简历时,许多新手会遇到一个令人崩溃的现象:只要在代码中输入中文字符,点击编译后,PDF 中的中文要么完全空白不显示,要么系统直接飙红报错。

导致这一问题的根本原因非常简单:Overleaf 默认使用的编译器是 pdfLaTeX,该编译器原生不支持直接渲染中文字符。

要彻底解决中文字体不显示与报错问题,只需完成两步核心配置:切换编译器与调用中文宏包。

Overleaf 中文字体不显示报错怎么办?XeLaTeX 编译与 ctex 宏包解决教程

一、 核心解决步骤(30 秒排障)

第 1 步:将编译器切换为 XeLaTeX

这是最关键的一步,必须让系统底层使用支持 Unicode 字符的编译引擎。

  1. 在 Overleaf 编辑界面,点击左上角的 Menu(菜单) 按钮。

  2. 在滑出的左侧设置面板中,向下滚动找到 Settings(设置) 区域。

  3. 将 Compiler(编译器) 的下拉菜单从默认的 pdfLaTeX 修改为 XeLaTeX。

第 2 步:在代码导言区引入 ctex 宏包

告诉编译器使用中文排版规则和默认中文字体。

  1. 在您的代码编辑区,找到 \documentclass{...} 与 \begin{document} 之间的区域(即导言区)。

  2. 添加以下一行代码:

    代码段
    \usepackage[UTF8]{ctex}
    
  3. 点击页面右上角绿色的 Recompile(重新编译) 按钮。此时所有的中文都会完美显示,报错全部消失。

二、 零基础直接可用的中文标准模板

如果您正在新建一个文档,不知道如何配置,请直接清空原文件中的所有代码,将以下基础模板复制进去,点击编译即可:

代码段
\documentclass[12pt,a4paper]{article}

% 必须引入中文支持宏包
\usepackage[UTF8]{ctex} 

\title{Overleaf 中文排版测试}
\author{作者姓名}
\date{\today}

\begin{document}
\maketitle

\section{第一部分:中文测试}
这是一段中文测试文本。只要编译器设置为 XeLaTeX,且引入了 ctex 宏包,这里的中文就能正常显示,不会出现乱码或报错。

\end{document}

三、 为什么改了代码还是报错?(高频踩坑自查)

有些用户严格按照上述步骤修改了代码和编译器,但点击 Recompile 后依然提示红色的 Fatal Error。这通常是由以下两种特殊情况导致的:

1. 系统缓存报错残留(最常见)

Overleaf 的编译系统有时会“死记”之前的错误状态。即使你已经修复了代码,它仍在读取旧的错误缓存文件。

  • 解决办法:点击绿色的 Recompile 按钮旁边向下的小箭头,在下拉菜单底部找到红色的垃圾桶图标 “Clear cached files”(清除缓存文件)。点击清除后,再次重新编译,系统就会按照正确的 XeLaTeX 引擎重新生成文件,报错瞬间解决。

2. 全局文档类冲突

有些学术期刊的模板(如 IEEEtran 模板)有极度严格的字体和格式限定,或者作者已经将第一行写成了 \documentclass{ctexart}(自带中文环境的文档类),却在下方重复调用 \usepackage{ctex},导致命令冲突。

  • 解决办法:如果您使用的是 ctexart 或 ctexrep 文档类,无需再额外 \usepackage{ctex}。如果您使用的是英文期刊官方模板,建议保持原文档类不变,仅在导言区补充宏包即可。