LaTeX中文字体设置

本文介绍了在 LaTeX 中设置中文字体的常用命令,包括setmainfont, setCJKmainfont, setCJKfamilyfont, setCJKsansfont 和 setCJKmonofont。在实际操作中遇到宏包冲突和字体安装问题,如Fandol字体的警告,并提供了STZhongsong和SimHei字体的配置示例。" 133893828,12827524,使用PyTorch实现Faster R-CNN目标检测,"['目标检测', 'pytorch', '深度学习', 'cnn', '神经网络']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面我们来介绍一下,在字体设置与选择中常见的命令及其用法和含义:

\setmainfont

例如:\setmainfont{Times New Roman}表示为设置默认英文字体为Times New Roman.

\setCJKmainfont

用法:

\setCJKmainfont{<font name>}[<font features>] %二者等价
\setCJKmainfont[<font features>]{<font name>}

设置正文罗马族的CJK字体,影响\rmfamily\textrm的字体,后面两个参数继承自fontspec宏包,<font features>是字体属性选项,<font name>是字体名,可以是字体族名也可以是文件名。

\setCJKfamilyfont

\setCJKfamilyfont{<family>}{<font name>}[<font features>] %二者等价
\\setCJKfamilyfont{<family>}[<font features>]{<font name>}

声明新的CJK字体族<family>并指定字体

\setCJKsansfont

\setCJKsansfont{<font name>}[<font features>]%或
\setCJKsansfont[<font features>]{<font name>}

设置正文无衬线族的CJK字体,影响\sffamily\textsf的字体。

\setCJKmonofont

\setCJKmonofont{<font name>}[<font features>]%或
\setCJKmonofont[<font features>]{<font name>}

设置正文等宽族的CJK字体,影响\ttfamily\texttt的字体。

例1

下面的例子引用xeCJK宏包,CJKchecksingle参数防止段落最后一行只有一个汉字;CJKnumber参数自动载入另一个宏包CJKnumber,提供\CJKnumber命令把阿拉伯数字转换为中文数字。

\usepackage[CJKchecksingle,CJKnumber]{xeCJK} 
\setCJKmainfont[BoldFont={Adobe Heiti Std},ItalicFont={Adobe Kaiti Std}]{Adobe Song Std} 
\setCJKsansfont{Adobe Heiti Std} 
\setCJKmonofont{Adobe Fangsong Std} 
\punctstyle{hangmobanjiao}

\setCJKmainfont命令设置来中文正文字体为宋体,它的两个参数BoldFontItalicFont分别设置来粗体为黑体,斜体为楷体。\setCJKsansfont设置无衬线字体为黑体,\setCJKmonofont设置等宽字体为仿宋。

而当我在VScode中运行这段代码却运行不了,我先逐行纠错:
在这里插入图片描述
从第一步调用宏包的时候开始报错:Option clash for package xeCJK.

查找来一番,发现是宏包冲突,其实在使用ctexart文档类的时候已经默认调用ctex宏包,说明这两个宏包冲突,然后我将文档类改为article,当我改了之后又开始警告:
在这里插入图片描述
这次又回到上一篇blog中没有解决的历史遗留问题了,看来不把它解决掉,我是不会善罢甘休的。在这里插入图片描述
警告⚠️:Fandol is being set as the default font for CJK text. (xeCJK) Please make sure it has been properly installed.
(高情商警告):Fandol是CJK文本的默认字体,请确保它已经安装了
(低情商警告):你是不是没得这个Fandol字体啊!
我在找了半天的字体也安装在字体册上可还是有报错哎。

设置中文字体指令

\setCJKfamilyfont{自定义的CJKfamily名称}{系统字体名称}
\newcommand{自定义指令名}{自定义的CJKfamily名称}

示例:

\setCJKfamilyfont{hwzs}{STZhongsong}
\newcommand{\stzs}{\CJKfamily{hwzs}}
\setCJKfamilyfont{heitij}{SimHei}
\newcommand{\heitij}{\CJKfamily{heitij}}

我在网站上下载的STZhongsong 字体和SimHei字体通过这个方式重新定义了命令。在正文的书写过程中直接用命令\stzs和命令\heitij表示即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值