fontspecで色を使用するとコンパイルエラーが発生する

Jan 03 2020

別のスレッド[ここ] [1]でコードをコンパイルできなかったのですが、それは「色」が原因であることがわかりました。

このコードを使用すると...

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

...次のエラーが発生しています:

!LaTeXエラー:\ begin {document}がありません。l.4 ... ntfamily \ fsnsk [Script = Devanagari] {\ fsname} [Colour = 0000ff] \ begin {docum .. ..

私が去るとき[Colour=0000ff]...

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

...その後、コンパイルはOKです。他の人はその問題を抱えておらず、このコードをカラーでコンパイルできます。テストしたフォントは正常に機能しています。問題はどこだ?

回答

1 DavidPurton Jan 04 2020 at 17:38

MWEは、最新のTeXディストリビューションを使用して正常にコンパイルできます。

しかし、あなたのエラーは、それ[Colour=0000ff]がの引数として扱われていないことを示しています\newfontfamily。過去のオプションの引数にするために\newfontfamily行ってきました前にフォント名が、それはオプションの引数を入れてしばらく前に変更された後にフォント名。

fontspecフォント名の後にオプションの引数を置くことをサポートしていない古いバージョンを実行していると思われます。

これ\listfilesは、TeXドキュメントの先頭に追加することで確認できます。これにより、TeXはあなたのfontspecバージョンを出力します。

fontspecの私の(動作中の)バージョンはです2019/10/19 v2.7d

これが事実であることが判明した場合、解決策はTeXディストリビューションを更新することです。

それまでの間、回避策は次のように使用することです。

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

更新したら、おそらく次のものを使用する必要があります。

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

フォント名の前と後ろに1つのオプションを配置するのではなく。