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)에서는 문제 없이 컴파일됩니다. 두 가지 질문이 있습니다.

  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명령을 하나의 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,
}

그러면 귀하의 예가 작동합니다.

관련 정보