Latex找不到字体:Package fontspec: The font “simsun“ cannot be found

用Latex模板编译的时候找不到字体报错:Package fontspec: The font "simsun" cannot be found

根据知乎上的一个评论解决了,注释掉模板文件.cls文件中关于newtx的内容就行,参考网址:

Latex 报错:The font cannot be found. 怎么解决? - 沐祁的回答 - 知乎
https://www.zhihu.com/question/368619069/answer/2690264926
Latex找不到字体:Package fontspec: The font “simsun“ cannot be found_第1张图片

PS: 如果用的模板,建议先试试上面的方法,注释掉模板文件.cls文件中关于newtx的内容。不行的话再结合下面其他方法

问题一: 字体未安装或者不是为所有用户安装的

  • 下载字体文件包网址:https://www.duote.com/soft/910448.html
  • 解压缩,在里面选自己想要的字体(可多选),右键->为所有用户安装
    然后再编译一下试试,不行再修改下面的配置文件。

问题二:ctex-fontset-windows.def文件设置不对

  • 如果用的vscode,点击报错内容应该会直接跳转到这个文件,这个文件在texlive的安装文件夹:C://texlive//2021//texmf-dist//tex//latex//ctex//fontset文件夹里面,这个文件相关的解释可以参考这篇知乎文章,主要关注下面这一部分设置:

{
\setCJKmainfont { simsun } [ BoldFont = SIMHEI.TTF , ItalicFont = SIMKAI.TTF ]
\setCJKsansfont { Microsoft~YaHei } [ BoldFont = *~Bold ]
\setCJKmonofont { FangSong }
\setCJKfamilyfont { zhsong } { simsun }
\setCJKfamilyfont { zhhei } { SIMHEI.TTF }
\setCJKfamilyfont { zhfs } { FangSong }
\setCJKfamilyfont { zhkai } { SIMKAI.TTF }
\setCJKfamilyfont { zhyahei } { Microsoft~YaHei } [ BoldFont = *~Bold ]
\setCJKfamilyfont { zhli } { LiSu }
\setCJKfamilyfont { zhyou } { YouYuan }
}
\NewDocumentCommand \songti { } { \CJKfamily { zhsong } }
\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } }
\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } }
\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } }
\NewDocumentCommand \lishu { } { \CJKfamily { zhli } }
\NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } }
\NewDocumentCommand \yahei { } { \CJKfamily { zhyahei } }

可能是一些字体的名字没有写对,导致编译的时候找不到字体,用这条命令查看已经安装的中文字体名称:
fc-list -f "%{family}\n" :lang=zh-cn >d:\list.txt
这个时候D盘根目录下生成了list.txt文件,打开后是这样:
Latex找不到字体:Package fontspec: The font “simsun“ cannot be found_第2张图片

PS: 查看字体名称参考了这篇知乎https://zhuanlan.zhihu.com/p/495831411

可以看到我的宋体名称是SimSun,部分网友把前面那段代码里面的simsun改成SimSun就行了。我这里编译了一下还是不行,所以我又去C://Windows//Fonts文件夹里面看了一下字体的文件后缀:
Latex找不到字体:Package fontspec: The font “simsun“ cannot be found_第3张图片
我这里的宋体文件后缀名.ttc,所以上面那段代码里面的simsun我都改成了SimSun.ttc,然后结合之前注释了.cls文件里面关于newtx的部分,然后编译成功。

其他字体应该可以参考类似方法改。

附上一些查看官方文档的windows终端命令:
texdoc fontspec
texdoc XeCJK

你可能感兴趣的:(Latex,vscode,ide,编辑器)