Purplelink
← ModernTex

在 Mac 上用 XeLaTeX 和 ctex 写中文论文

在 Mac 上用 XeLaTeX 和 ctex 写中文论文:安装 TeX,写一个能直接编译的最小文档,按 GB/T 7714 排参考文献。

这篇指南说明怎样在 Mac 上用 XeLaTeX 和 ctex 写中文论文:安装 TeX、写一个能直接编译的最小文档、按 GB/T 7714 排参考文献,以及遇到中文空白或字体问题时怎么查。文中的文件都可以复制使用,并且编译过。

第 1 步:安装 TeX

MacTeX 是完整的 TeX Live,已经包含 ctex、xeCJK 和中文参考文献样式,体积有几个 GB。TinyTeX 小得多,装在你的用户目录(~/Library/TinyTeX)里,缺什么用 tlmgr 补什么。ModernTex 在编译时找不到 TeX,会提供一键安装 TinyTeX。

用 TinyTeX 时,在终端里装下面这些包。如果找不到 tlmgr,用完整路径 ~/Library/TinyTeX/bin/universal-darwin/tlmgr。

tlmgr install ctex xecjk fandol biblatex biber biblatex-gb7714-2015 gbt7714

下载慢的话,可以先把仓库换成国内的镜像,例如清华的 TUNA 镜像:

tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet

第 2 步:最小的中文文档

把下面的内容存成 main.tex(UTF-8 文本):

% !TEX program = xelatex
\documentclass[a4paper,zihao=-4]{ctexart}
\usepackage{amsmath}
\usepackage[backend=biber,style=gb7714-2015]{biblatex}
\addbibresource{ref.bib}

\title{在 Mac 上用 XeLaTeX 写中文论文}
\author{张三}
\date{\today}

\begin{document}
\maketitle
\begin{abstract}
本文演示 ctex 与 GB/T 7714 参考文献。
\end{abstract}

\section{引言}
中文排版使用 XeLaTeX 和 ctex。引用文献\cite{zhang2020,smith2021}。公式 $a^2+b^2=c^2$。

\printbibliography
\end{document}

要点:

第 3 步:字体

ctex 在 macOS 上会自动选系统自带的中文字体,上面的文档没有额外设置字体,也没有缺字警告。想明确指定,用 fontset 选项:

\documentclass[a4paper,zihao=-4,fontset=mac]{ctexart}

fontset=mac 用 macOS 的字体。fontset=fandol 用随 TeX Live 提供的 Fandol 字体,换一台电脑排出来的版式也一样,适合多人协作。写成 fontset=none 则不设字体,中文会变成空白,编译日志里出现 Missing character,我试的时候有 69 条。

第 4 步:GB/T 7714 参考文献

上面的 main.tex 用 biblatex-gb7714-2015 和 biber。文献库 ref.bib 放在同一个文件夹,中文和英文条目都写进去,用 langid 标明语言:

@article{zhang2020,
  author = {张三 and 李四},
  title = {深度学习在文本分类中的应用},
  journal = {计算机学报},
  date = {2020},
  volume = {43},
  number = {5},
  pages = {1--20},
  langid = {chinese},
}
@article{smith2021,
  author = {Smith, John and Doe, Jane},
  title = {Deep learning for text classification},
  journal = {Journal of Examples},
  date = {2021},
  volume = {10},
  number = {2},
  pages = {100--120},
  langid = {english},
}

编译后得到的是这样的顺序编码制列表:

[1] 张三, 李四. 深度学习在文本分类中的应用[J]. 计算机学报, 2020, 43(5): 1-20.
[2] SMITH J, DOE J. Deep learning for text classification[J]. Journal of Examples, 2021, 10(2): 100-120.

你更习惯 BibTeX 的话,用 gbt7714 宏包:

% !TEX program = xelatex
\documentclass[a4paper]{ctexart}
\usepackage{gbt7714}
\bibliographystyle{gbt7714-numeric}

\begin{document}
\section{引言}
引用文献\cite{zhang2020,smith2021}。

\bibliography{ref}
\end{document}

这个文件的编译顺序是 xelatex、bibtex、xelatex、xelatex,latexmk -xelatex 会替你完成。gbt7714 带有 2015 版和 2025 版两套样式(比如 gbt7714-2015-numeric 和 gbt7714-2025-numeric),以你学校的要求为准。

第 5 步:编译

latexmk -xelatex main.tex

在 ModernTex 里,打开这个文件夹,在编译配置里选 biblatex(biber),然后编译。Full 编译在 XeLaTeX 和 LuaLaTeX 下也会运行 biber。

学校的论文模板

清华的 thuthesis 这类学校模板,把整个模板文件夹作为项目打开,按模板自带的说明选引擎和编译顺序。类文件放在 Styles 文件夹里的模板,ModernTex 也能编译。我没有测试过具体某一所学校的模板,所以这里不替它们担保,只保证上面 main.tex 和 ref.bib 的写法。

我测试了什么

2026 年 10 月 29 日,在 macOS 上的 TinyTeX(TeX Live 2026)里,我装好上面的包,把 main.tex 和 ref.bib 用 latexmk -xelatex 编译成 PDF,参考文献按 GB/T 7714 排出,没有缺字。fontset=mac 和 fontset=fandol 也都能编译。gbt7714 的例子用 xelatex 和 bibtex 编译通过。我没有在 ModernTex 里运行这些文件。

常见问题

中文显示成空白,编译日志里有 Missing character,怎么办?

多半是没有给中文设字体。用 XeLaTeX 或 LuaLaTeX 编译,文档类用 ctexart、ctexrep 或 ctexbook,让 ctex 自动选字体,或者写 fontset=mac、fontset=fandol。不要写 fontset=none。

可以用 pdfLaTeX 写中文吗?

可以,但那是旧做法,要加载 CJK 并处理编码,设置比 XeLaTeX 加 ctex 麻烦。新写的论文建议直接用 XeLaTeX 或 LuaLaTeX。

参考文献是空的,或者只显示编号,怎么办?

biblatex 需要 biber,而且要多编译几遍。用 latexmk -xelatex main.tex,或在 ModernTex 里选 biblatex(biber)后用 Full 编译。第一遍之后参考文献还是空的,这是正常的。

tlmgr 下载很慢,怎么办?

换一个国内的镜像,比如 tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet。

GB/T 7714 有 2015 和 2025 两个版本,用哪个?

以你的学校或期刊的要求为准。biblatex-gb7714-2015 对应 2015 版;gbt7714 宏包同时提供 2015 版和 2025 版的 BibTeX 样式。

用 ModernTex 编译

ModernTex 是 Mac 上的 LaTeX 编辑器,有跟随源码的 PDF 预览、用日常语言解释的编译错误和投稿前检查。它使用你本机的 TeX,所以上面的步骤在其中同样适用。免费试用 7 天,之后一次性 19.99 美元。应用界面目前是英文。