Fontspec на Overleaf имеет проблемы с файлами .fontspec

Fontspec на Overleaf имеет проблемы с файлами .fontspec

Я пытаюсь использовать нестандартный шрифт (Смоковница) на 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). У меня два вопроса:

  1. Почему Overleaf не может найти Figtree-Regular?
  2. В идеале 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,
}

тогда ваш пример работает.

Связанный контент