Kompilierungsfehler bei Verwendung von Farbe in Schriftarten

Jan 03 2020

In einem anderen Thread [hier] [1] konnte ich keinen Code kompilieren und wir fanden heraus, dass es an 'Farbe' liegt.

Wenn ich diesen Code benutze ...

\documentclass{standalone} 
\newcommand\fsname{Shobhika} 
\usepackage{fontspec} 
\newfontfamily\fsnsk[Script=Devanagari]{\fsname}[Colour=0000ff]\begin{document} 
test 
\end{document}

... tritt folgender Fehler auf:

! LaTeX-Fehler: Fehlendes \ begin {Dokument}. l.4 ... ntfamily \ fsnsk [Script = Devanagari] {\ fsname} [Color = 0000ff] \ begin {docum ...

Wenn ich weggehe [Colour=0000ff]...

\documentclass{standalone} 
\newcommand\fsname{Shobhika} 
\usepackage{fontspec} 
\newfontfamily\fsnsk[Script=Devanagari]{\fsname}
\begin{document} 
test 
\end{document}

... dann ist die Zusammenstellung ok. Andere haben dieses Problem nicht und können diesen Code mit Farbe kompilieren. Schriftarten, die wir getestet haben und die gut funktionieren. Wo ist das Problem?

Antworten

1 DavidPurton Jan 04 2020 at 17:38

Ihr MWE kann mit einer aktuellen TeX-Distribution problemlos kompiliert werden.

Ihr Fehler zeigt jedoch an, dass dies [Colour=0000ff]nicht als Argument für behandelt wird \newfontfamily. In den letzten optionalen Argumenten für \newfontfamilyging vor dem Namen der Schrift, aber es war eine Weile her , setzen Sie das optionale Argument geändert nach dem Namen der Schrift.

Ich vermute, dass Sie eine alte Version davon fontspecausführen, die es nicht unterstützt, das optionale Argument nach dem Schriftartnamen zu setzen.

Sie können dies bestätigen, indem Sie \listfilesoben in Ihr TeX-Dokument einfügen. Dadurch gibt TeX Ihre fontspecVersion aus.

Meine (funktionierende) Version von fontspec ist 2019/10/19 v2.7d.

Wenn dies der Fall ist, besteht die Lösung darin, Ihre TeX-Distribution zu aktualisieren.

In der Zwischenzeit ist eine Problemumgehung zu verwenden:

\newfontfamily\fsnsk[Script=Devanagari, Colour=0000ff]{\fsname}

Nach der Aktualisierung sollten Sie wahrscheinlich Folgendes verwenden:

\newfontfamily\fsnsk{\fsname}[Script=Devanagari, Colour=0000ff]

anstatt eine Option vor und eine nach dem Schriftnamen zu setzen.