Hmm. "File ended while scanning use of ...." pada dasarnya adalah hasil dari kesalahan parsing, ada kesalahan dalam USFM (akhir) atau cara pembacannya, di mana ada sesuatu yang mengharapkan penanda akhir tetapi tidak mendapatkannya.
Itu tidak terlalu membantu Anda, jadi saya melakukan penelusuran lebih lanjut: \@nxxt digunakan sebagai bagian dari makro yang mengambil parameter untuk pengidentifikasi seperti \h atau \id, di mana *penanda* lain apa pun mengakhiri parameter. (\h dan \id tidak dapat diikuti oleh USFM umum, hanya oleh teks tanpa penanda).
Tebakan saya adalah SFM akhir Anda diakhiri dengan \h atau \id, ATAU ada penanda di dalam \h atau \id yang mengharapkan parameter.
mis. \h sesuatu \c <AKHIR FILE>
-----------
Penjelasan yang terlalu rinci:
Dalam memproses \h, ia akan membaca setiap huruf dari "something ", menambahkannya ke parameter yang disimpan secara berurutan sampai ia membaca sesuatu yang bukan huruf sederhana. Huruf non-sederhana itu ditugaskan ke \@nxxt (makro yang didefinisikan oleh \c pasti bukan huruf sederhana). Kemudian ia akan melakukan apa pun yang diperlukan dengan parameter "something ", dan kemudian mengeksekusi makro \@nxxt yang diingat.
\c (dan dengan demikian \@nxxt) mengharapkan untuk membaca nomor bab yang diakhiri spasi (baris baru dihitung) jika file berakhir sebelum nomor bab dan spasi penanda akhir ditemukan, maka Anda akan memicu kesalahan.
------------
Secara serupa, jika hal pertama setelah \h / \id bukan gaya paragraf tetapi justru \k, dan tidak ada \k* untuk menandai akhir kata kunci, Anda akan berakhir dengan kesalahan yang sama. Ada beberapa situasi yang lebih aneh lagi, tetapi saya harap ini cukup sebagai petunjuk.
Anda perlu membaca dengan cermat SFM akhir (lihat tab tampilkan/edit) untuk glosarium, membandingkannya dengan glosarium asli, dan menemukan di mana masalahnya terletak.