Overleaf の Fontspec は .fontspec ファイルで問題が発生する

Overleaf の Fontspec は .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%
}

Overleaf のドキュメントはここから入手できます:オーバーリーフ MWE

ドキュメントは ではコンパイルされずLuaLaTeX、「Figtree-Regular」が見つからないというメッセージが表示されます。 も試してみましたXeLaTeXが、コンパイルが完了していないようです。ただし、ローカル セットアップ (Mac 上の TeXShop) では問題なくコンパイルされます。質問が 2 つあります。

  1. Overleaf で Figtree-Regular が見つからないのはなぜですか?
  2. 理想的には、Figree.fontspecファイルも にあるはずですfont/が、そうするとコンパイラが Figtree フォントをまったく見つけられなくなります。.fontspecファイルが見つからないからだと思います。これを修正する方法はありますか?編集:David のコメントで述べられているように、この動作を予想する理由はありません。この動作は、ファイルが.fontspec「標準の texmf の場所」にあるローカル セットアップでのみ確認されました。

答え1

.fontspec ファイルを尊重するには、正しいフォント名を渡す必要があります。は ではなく を\setmathfont{Figtree-Regular}検索します。同様に、.fontspec ファイルの内容は、何らかの効果を持たせたい場合は を指定する必要があります。 は(またはなど)の負荷にのみ影響し、 を含むものには影響しません。Figtree-Regular.fontspecFigtree.fontspec\defaultfontfeatures[Figtree-Regular]{...}\defaultfontfeatures[Figtree]{...}\setmathfont{Figtree}\setmainfont{Figtree}Figtree-Regular

それほど多くのファイルを作成したくない場合は、すべてのコマンド\defaultfontfeaturesを 1 つの 内に置くこともできます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,
}

あなたの例は機能します。

関連情報