当前位置:   article > 正文

Mac中使用LaTeX的中文字体出现Package fontspec Error: The font “宋体“ cannot be found.解决方案_package fontspec: the font "fangsong" cannot be fo

package fontspec: the font "fangsong" cannot be found.

问题

最近写论文需要用到LaTeX,之前我已经介绍过Mac上安装Mac TeX的方法,用起来跟在Windows中没有区别,但是在使用中文字体的时候,还是会发生诸如以下的错误:

! Package fontspec Error: The font "宋体" cannot be found.
! Package fontspec Error: The font "黑体" cannot be found.
  • 1
  • 2

在调用的地方我采用了Windows下编译通过的模板,即(字体设置部分):

\setCJKmainfont{宋体}%衬线字体 
\setCJKsansfont{黑体}%serif是有衬线字体sans serif无衬线字体。
\setCJKmonofont{仿宋}%中文等宽字体
  • 1
  • 2
  • 3

但是这些字体在Mac中竟然找不到…

分析与解决

一开始我以为需要安装字体才能解决问题(网上很多教程中也是这样说的…),之后发现并不是这样,只是Mac中的字体表示与Windows中不同,所以在Windows下可以编译的中文字体设置,到了Mac中反而会显示字体缺失.

遇到这种情况,我的做法是不用加这些字体的设置,直接command+space调出spotlight,输入font进入字体册,找到LaTeX编译提示缺失的字体,例如我上面提到的宋体,在字体册中显示为:STSong(需要点预览模式显示字体信息即可看到字体文件名称)

1

并将上面的字体配置依次修改为对应的字体文件名称(图中的PostScript 名称):

\setCJKmainfont{STSong}%衬线字体 
\setCJKsansfont{STHeitiSC-Light}%serif是有衬线字体sans serif无衬线字体。
\setCJKmonofont{STFangsong}%中文等宽字体
  • 1
  • 2
  • 3

就可以完美编译啦!

如果需要在文中设置字体,无需导入其他宏集(文档类为ctex前缀的话自动进行中文字体支持),只需要采用ctex的内置字体修改命令(具体可参考ctex文档):

{\songti 你好世界!}
{\lishu 你好世界!}
{\heiti 你好世界!}
  • 1
  • 2
  • 3

2

即可完成字体的修改,另外再附上字号的调整命令:

\newcommand{\chuhao}{\fontsize{42pt}{1.25\baselineskip}\selectfont}     %初号
\newcommand{\xiaochuhao}{\fontsize{36pt}{1.25\baselineskip}\selectfont} %小初号
\newcommand{\yihao}{\fontsize{28pt}{1.25\baselineskip}\selectfont}      %一号
\newcommand{\erhao}{\fontsize{21pt}{1.25\baselineskip}\selectfont}      %二号
\newcommand{\xiaoerhao}{\fontsize{18pt}{1.25\baselineskip}\selectfont}  %小二号
\newcommand{\sanhao}{\fontsize{15.75pt}{1.25\baselineskip}\selectfont}  %三号
\newcommand{\sihao}{\fontsize{14pt}{1.25\baselineskip}\selectfont}%     四号
\newcommand{\xiaosihao}{\fontsize{12pt}{1.25\baselineskip}\selectfont}  %小四号
\newcommand{\wuhao}{\fontsize{10.5pt}{1.25\baselineskip}\selectfont}    %五号
\newcommand{\xiaowuhao}{\fontsize{9pt}{1.25\baselineskip}\selectfont}   %小五号
\newcommand{\liuhao}{\fontsize{7.875pt}{1.25\baselineskip}\selectfont}  %六号
\newcommand{\qihao}{\fontsize{5.25pt}{1.25\baselineskip}\selectfont}    %七号
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

这样在调整的时候就可以采用如下命令,例如标题需要设置为隶书二号字,就可以设置为:

{\lishu\erhao 这里写上标题}
  • 1

3

小结

遇到这类问题不能盲目听信百度,也需要看看宏集文档,参考书籍等,这样才能从根本上解决问题.

参考

  1. 《LaTeX入门》刘海洋
  2. ctex宏集手册
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/505436
推荐阅读
相关标签
  

闽ICP备14008679号