kesalahan runtime lateks dengan kompiler Xelatex

lingkungan: ubuntu18.04 + texlive-2020 + texstudio

Saya telah berhasil menginstal texlive dan memastikannya dengan menguji dengan latex -v ; xelatex -v, dan mereka bekerja dengan baik. Dan di texstudio saya selesai mengkonfigurasi texstudio saya dengan jalur latex, pdflatex, xelatex dan lualatex.

Ini kode lateks saya, yang sangat mudah dibaca:

\documentclass{article}

\usepackage{xeCJK}

\begin{document}
    
    hello,你好
    
\end{document}

Namun ketika saya mengkompilasi dengan xelatex, saya menemukan kesalahan seperti ini: (Saya membangunnya dengan kompiler pdflatex dan berfungsi dengan baik tanpa bahasa Mandarin.)

expl3.sty error: line 148

File ended while scanning use of \__sys_tmp:w. { \sys_load_backend:n { } }

Missing number, treated as zero. { \sys_load_backend:n { } }

Missing = inserted for \ifnum. { \sys_load_backend:n { } }

Missing number, treated as zero. { \sys_load_backend:n { } }

xeCJK.sty error:

TeX capacity exceeded, sorry [save size=80000]. \xeCJKResetCharClass

Dan saya melihat cuplikan expl3.sty baris 148:

{ \sys_load_backend:n { } }

Tanpa kesalahan tanda kurung atau kesalahan sintaksis, bagaimana kesalahan ini muncul? (Saya yakin kesalahan yang melebihi mungkin disebabkan oleh kesalahan lain.) Log pembuatan lateks saya:

(/usr/local/texlive/2020/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/l3kernel/expl3.sty
Package: expl3 2021-01-09 L3 programming layer (loader) 

(/usr/local/texlive/2020/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
File: l3backend-xetex.def 2020-01-29 L3 backend support: XeTeX

(|extractbb --version))
Runaway argument?
\q_stop <\__int_eval:w \c_zero_int \__int_eval_end: \exp_after:wN \use_ii:nnn \
ETC.
! File ended while scanning use of \__sys_tmp:w.
<inserted text> 
                \par 
l.148   { \sys_load_backend:n { } }
                                   
I suspect you have forgotten a `}', causing me
to read past where you wanted me to stop.
I'll try to recover; but if the error is serious,
you'd better type `E' or `X' now and fix your file.

! Missing number, treated as zero.
<to be read again> 
                   \__kernel_tl_set:Nx 
l.148   { \sys_load_backend:n { } }
                                   
A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

! Missing = inserted for \ifnum.
<to be read again> 
                   \__kernel_tl_set:Nx 
l.148   { \sys_load_backend:n { } }
                                   
I was expecting to see `<', `=', or `>'. Didn't.

! Missing number, treated as zero.
<to be read again> 
                   \__kernel_tl_set:Nx 
l.148   { \sys_load_backend:n { } }
                                   
A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

)
Package: xeCJK 2020/10/19 v3.8.6 Typesetting CJK scripts with XeLaTeX

(/usr/local/texlive/2020/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
Package: l3keys2e 2020-10-27 LaTeX2e option processing using LaTeX3 keys
)
(/usr/local/texlive/2020/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.st
y
Package: xtemplate 2020-10-27 L3 Experimental prototype document functions
\l__xtemplate_tmp_dim=\dimen139
\l__xtemplate_tmp_int=\count181
\l__xtemplate_tmp_muskip=\muskip16
\l__xtemplate_tmp_skip=\skip49
) (/usr/local/texlive/2020/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
Package: xparse 2020-10-27 L3 Experimental document command parser

(/usr/local/texlive/2020/texmf-dist/tex/latex/l3packages/xparse/xparse-generic.
tex))
\l__xeCJK_tmp_int=\count182
\l__xeCJK_tmp_box=\box47
\l__xeCJK_tmp_dim=\dimen140
\l__xeCJK_tmp_skip=\skip50
 (/usr/local/texlive/2020/texmf-dist/tex/latex/ctex/ctexhook.sty
Package: ctexhook 2020/10/19 v2.5.5 Document and package hooks (CTEX)
)
\g__xeCJK_space_factor_int=\count183
\l__xeCJK_begin_int=\count184
\l__xeCJK_end_int=\count185
\c__xeCJK_CJK_class_int=\XeTeXcharclass1
\c__xeCJK_FullLeft_class_int=\XeTeXcharclass2
\c__xeCJK_FullRight_class_int=\XeTeXcharclass3
\c__xeCJK_HalfLeft_class_int=\XeTeXcharclass4
\c__xeCJK_HalfRight_class_int=\XeTeXcharclass5
\c__xeCJK_NormalSpace_class_int=\XeTeXcharclass6
\c__xeCJK_CM_class_int=\XeTeXcharclass7
\c__xeCJK_HangulJamo_class_int=\XeTeXcharclass8

