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

推荐订阅源

N
News and Events Feed by Topic
S
Schneier on Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Scott Helme
Scott Helme
V
Vulnerabilities – Threatpost
Cyberwarzone
Cyberwarzone
C
Cybersecurity and Infrastructure Security Agency CISA
Latest news
Latest news
Google Online Security Blog
Google Online Security Blog
Google DeepMind News
Google DeepMind News
K
Kaspersky official blog
Forbes - Security
Forbes - Security
T
Tenable Blog
The Last Watchdog
The Last Watchdog
T
Tor Project blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Simon Willison's Weblog
Simon Willison's Weblog
Project Zero
Project Zero
O
OpenAI News
L
LINUX DO - 热门话题
P
Privacy International News Feed
月光博客
月光博客
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
C
Cyber Attacks, Cyber Crime and Cyber Security
量子位
博客园 - 【当耐特】
罗磊的独立博客
T
Threatpost
Application and Cybersecurity Blog
Application and Cybersecurity Blog
C
Cisco Blogs
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
N
News | PayPal Newsroom
腾讯CDC
Security Latest
Security Latest
J
Java Code Geeks
L
LINUX DO - 最新话题
N
Netflix TechBlog - Medium
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Exploit Database - CXSecurity.com
L
Lohrmann on Cybersecurity
D
Docker
Spread Privacy
Spread Privacy
S
Security @ Cisco Blogs
A
Arctic Wolf
H
Hacker News: Front Page
Help Net Security
Help Net Security
Recorded Future
Recorded Future
V2EX - 技术
V2EX - 技术

博客园 - 立体风

Sigmoid 函数的数学起源与定义详解 路径在powershell 配置文件 Profile 和 环境变量 PATH 的区别 当AI构建自身 nana gui库的回调函数 Nana c++ gui库的对话框函数 -- 理解 nana 的运行机制 介绍 MSVC 的编译命令/ Zc CMake 变量 ${CMAKE_CURRENT_BINARY_DIR} 学习 nana c++ 库 (一) AutoHotkey v2 的源码学习路线 Visual Studio 中行号右边的黄色竖条 大O表示法推导 allocate 中为什么有两个L vs的cl.exe 编译器 c++20 基本配置 IT高频词 address Python Install Manager (PIM,官方安装管理器)简介 debian 中 contrib 软件仓库 debian 版本号及 apt 命令对软件的区分 sysctl的历史及常用命令 极限运算的法则 XeLaTeX 的基本用法 XeLaTeX 介绍 为什么梯度向量 ∇f 指向函数值增长最快的方向 三角函数的余弦定理的证明 向量点积的几何定义的证明 方向导数公式的证明 仿射函数的定义及用途 凸集的定义及证明 在 LaTeX 公式中处理英文单词 梯度下降法 (Gradient Descent)的数学原理。 梯度下降法简介 向量形式表达最小二乘法 线性回归模型的核心数学表达式 risidual 音标和本义 coefficients的音标及本义(线性模型)
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 宏包是不可或缺的。它通过自动化的配置本地化的命令,让你能够专注于文档内容,而不是繁琐的技术细节。