Overleaf平台本地字体使用小技巧

Overleaf平台本地字体使用小技巧

“啊啊啊 想用latex写作业...但是老师只给了word模板(破防”

于是打开了 Overleaf,准备手动编写一份 LaTeX 模板作为平替。然而,翻遍了文档怎么都找不到完全符合老师 Word 模板的精美中文字体。

其实,这并不是因为同一种字体在不同系统下有差异,而是因为 Overleaf 的服务器是基于 Linux 系统的。出于版权限制,Linux 环境默认并不会预装 Windows 操作系统自带的那些专有商业中文字体(比如中易宋体、华文中宋、微软雅黑等)。在 Overleaf 中,默认处理中文的开源字库(如 Fandol)虽然够用,但在应对严格的格式审查时,往往缺了点意思。

不过注意到overleaf平台提供的文件上传功能,为了完美复刻 Word 模板的排版,我们可以考虑使用把本地的TTF文件直接上传到overleaf项目文件夹里


第一步:获取本地字体文件

先从自己的 Windows 电脑里把需要的字体文件提取出来。

  1. 一般来说字体都保存在这个目录下:C:\Windows\Fonts
  2. 在右上角搜索你需要的字体,比如“宋体”(simsun.ttc)或“华文中宋”(STZHONGS.TTF)。
  3. 将找到的字体文件复制到某个地备用(也可以直接复制,到latex的上传界面直接粘贴,不过有时候会失灵?)。
sad.png

第二步:在 Overleaf 中上传字体

在 Overleaf 项目中,为了保持目录整洁,建议新建一个专门存放字体的文件夹。

  1. 在左侧文件树中点击新建文件夹图标,命名为 fonts
  2. 将刚才复制到桌面的字体文件上传到这个 fonts 文件夹中。
  3. 🚨 避坑警告:Linux 系统对文件名的大小写极其敏感!请务必记住你上传的文件名是大写还是小写(例如 STZHONGS.TTFstzhongs.ttf 在服务器眼里是完全不同的两个文件)。
ScreenShot_2026-03-23_174520_055.png

第三步:配置 LaTeX 导言区代码

接下来是写代码的环节。如果你之前用了默认的字体配置,记得删掉,并指定我们刚刚上传的本地字体。在主文档的导言区(最上面的部分)进行如下设置:


% 1. 在文档类中添加 fontset=none 参数,关闭默认的开源字体加载,避免冲突
\documentclass[11pt, a4paper, fontset=none]{ctexart}

% 2. 告诉编译器去哪里找字体
\defaultfontfeatures{Path=fonts/}

% 3. 将全局中文主字体设置为你上传的字体文件(此处必须与上传的文件名大小写完全一致!)
\setCJKmainfont{STZHONGS.TTF}

注:之前网上搜到了带有 \usepackage{babel} 等复杂环境配置的旧教程,建议直接删掉那些代码。处理中文文档,直接用 ctexart 文档类是最优雅、冲突最少的方案。

第四步:切换编译器

Overleaf 默认使用的是 pdfLaTeX 编译器,但它不支持这种通过路径直接加载本地 TTF/TTC 字体的方式。如果不切换引擎会直接报错

  1. 点击 Overleaf 界面左上角的 Menu(菜单)。
  2. 在左侧面板中找到 Settings -> Compiler
  3. 将下拉菜单从 pdfLaTeX 修改为 XeLaTeX
f61d250d-783a-4953-8b6b-1c1a53fb52e1.png

点击 Recompile,就可以看到效果了。

0b172885-91f9-493d-a41c-549a5f5c8751.png