! TeX capacity exceeded, sorry [save size=80000].
<argument> ..._xeCJK_begin_int =\l__xeCJK_tmp_int 
                                                  \int_incr:N \l__xeCJK_begi...
l.656 \xeCJKResetCharClass
                          
If you really absolutely need more capacity,
you can ask a wizard to enlarge me.

 
Here is how much of TeX's memory you used:
 973 strings out of 477220
 23745 string characters out of 5830450
 300467 words of memory out of 5000000
 20745 multiletter control sequences out of 15000+600000
 403438 words of font info for 28 fonts, out of 8000000 for 9000
 1348 hyphenation exceptions out of 8191
 67i,0n,75p,234b,80001s stack positions out of 5000i,500n,10000p,200000b,80000s
No pages of output.

Jadi pertanyaan saya adalah:

  1. apa itu \sys_load_backend, apakah itu kata kunci?
  2. Apakah file expl3.sty rusak? Jika ya, bagaimana cara memperbaikinya?
  3. Kondisi terburuk: Apakah saya perlu mereset texlive? Padahal aku sudah melakukan ini dua kali :(

person switchsyj    schedule 01.02.2021    source sumber
comment
Contoh Anda berfungsi dengan baik untuk saya dengan texlive terkini. Bisakah Anda menunjukkan file .log lengkap Anda?   -  person samcarter_is_at_topanswers.xyz    schedule 01.02.2021
comment
Sepertinya instalasi Anda rusak. Saya akan mencoba menginstal ulang/memperbaiki/mengkonfigurasi ulang texlive di sistem Anda.   -  person rubenvb    schedule 01.02.2021


Jawaban (3)


Saya telah memecahkan masalah ini dengan Menambahkan TexLive ke pemahaman jalur TexStudio:

  1. Buka Konfigurasi TeXstudio... dari menu tarik-turun Opsi.
  2. Centang Tampilkan Opsi Lanjutan.
  3. Buka bagian Bangun.
  4. Di Build Options, isi direktori bin TeXLive di kolom Commands ($PATH).
person z3wood    schedule 11.06.2021

Saya juga menggunakan versi penginstal miktex di win10 dan saya mendapatkan kesalahan yang sama seperti @Mark. Solusi saya sederhana: jalankan Texworks dengan hak administrator. Ini akan memperbaiki masalahnya.

person Tau Chan    schedule 02.07.2021

Saya menggunakan miktex portable di win10 dan saya mendapatkan kesalahan yang sama. Inilah yang saya temukan:

  1. \sys_load_backend bukan yang penting, melainkan __sys_tmp:w. Kode ini dapat ditemukan di file l3backend-xetex.def dan mengarahkan jalan ke solusinya, lihat di bawah
  2. Tidak, expl3.sty tidak rusak. Munculnya file ini hanya gejala saja, namun tidak ada hubungannya dengan error dan penyebabnya.
  3. Menurut saya instalasinya tidak perlu direset; file log kesalahan saya memberi saya informasi tambahan ini, yang mengarah ke alasan sebenarnya:

File: l3backend-xetex.def 18-03-2021 Dukungan backend L3: XeTeX ())
Argumen pelarian? Ekstrak Befehlbb adalah kesalahan yang diperoleh atau konnte ni\ETC. ! File berakhir saat memindai penggunaan __sys_tmp:w.

l3backend-xetex.def memiliki __sys_tmp:w dan sangat dekat dengan itu panggilan extractbb.exe, yang jelas tidak dapat ditemukan di perangkat portabel saya instalasi. Saya memperbaikinya dengan caranya: Tambahkan path lengkap ke ekstrakbb.exe ke variabel lingkungan sistem windows Anda (yang setara dengan unix). Maka itu tidak lagi portabel tetapi setidaknya berfungsi. Semoga ini bisa diperbaiki...

person Mark    schedule 10.04.2021
comment
Hai Markus! Saya melihat Anda hanya mencoba membantu, tetapi ini tidak menjawab pertanyaan awal. Ketika Anda memiliki reputasi yang cukup, dan Anda hanya ingin berbagi pengetahuan, dan menurut Anda ini adalah sesuatu yang dapat dimanfaatkan oleh lebih banyak orang , Anda sebaiknya mempertimbangkan untuk melakukan postingan Tanya Jawab. - person Andreas Storvik Strauman; 11.04.2021