LaTex 中关于字体的一些问题(针对 ubuntu 系统,中文字体)

LaTex 使用之关于中文字体的一些问题(针对 ubuntu 系统)

0. 基础

一些文件格式

  • DVI : 最初 TeX 输出格式,不能嵌入字体和图形。也是后来PS、PDF的中间格式。
  • PS : PostScript
  • PDF : 文档

一些程序

关于文件格式转换

  • dvips : 将 DVI 文件转化为 PS 文件
  • ps2pdf : 将 PS 文件转为 PDF 文件
  • dvipdf : 将 DVI 转为 PDF 文件
  • dvipdfm/dvipdfx : dvipdf 的扩展,支持更多的 pdf 功能和字体

关于 TeX 引擎

  • TeX : 最早的 TeX 程序,功能和输出相对单一;ACSII 编码
  • ϵ − T e X \epsilon - TeX ϵTeX : 对 TeX 的扩展
  • pdfTeX : 能够直接输出 PDF 文件,但也保留了输出 DVI 的功能;UTF-8 编码
  • LuaTeX : 将 TeX 和脚本语言 Lua 结合起来;UTF-8 编码
  • XeTeX : 将 DVI 格式扩充为更为强大的 xdv 格式,可以直接生成 pdf 文件;UTF-8 编码

1. 字体的设置(针对中文)

1.1 一些基础

TeX 中对于字体的设定包含五个方面:

  • 字号 (font size):字体的大小
  • 字体编码 (font encoding):字体包含的符号,不常用
  • 字体族 (font family):字体的类型(如默认的罗马字体族、无衬线字体族、打字机字体族三类)
  • 字体形状 (font shape):默认字体形状有直立形状、斜体形状、意大利形状、小型大写形状四类
  • 字体系列 (font series):默认字体系列有中等、加粗加宽两类

而对于中文来说,一般主要设定其字体族。在 TeX 中常使用 xeCJK 或 CJK 宏。选择使用中文字体族可以使用如下命令

% windows 常用四种字体族
\CJKfamily{hei}  黑体
\CJKfamily{kai} 楷书
\CJKfamily{song} 宋体
\CJKfamily{fs} 仿宋
% 或使用 ctex 宏包后简化命令
\heiti 黑体
\kaishu 楷书
\songti 宋体
\fangsong 仿宋
\li 隶书
\you 幼圆

以上都是 windows 中预设的 TeX 常用字体,显然有时是不够用的。因此,有时就需要把安装在系统中的一些字体设定为 TeX 可用字体。如何设定,下面有详细描述。先说设定好后,如何使用。

对于中文而言,使用 xeCJK 宏包。字体使用通过如下命令

% 先设置声明
\setCJKmainfont[<可选选项>]{<字体名>} 正文罗马字体族
\setCJKsansfont[<可选选项>]{<字体名>} 无衬线字体族
\setCJKmonofont[<可选选项>]{<字体名>} 打字机字体族
\setCJKfamilyfont{<中文字体族>}[<可选选项>]{<字体名>} 中文字体族设置声明
% 后使用
\CJKfamily{<字体族名>}

说明: xeCJK 宏使用的是 fontspec 对应的中文字体,也就是系统 fontconfig 库所能找到的所有字体。

1.2 自定义字体

1.2.1 使操作系统的 fontconfig 库找到 TeX 附带字体
  • /usr/local/texlive/2020/texmf-var/texlive-fontconfig.conf 改名为 09-texlive.conf ,复制到系统的 /etc/fonts/conf.d/ 下,即

    $ sudo cp /usr/local/texlive/2020/texmf-var/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
    
  • 刷新 fontconfig 字体缓存,即

    $ sudo fc-cache -fsv
    

说明:该操作是全局的,系统中其他程序也将可一使用上述配置的字体。

1.2.2 设置 TeX 可以根据字体名找到相应字体
  • 设置 TeX 中 /usr/local/texlive/2020/texmf.cnf配置文件的 osfontdir 路径

    OSFONTDIR = /usr/share/fonts//;/usr/local/share/fonts//;~/.fonts//
    

注意:在使用字体时,要正确书写字体族名称,而所有字体族名称可以用以下命令列出

fc-list 列出所有(输出显示格式为: 字体族中文名,字体族英文名:变体)
fc-list :lang=zh 列出中文字体
fc-list -f "%{family}\n" 只列出字体族名
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值