Fontspec auf Overleaf hat Probleme mit .fontspec-Dateien

Fontspec auf Overleaf hat Probleme mit .fontspec-Dateien

Ich versuche, eine nicht standardmäßige Schriftart zu verwenden (Feigenbaum) auf Overleaf, wobei das Hauptverzeichnis so sauber wie möglich gehalten wird. Das Verzeichnis sieht folgendermaßen aus:

font/
    Figtree-Bold.otf
    Figtree-BoldItalic.otf
    Figtree-Italic.otf
    Figtree-Regular.otf
Figtree.fontspec
main.tex

main.texsieht aus wie das:

\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}

und Figree.fontspecsieht so aus:

\defaultfontfeatures[Figtree]{
Path = font/,
Extension = .otf,
UprightFont = *-Regular,
BoldFont = *-Bold,
ItalicFont = *-Italic,
BoldItalicFont = *-BoldItalic%
}

Das Overleaf-Dokument ist hier verfügbar:Umseitig MWE

Das Dokument wird nicht mit kompiliert LuaLaTeX, da "Figtree-Regular" nicht gefunden wurde. Ich habe es auch mit versucht, XeLaTeXaber es scheint, als würde die Kompilierung nicht einmal abgeschlossen. Dies wird jedoch auf meinem lokalen Setup (TeXShop auf dem Mac) ohne Probleme kompiliert. Ich habe zwei Fragen:

  1. Warum kann Overleaf Figtree-Regular nicht finden?
  2. Idealerweise Figree.fontspecwäre die Datei auch in font/, aber dadurch findet der Compiler die Figtree-Schriftart überhaupt nicht. Ich nehme an, das liegt daran, dass er die .fontspecDatei nicht finden kann. Gibt es eine Möglichkeit, das zu beheben?bearbeiten:wie in Davids Kommentaren erwähnt, gibt es keinen Grund, dieses Verhalten zu erwarten. Ich habe dieses Verhalten nur bei einem lokalen Setup beobachtet, bei dem sich die .fontspecDatei an einem „Standard-Texmf-Speicherort“ befand.

Antwort1

Sie müssen den richtigen Schriftnamen übergeben, wenn die .fontspec-Datei beachtet werden soll. \setmathfont{Figtree-Regular}sucht nach Figtree-Regular.fontspec, nicht nach Figtree.fontspec. Ebenso muss der Inhalt der .fontspec-Datei angeben, \defaultfontfeatures[Figtree-Regular]{...}ob er irgendeinen Effekt haben soll, \defaultfontfeatures[Figtree]{...}also nur jede Menge \setmathfont{Figtree}(oder \setmainfont{Figtree}usw.) betrifft, nichts mit Figtree-Regular.

Wenn Sie nicht so viele Dateien erstellen möchten, können Sie alternativ alle \defaultfontfeaturesBefehle in einer Datei unterbringen Figtree.fontspec. Diese wird beim Laden beispielsweise nicht automatisch gelesen Figtree-Regular, aber wenn Sie Figtreezuerst laden, ist sie bereits geladen.

Wenn Sie beispielsweise Folgendes eingeben 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,
}

dann funktioniert dein Beispiel.

verwandte Informationen