ошибка времени выполнения латекса с компилятором Xelatex

среда: ubuntu18.04 + texlive-2020 + texstudio

Я успешно установил texlive и проверил это с помощью latex -v ; xelatex -v, и они отлично работали. И в texstudio я закончил настройку своей texstudio с помощью пути latex, pdflatex, xelatex и lualatex.

Вот мой латексный код, который очень легко читается:

\documentclass{article}

\usepackage{xeCJK}

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

Однако, когда я компилировал с помощью xelatex, я столкнулся с такой ошибкой: (я собирал его с помощью компилятора pdflatex, и он отлично работал без китайского языка.)

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

И я увидел фрагмент expl3.sty 148 строки:

{ \sys_load_backend:n { } }

Как возникает эта ошибка без каких-либо ошибок в скобках или синтаксической ошибки? (Я полагал, что ошибка превышения может быть вызвана другими ошибками.) Мой журнал сборки латекса:

(/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.

Итак, мой вопрос:

  1. что такое \sys_load_backend, это ключевое слово?
  2. Файл expl3.sty поврежден? Если это так, как я могу это исправить?
  3. Худшее состояние: нужно ли сбрасывать texlive? Хотя я делал это дважды :(

person switchsyj    schedule 01.02.2021    source источник
comment
Ваш пример отлично работает для меня с современным texlive. Можете ли вы показать свой полный файл .log?   -  person samcarter_is_at_topanswers.xyz    schedule 01.02.2021
comment
Похоже, ваша установка сломана. Я бы попытался переустановить/починить/перенастроить texlive в вашей системе.   -  person rubenvb    schedule 01.02.2021


Ответы (3)


Я решил эту проблему, добавив TexLive к пониманию пути TexStudio:

  1. Откройте «Настроить TeXstudio...» в раскрывающемся меню «Параметры».
  2. Установите флажок Показать дополнительные параметры.
  3. Перейдите в раздел «Сборка».
  4. В параметрах сборки заполните каталог bin TeXLive в поле «Команды» ($ PATH).
person z3wood    schedule 11.06.2021

Я также использую версию установщика miktex на win10, и я получил ту же ошибку, что и @Mark. Мое решение простое: запустить Texworks с правами администратора. Это решит проблему.

person Tau Chan    schedule 02.07.2021

Я использую miktex Portable на Win10, и у меня такая же ошибка. Вот что я узнал:

  1. \sys_load_backend не главное, вместо этого __sys_tmp:w. Этот код находится в файле l3backend-xetex.def и ведет к решению, см. ниже
  2. Нет, expl3.sty не сломан. Появление этого файла является лишь симптомом, но не имеет отношения к ошибке и ее причине.
  3. Я думаю, что установку не нужно сбрасывать; мой файл журнала ошибок дал мне эту дополнительную информацию, ведущую к истинной причине:

Файл: l3backend-xetex.def 18.03.2021 Поддержка бэкенда L3: XeTeX ())
Неуправляемый аргумент? Der Befehl Extractbb ist entweder falsch geschrieben oder konnte ni\ETC. ! Файл завершился при сканировании с использованием __sys_tmp:w.

l3backend-xetex.def имеет __sys_tmp:w и очень близкий к нему вызов extractbb.exe, который, очевидно, не может быть найден в моем портативном монтаж. Я исправил это по-своему: добавьте полный путь к extractbb.exe в системные переменные среды Windows (соответственно, эквивалент в unix). Тогда это уже не совсем портативно, но, по крайней мере, работает. Надеюсь это исправят...

person Mark    schedule 10.04.2021
comment
Привет Марк! Я вижу, что вы просто пытаетесь быть полезными, но это не отвечает на исходный вопрос. Когда у вас достаточно репутации, и вы хотите просто поделиться своими знаниями, и вы думаете, что это может принести пользу большему количеству людей , вам следует рассмотреть возможность публикации вопросов и ответов. - person Andreas Storvik Strauman; 11.04.2021