解决XeLatex在MacOS下无法找到XITS Math 字体

运行环境

  • MacOS版本: Sonoma 14.2.1
  • XeLatex版本字符串
    • This is XeTeX, Version 3.141592653-2.6-0.999995
  • VSCode版本: 1.85.1
  • Latex Workshop插件版本: 9.17.0
  • 使用模板: obster-y/XJTU-thesis

Bug表现

编译时, Xelatex报错, 并在如下代码的最后一行处提示错误, 错误内容为The font "XITS Math" cannot be found.

1
2
3
4
5
6
7
\setCJKmainfont[AutoFakeBold=true]{Songti SC}
\newfontfamily{\heiti@letter}{STHeiti}
\newfontfamily{\songti@letter}{Songti SC}
\newfontfamily{\kaiti}{STKaiti}
\setmainfont{Times New Roman}
\setmathfont{XITS Math}
\setmathfont[range={\mathcal,\mathbfcal},StylisticSet=1]{XITS Math}

解决方案

查了一些资料, 似乎是XeLatex在MacOS下不能通过XITS的字体名识别字体导致的, 但是对于系统的字体册中的字体则没有这个问题, 所以解决方案是把字体装到系统的字体册中.

  • 确定MacTex的安装位置

在我的Mac上, 我使用Homebrew来安装mactex, 其安装目录默认在/usr/local/texlive/2023/, 其中2023会根据安装的不同版本而可能有所变化.

  • 字体册.app中添加字体
    • 字体册.app中, 在菜单栏导航依次到文件 - 新建资源库来新建一个资源库, 可以通过双击未命名的资源库来进行重命名.
    • 选中刚才新建的资源库, 在菜单栏选取文件 - 将字体添加到xxxx, 在弹出的窗口中, 可以按下CMD + G快捷键, 然后输入/usr/local/texlive/2023/texmf-dist/fonts/并按下回车, 这串字符串由你的MacTex具体的安装位置决定
    • 然后选中opentype文件夹, 并点击打开
    • 可能会有窗口提示不是所有的文件都是字体之类的内容, 忽略掉就好.
  • 安装完毕字体后, 重新启动VSCode编译, 问题即可解决.

可能我不太会用的解决方案

stone-zeng/fduthesis中, 有人提到可以使用ln来解决这个问题, 而且字体可以使用tlmgr更新.

1
ln -s /usr/local/texlive/2018/texmf-dist/fonts/opentype ~/Library/Fonts/

但我这么做之后, 会导致Chrome在某些中文网页上的中文字体乱码, 遂复原作罢.

碎碎念

Latex配置再复杂也比Word图乱飘字体五花八门强😅.

解决XeLatex在MacOS下无法找到XITS Math 字体

http://wwg.xyz/xits-math-cannot-be-found-xelatex-macos/

作者

Giles

发布于

2024-01-03

更新于

2024-01-03

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×