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

文章目录

  • LaTex 使用之关于中文字体的一些问题(针对 ubuntu 系统)
    • 0. 基础
      • 一些文件格式
      • 一些程序
    • 1. 字体的设置(针对中文)
      • 1.1 一些基础
      • 1.2 自定义字体
        • 1.2.1 使操作系统的 fontconfig 库找到 TeX 附带字体
        • 1.2.2 设置 TeX 可以根据字体名找到相应字体

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 编码
  • ϵ−TeX\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" 只列出字体族名

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

  1. Ubuntu安装中文字体

    1.将simhei字体拷贝到/usr/share/fonts/目录下 2.导入字体 打开"终端"运行以下命令行,建立字体缓存信息: sudo mkfontscale sudo mk ...

  2. 浏览器字体和html字体,如何正确设置兼容浏览器的中文字体

    高版本IE浏览器(比如IE9)与有的垄断琐屑对CSS配置字体为直接运用中笔墨兼容不好,譬如直接css设置字体为中翰墨"宋体"."黑体"."微软雅黑&q ...

  3. 字蛛(FontSpider,中文字体压缩器)网页自由引入中文字体

    之前看过设计师面试一位 Web 前端工程师,其中有一段这样的对话: "如果设计师希望用图片实现某个字体样式,而从技术的角度来说这样不合理,但设计师非常坚持,这时候你怎么办?" &q ...

  4. Ubuntu 修改中文字体教程

    刚刚开始使用Ubuntu,在终端代码里可以看到奇奇怪怪丑陋的中文字体,怎么换成更好看的中文字体呢. 看了很多教程都是通过修改终端字体来实现,但这样就不能使用自己想要的英文字体了,比如我使用 Sourc ...

  5. Ubuntu 安装中文字体

    今天用chrome 打开网页中文 显示全是方框,安装中文字体解决 sudo apt-get install ttf-wqy-microhei #文泉驿-微米黑 sudo apt-get install ...

  6. ubuntu安装中文字体,python plt 绘图显示中文

    step1:下载字体simhei.ttf和simkai.ttf 链接:百度云          提取码:i3pe step2:将字体上传到服务器,上传位置"/home/wzg/Downloa ...

  7. Linux 查看系统里已安装的字体,linux安装中文字体宋体实例演示,linux没有中文字体导致的乱码问题解决

    把字体存放到 /root/usr/share/fonts 或 /usr/share/fonts 目录下,可以创建文件夹来存放对应的字体,比如我这里要安装宋体,我建了个 song 的文件夹. 字体获取: ...

  8. linux字体显示小方块,ubuntu18.04下 中文字体显示为方块 方框

    Me too 我七月初安的tim, 本来是一切正常的, 这几天突然界面文字变成方块了, 但对话界面里的文字仍然是正常的 Copy link Author 完美 解决了, 要用Deepin-WeChat ...

  9. 【转】常见系统中文字体的英文名

    http://www.aoao.org.cn/blog/2008/03/fonts-chinese/ http://www.yale.edu/chinesemac/pages/fonts.html M ...

最新文章

  1. viterbi维特比算法和隐马尔可夫模型(HMM)
  2. C#抽象类和抽象方法的特征和用途
  3. 你是否做好了代码的备份?
  4. mfc在运行的时候为什么没有实例化_为什么不建议把数据库部署在Docker容器内?...
  5. 查看linux的用户
  6. LeetCode 网易-1. 分割环(前缀和 + 哈希)
  7. 如何用 IDEA 提升十倍开发效率?
  8. 华为路由器ospf路由表解读_网络-路由交换-路由基础-华为-OSPF的工作原理
  9. java+jxls利用excel模版进行导出
  10. 如何写程序自动下载BBC Learning English的所有在线课程
  11. poj 1287 Networking (最小生成树Kruskal算法)
  12. 电脑硬盘怎么测试软件,HD Tune pro硬盘检测工具怎么用
  13. 垃圾邮件服务器 查询,exchange2013如果在服务器上查询到垃圾邮件的真实IP地址
  14. 小米miui adb删除自带软件
  15. dota 服务器 无响应,dota2卡死出现无响应蓝屏红字解决方法
  16. 从概念入手,了解AWS在Iaas、Paas,Saas层的服务
  17. 关于使用 ajax上传文件 Easyui的框架 input标签中 filebox属性取赋值操作问题
  18. 已知函数comp的C语言,在C ++ STL中设置value_comp()函数
  19. Ansible之管理windows主机
  20. Android程序反破解技术

热门文章

  1. mac安装并运行stf
  2. 微信公众号H5页面获取用户昵称头像等信息(Java)
  3. 三核异构,跨界处理新引擎—君正X2000 的跨界能力
  4. python——PYTHONPATH环境变量设置
  5. 基于ansible role实现LAMP平台批量部署 - 推酷
  6. nanoid js字符串id生成器
  7. 计算机网络note_P2P
  8. Greenplum 单机版安装问题及解决记录
  9. java 导出excel到多个sheet
  10. 微信小程序自定义组件Component is not found in path components weimo tabbar index using by pages index inde