关于Linux下Texlive无法找到已安装字体的问题与解决
关于Linux下Texlive无法找到已安装字体的问题与解决
当我在Ubuntu系统下使用Latex时,在编译渲染时报出了Font "xxx" does not contain requested
这种错误,其中xxx
就是你可能想使用的字体格式。
然而我的Ubuntu系统已经正确安装了一些常用中文字体,然而在LaTeX编译渲染时还会报出错误。
由于笔者为了解决这个问题翻遍了国内外的网站、去查看了Texlive官方文档,耗费了许多时间与精力,都没能找到解决我的问题的信息,人们的时间往往都很珍贵,一般找不到解决方案过后,往往都不了了之,本着互联网极客精神(开源精神),在这里将笔者的解决过程记录并分享,希望人们可以将这种精神继承并传承下去。
我甚至在Texlive的官方安装文档中看到这么一段话:
可以看到关乎于LaTeX排版中让人非常头疼的问题就是汉字的一些处理了,好在今天有非常多好用的宏包可以解决处理这个问题。
首先看一下笔者出现的问题:
可以看到终端给出的错误提示是未能找到已安装的字体(installed font not found),有了这句话的提示,笔者想的可能是,在我的系统上已安装了的字体中,在LaTeX中未能正确地引用,查看代码中可以看到:
在这里设置字体格式的时候我们设置楷体对应的字体文件为simkai
,我们可以查看我们的字体库中是否有simkai.ttf
楷体的字体文件:
在Ubuntu存放字体的目录/usr/share/fonts/
下可以使用find
命令查找:
可以看到,笔者的系统中已经存放了simkai.ttf
这个字体文件,为什么LaTeX还没有找到这个字体呢。
通过一番排查,原来是在Ubuntu中,对字体的使用并不仅仅是字体文件名,而是另一个别名。
我们可以使用fc-list
来查看系统可用的字体列表,然后使用grep
匹配simkai.ttf
的字体文件,可以进一步查看字体的信息:
原来,图中1号框中的名字只是字体文件名,而在系统应用中想要使用这个字体,我们需要指定2号框中的字体名,例如本图,我们想要使用楷体就需要指定KaiTi
或楷体
这个名字。
回到LaTeX代码中,将之前出现错误原因的simkai
替换成KaiTi
即可解决问题。
为了进一步验证笔者的猜想,可以看到上图代码中,在KaiTi
的下面还使用了SimSun
宋体的使用,然而SimSun
并不报错,这里笔者想可以继续查看SimSun
的字体信息,其后面的别名应该包含SimSun
。
所以笔者的猜想是正确的,所以在我们不同的系统、不同的字体文件中,每个人发生无法正确找到我们想要使用的字体的错误可能都不一样,因为我们使用的字体文件不同可能导致我们的在应用中使用字体中需要引用的名称的不同而不同,所以出现这种问题我们要具体问题具体分析,对症下药。
关于Linux下Texlive无法找到已安装字体的问题与解决的更多相关文章
- PyCharm无法找到已安装的Python类库的解决方法
一.问题描述 软件系统:Windows10.JetBrains PyCharm Edu 2018.1.1 x64 在命令行cmd中安装python类库包Numpy.Matplotlib.Pandas. ...
- linux下各安装包的安装方法
<转>linux下各安装包的安装方法 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root ...
- linux下搭建lamp环境以及安装swoole扩展
linux下搭建lamp环境以及安装swoole扩展 一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源 我安装的环境是:apache2.2.15+mysql5 ...
- Linux下非root用户如何安装软件
Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...
- LINUX下中文语言包的安装(转)
在安装盘上已经有各种语言包了,我们只需要找到他们,并安装就可以了.中文的是fonts-chinese-3.02-9.6.el5.noarch.rpmfonts-ISO8859-2-75dpi-1.0- ...
- [转载]Linux下非root用户如何安装软件
[转载]Linux下非root用户如何安装软件 来源:https://tlanyan.me/work-with-linux-without-root-permission/ 这是本人遇到的实际问题,之 ...
- (转)linux下weblogic12c集群的安装部署
本文介绍linux下weblogic12c集群的安装部署,版本12c,其他版本操作会有所不同,但其大体操作基本都是一样的 关于weblogic的集群,在此就不多做介绍了,如果有不了解的朋友可以百度搜索 ...
- Linux下通过源码编译安装程序
本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件: ...
- linux下Redis与phpredis扩展安装
++++++++++++++++++++++++++++++++++++++++++++++linux下Redis与phpredis扩展安装++++++++++++++++++++++++++++++ ...
随机推荐
- linux 查看目录大小
查看当前目录下各个目录大小容量 du -sh * du -sh /app/* du -h --max-depth=1 .
- 教你几招HASH表查找的方法
摘要:根据设定的哈希函数 H(key) 和所选中的处理冲突的方法,将一组关键字映象到一个有限的.地址连续的地址集 (区间) 上,并以关键字在地址集中的"象"作为相应记录在表中的存储 ...
- SpringBoot集成websocket发送后台日志到前台页面
业务需求 后台为一个采集系统,需要将采集过程中产生的日志实时发送到前台页面展示,以便了解采集过程. 技能点 SpringBoot 2.x websocket logback thymeleaf Rab ...
- Docker:docker部署PXC-5.7.21(mysql5.7.21)集群搭建负载均衡实现双机热部署方案
单节点数据库弊端 大型互联网程序用户群体庞大,所以架构必须要特殊设计 单节点的数据库无法满足性能上的要求 单节点的数据库没有冗余设计,无法满足高可用 推荐Mysql集群部署方案 PXC (Percon ...
- SpringBoot:springboot项目jar包如何引入外置配置文件
springboot项目打成jar包,默认读取的classpath路径下的配置文件,config.properties是自定义配置文件. 如果要把config.properties配置 ...
- 使用Less/Sass生成Bootstrap格栅样式系统
熟悉Bootstrap的同学应该了解其中的格栅系统,用来排版非常方便.他将页面分为12等分,并且适用不同的尺寸屏幕.超小xs(小于768px),小屏sm(大于等于768px),中屏md(大于等于992 ...
- XCTF Guess-the-Number
一.发现是jar文件,一定想到反汇编gdui这个工具,而且运行不起来,可能是我电脑问题,我就直接反编译出来了. 也发现了flag,和对应的算法,直接拉出来,在本地运行,后得到flag 二.java代码
- java基础---java8 新特性
1. 函数式接口 函数式接口主要指只包含一个抽象方法的接口,如:java.lang.Runnable(java1.0).java.util.Comparator接口(java1.4)等. Java8提 ...
- 学C记录(理解递归问题之汉诺塔)
汉诺游戏规则如下: 1.有三根相邻的柱子,标号为A,B,C. 2.A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘. 3.现在把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘 ...
- 结对开发_石家庄地铁查询web系统
结对开发:队友田昕可 大二上学期做过只有两号线的地铁查询系统,但是只能在控制台操作.这一次将线路加到了六条,并且要求web实现,下面简述一下设计思路和具体代码实现: 1.数据库建表 于我们自己习惯而言 ...