Kesalahan kompilasi saat menggunakan warna di fontspec
Di utas lain [di sini] [1] Saya tidak bisa mengkompilasi kode dan kami menemukan, itu karena 'warna'.
Ketika saya menggunakan kode ini ...
\documentclass{standalone}
\newcommand\fsname{Shobhika}
\usepackage{fontspec}
\newfontfamily\fsnsk[Script=Devanagari]{\fsname}[Colour=0000ff]\begin{document}
test
\end{document}
... kesalahan berikut terjadi:
! LaTeX Error: Missing \ begin {document}. l.4 ... ntfamily \ fsnsk [Script = Devanagari] {\ fsname} [Color = 0000ff] \ begin {docum ...
Saat aku [Colour=0000ff]pergi ...
\documentclass{standalone}
\newcommand\fsname{Shobhika}
\usepackage{fontspec}
\newfontfamily\fsnsk[Script=Devanagari]{\fsname}
\begin{document}
test
\end{document}
... maka kompilasinya ok. Orang lain tidak memiliki masalah itu dan dapat mengkompilasi kode ini dengan warna. Font yang kami uji dan berfungsi dengan baik. Dimana masalahnya?
Jawaban
MWE Anda dapat dikompilasi dengan baik dengan distribusi TeX terkini.
Tetapi kesalahan Anda menunjukkan bahwa [Colour=0000ff]tidak diperlakukan sebagai argumen untuk \newfontfamily. Di masa lalu, argumen opsional untuk \newfontfamilypergi sebelum nama font, tapi itu diubah beberapa saat yang lalu untuk meletakkan argumen opsional setelah nama font.
Saya menduga bahwa Anda menjalankan versi lama fontspecyang tidak mendukung penempatan argumen opsional setelah nama font.
Anda bisa mengonfirmasi ini dengan menambahkan \listfileske bagian atas dokumen TeX Anda. Ini akan menyebabkan TeX mengeluarkan fontspecversi Anda .
Versi fontspec saya (yang berfungsi) adalah 2019/10/19 v2.7d.
Jika ini terbukti menjadi masalahnya, maka solusinya adalah memperbarui distribusi TeX Anda.
Sementara itu, solusinya adalah dengan menggunakan:
\newfontfamily\fsnsk[Script=Devanagari, Colour=0000ff]{\fsname}
Setelah diperbarui, Anda mungkin harus menggunakan:
\newfontfamily\fsnsk{\fsname}[Script=Devanagari, Colour=0000ff]
daripada meletakkan satu opsi sebelum nama font dan satu setelahnya.