当尝试使用 XeLaTeX 编译文档时,我收到以下错误:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
!
! The font "Linux Libertine Slanted O" cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!...............................................
现在,我已经安装了字体文件,/usr/share/texlive/texmf-dist/fonts/opentype/public/libertineotf
包含我需要的字体文件。
但是 Fontconfig 看不到这些文件。我尝试使用 添加目录fc-cache
,它报告已添加 30 种新字体,但运行时我仍然看不到它们fc-list
。
现在,一切在 Linux Mint 上运行良好,但我现在使用 Fedora,它不知何故不再运行了。
我究竟做错了什么?
我正在使用 Fedora 18,所有与 latex 相关的东西都是从官方仓库安装的。
This is XeTeX, Version 3.1415926-2.5-0.9999 (TeX Live 2013/dev)
这是 xelatex 报告的内容。Fontconfig 是 Fedora 18 附带安装的。
答案1
该fontspec
手册第 4.2 节(第 6 页)指出:
4.6 按文件名
XETEX 和 LuaTEX 还允许通过文件名而不是字体名加载字体。当您拥有大量字体时,有时您可能不希望将它们全部安装在系统的字体目录中。在这种情况下,从磁盘上的其他位置加载它们会更方便。在 XETEX 中,在加载 TEX 发行版中存在的 OpenType 字体(例如 /usr/local/texlive/2010/texmf-dist/fonts/opentype/public)时,此技术也是必需的。这些位置中的字体对 XETEX 可见,但不能通过字体名加载,只能通过文件名加载;LuaTEX 没有此限制。
这意味着你不能简单地使用
\setmainfont{Linux Libertine O}
使用 XeLaTeX,除非您的系统看到该文件。
为了在 XeLaTeX 中使用 TeX 分发字体,您需要手动加载它们,这非常繁琐。
最好的选择是使用libertine
TeX 包 ( \usepackage{libertine}
)。