我正在尝试使用非标准字体(无花果树),同时尽可能保持主目录整洁。目录如下所示:
font/
Figtree-Bold.otf
Figtree-BoldItalic.otf
Figtree-Italic.otf
Figtree-Regular.otf
Figtree.fontspec
main.tex
main.tex
看起来像这样:
\documentclass{article}
\usepackage[quiet, no-math]{fontspec}
\usepackage[warnings-off={mathtools-colon, mathtools-overbracket}]{unicode-math}
\usepackage{firamath-otf}% set up main math font
\setmainfont{Figtree}
\setmathfont{Figtree-Regular}[range=up/{latin,Latin,num}]
\setmathfont{Figtree-Italic}[range=it/{latin,Latin}]
\setmathfont{Figtree-Bold}[range=bfup/{latin,Latin,num}]
\setmathfont{Figtree-BoldItalic}[range=bfit/{latin,Latin}]
\begin{document}
test $1 + 1 = 2$
\end{document}
看起来Figree.fontspec
像这样:
\defaultfontfeatures[Figtree]{
Path = font/,
Extension = .otf,
UprightFont = *-Regular,
BoldFont = *-Bold,
ItalicFont = *-Italic,
BoldItalicFont = *-BoldItalic%
}
Overleaf 文档可在此处获取:背面 MWE
该文档无法使用 进行编译LuaLaTeX
,提示“Figtree-Regular”未找到。我也尝试使用 进行编译,XeLaTeX
但似乎编译甚至没有完成。但是,在我的本地设置(Mac 上的 TeXShop)上,这可以毫无问题地进行编译。我有两个问题:
- 为什么 Overleaf 找不到 Figtree-Regular?
- 理想情况下,该
Figree.fontspec
文件也应该位于 中font/
,但这样做会导致编译器完全找不到 Figtree 字体。我推测这是因为它找不到.fontspec
文件。有办法解决这个问题吗?编辑:正如 David 的评论中提到的,没有理由期待这种行为。我只在文件位于.fontspec
“标准 texmf 位置”的本地设置中观察到了这种行为。
答案1
如果希望 .fontspec 文件得到遵守,则需要传递正确的字体名称。\setmathfont{Figtree-Regular}
将查找Figtree-Regular.fontspec
,而不是Figtree.fontspec
。同样,如果您希望 .fontspec 文件的内容\defaultfontfeatures[Figtree-Regular]{...}
产生任何影响,则需要指定它是否只影响(或等)\defaultfontfeatures[Figtree]{...}
的负载,而不是任何带有 的内容。\setmathfont{Figtree}
\setmainfont{Figtree}
Figtree-Regular
如果你不想创建那么多文件,你也可以将所有\defaultfontfeatures
命令放在一个文件中Figtree.fontspec
。例如,当你加载时,它不会自动读取Figtree-Regular
,但只要你Figtree
先加载,它就会被加载。
例如如果你输入Figtree.fontspec
:
\defaultfontfeatures[Figtree-Bold]{
Path = font/,
Extension = .otf,
}
\defaultfontfeatures[Figtree-BoldItalic]{
Path = font/,
Extension = .otf,
}
\defaultfontfeatures[Figtree]{
Path = font/,
Extension = .otf,
UprightFont = *-Regular,
BoldFont = *-Bold,
ItalicFont = *-Italic,
BoldItalicFont = *-BoldItalic%
}
\defaultfontfeatures[Figtree-Italic]{
Path = font/,
Extension = .otf,
}
\defaultfontfeatures[Figtree-Regular]{
Path = font/,
Extension = .otf,
}
那么你的例子就起作用了。