![MacTex:LuaLaTeX 可以找到字体,但 XeLaTeX 抱怨名称中有空格](https://linux22.com/image/376643/MacTex%EF%BC%9ALuaLaTeX%20%E5%8F%AF%E4%BB%A5%E6%89%BE%E5%88%B0%E5%AD%97%E4%BD%93%EF%BC%8C%E4%BD%86%20XeLaTeX%20%E6%8A%B1%E6%80%A8%E5%90%8D%E7%A7%B0%E4%B8%AD%E6%9C%89%E7%A9%BA%E6%A0%BC.png)
LuaLaTeX 编译这个很好:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}
\begin{document}
hello
\end{document}
XeTeX 因以下原因而消失:
kpathsea:make_tex: Invalid fontname `TeX Gyre Pagella', contains ' '
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
!
! The font "TeX Gyre Pagella" cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!...............................................
l.3 \setmainfont{TeX Gyre Pagella}
在我的装有 TexLive 的 Linux 工作站上,XeTeX 可以很好地编译它。发生了什么?
答案1
自 2014 年起,MacTeX 不再提供 TeX Gyre 字体的系统范围安装。请参阅此存档页面:MacTeX 2014 的新功能
前几年,MacTeX 包含可选软件包,使 TeX 中的 Latin-Modern 和 TeX-Gyre 字体可供其他 Mac OS X 程序使用。这些软件包不再提供,因为只有少数用户安装了它们,而且更好的方法是在 /Library/Fonts 中创建指向 TeX Live 中所需的 opentype TeX 字体的符号链接。
您可以做的是将 TeX Gyre 字体从/usr/local/texlive/2018/texmf-dist/fonts/opentype/public/tex-gyre
(这是 MacTeX 2018 的路径,如有必要,请更改年份)复制到/Users/_yourName_/Library/Fonts
,其中_yourName_
是您在 macOS 会话中的帐户名称。默认情况下,此文件夹是隐藏的(出于安全原因,因为一些缺乏经验的 macOS 用户。)但这只会为您的 macOS 会话安装字体。如果您的 Mac 上有多个帐户,您也可以在系统的根目录Library
中安装字体。/Library/Fonts
请注意,如果您想通过 XeLaTeX 访问 MacTeX 提供的任何 truetype 或 opentype 字体(不仅仅是 TeX-Gyre 字体),那么您必须将其复制到 或/Library/Fonts
中~/Library/Fonts
。
Opentype 字体位于此处(2018 年)/usr/local/texlive/2018/texmf-dist/fonts/opentype
:。
Truetype 字体位于此处(2018 年)/usr/local/texlive/2018/texmf-dist/fonts/truetype
:。