惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
美团技术团队
WordPress大学
WordPress大学
罗磊的独立博客
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
MongoDB | Blog
MongoDB | Blog
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
H
Help Net Security
S
SegmentFault 最新的问题
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
腾讯CDC
Engineering at Meta
Engineering at Meta
The GitHub Blog
The GitHub Blog
F
Fortinet All Blogs
D
DataBreaches.Net
雷峰网
雷峰网
GbyAI
GbyAI
宝玉的分享
宝玉的分享

博客园 - 立体风

autohotkey2.0 Send keys参数分析 autohotkey2.0 盲从模式 windows 10 下 vscode 编写编译一个 nana c++ 库的示例程序 vscode 插件 cmake-tools 输出内容解读 Claude Code 处理中文乱码问题 python 启动器命令 py 答惑 windows 下 python 3.11 的版本问题 pip 安装 老版本 pytorch 的一个容易迷惑的错误 sentence transformer 例子及说明 Sentence Transformers 介绍 Jina Reranker 替代方案:改用 ModelScope 模型 Webnovel Writer 6.2.1 项目分析 windows 10 LTSC 版 安装 Terminal autohotkey2.0 脚本运行机制 windows wsl2 安装 gentoo 的步骤 windows 10 LTSC版 打开 wsl2 autohotkey 提示词 编译安装最新版 perl rust 做到“快并且安全” 的逻辑思路 rust 和 go 语言的核心目的 用 vim 查看文件的格式和编码 throughput 和 efficient 词义 python 以字符数量分割文档 (三) python 以字符数量分割文档 (二) python 以字符数量分割文档 (一) GNU Bash 参考手册(中文版)(六) GNU Bash 参考手册(中文版)(五) GNU Bash 参考手册(中文版)(四) GNU Bash 参考手册(中文版)(三) GNU Bash 参考手册(中文版)(二)
TeX 的 ctex 宏包的基本用法
立体风 · 2025-09-08 · via 博客园 - 立体风

ctex 宏包是为处理中文 LaTeX 文档而设计的宏包,它极大地简化了中文排版所需的各种复杂配置。使用 ctex,你可以告别繁琐的字体和编码设置,轻松地排版出高质量的中文文档。

以下是 ctex 宏包的基本用法和一些常用功能。


1. 文档类型:ctexartctexrepctexbook

ctex 宏包提供了自己的文档类,这些文档类是标准 LaTeX 文档类(articlereportbook)的中文增强版。使用这些文档类是使用 ctex 最简单、最推荐的方式。

  • ctexart: 对应 article,用于短篇幅论文或文章。
  • ctexrep: 对应 report,用于较长的报告或学位论文。
  • ctexbook: 对应 book,用于书籍排版。

基本用法:

只需将文档的类型声明从 \documentclass{article} 改为 \documentclass{ctexart}

\documentclass[UTF8]{ctexart} % 建议始终加上 UTF8 选项
% ... 文档内容 ...

2. 作为宏包使用:\usepackage{ctex}

如果你需要在一个已有的文档中使用 ctex 的功能(例如,在自定义的文档类中),你也可以将它作为一个宏包来加载。

基本用法:

在文档导言区(\documentclass\begin{document} 之间)加入以下命令:

\documentclass{article}
\usepackage[UTF8]{ctex} % 推荐使用 XeLaTeX,并加上 UTF8 选项

\begin{document}
% ... 文档内容 ...
\end{document}

3. ctex 的核心功能

a. 中文支持

这是 ctex 最基本也是最重要的功能。它自动处理中文编码字体选择字号大小,让你能够直接在文档中输入中文而无需额外配置。

示例:

\section{你好,世界!}
这是一个使用 ctex 宏包的中文文档。
你好,中文排版!

b. 自动调整中西文混排间距

在中文和英文或数字混排时,ctex 会自动在它们之间插入一个微小的间距,以提高可读性,这符合中文排版的习惯。

示例:

我们可以轻松地在中文中插入 English Words,数字 12345,以及数学公式 $E=mc^2$。

c. 自动设置字体

ctex 宏包会根据你的操作系统自动选择合适的字体。在 Windows 上,它可能会默认选择“宋体”、“黑体”等。如果你想手动指定字体,可以使用 \setmainfont 命令(需使用 XeLaTeX 编译器)。

示例:

\documentclass[UTF8]{ctexart}
\usepackage{fontspec} % XeLaTeX 专用字体宏包

\setmainfont{思源宋体} % 设置正文字体为思源宋体
\setsansfont{思源黑体} % 设置无衬线字体为思源黑体
\setmonofont{思源等宽} % 设置等宽字体为思源等宽

\begin{document}
  这是宋体。{\sffamily 这是黑体。} {\ttfamily 这是等宽字体。}
\end{document}

d. 中文化命令

ctex 宏包将一些常用的 LaTeX 命令进行了中文化,让文档更符合中文习惯。

功能 LaTeX 原生命令 ctex 中文命令
\chapter{...} \chapter{...}(中文标题)
\section{...} \section{...}(中文标题)
目录 \tableofcontents \tableofcontents(标题自动变为“目录”)
摘要 \begin{abstract}...\end{abstract} \begin{abstract}...\end{abstract}(标题自动变为“摘要”)

4. 编译方法

使用 ctex 宏包的文档,强烈推荐使用 XeLaTeX 编译器进行编译。因为 XeLaTeX 原生支持 UTF-8 编码和系统字体,这与 ctex 的设计理念完美契合。

你可以使用 pdflatex 编译器,但在处理字体和编码上可能会遇到一些问题。

总结,如果你需要编写中文 LaTeX 文档,ctex 宏包是不可或缺的。它通过自动化的配置本地化的命令,让你能够专注于文档内容,而不是繁琐的技术细节。