Я пытаюсь использовать нестандартный шрифт (Смоковница) на Overleaf, сохраняя при этом основной каталог максимально чистым. Каталог выглядит так:
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%
}
Документ на обороте доступен здесь:Обратная сторона MWE
Документ не компилируется с LuaLaTeX
, сообщая, что "Figtree-Regular" не найден. Я также пробовал с , XeLaTeX
но, похоже, компиляция даже не завершается. Однако, это компилируется без проблем на моей локальной установке (TeXShop на Mac). У меня два вопроса:
- Почему Overleaf не может найти Figtree-Regular?
- В идеале
Figree.fontspec
файл также должен быть вfont/
, но это приводит к тому, что компилятор вообще не находит шрифт Figtree. Я предполагаю, что это потому, что он не может найти файл.fontspec
. Есть ли способ исправить это?редактировать:как упоминалось в комментариях Дэвида, нет причин ожидать такого поведения. Я наблюдал такое поведение только на локальной установке, где файл.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
. Он не будет автоматически считан при загрузке eg 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,
}
тогда ваш пример работает.