algorithm2e und xeCJK führen dazu, dass die TeX-Kapazität auf texlive2016 überschritten wird

algorithm2e und xeCJK führen dazu, dass die TeX-Kapazität auf texlive2016 überschritten wird

Mein Dokument kann nicht kompiliert werden, nachdem ich Texlive auf meinem Mac auf Version 2016 aktualisiert habe. Auf Texlive 2013 funktioniert es einwandfrei.

Hier ist ein Beispiel:

\documentclass[12pt]{report}

\usepackage[vlined,linesnumbered,noend,ruled]{algorithm2e}
\usepackage{xeCJK}

\begin{document}
  hello
\end{document}

Die Ausgabe:

This is XeTeX, Version 3.14159265-2.6-0.99996 (TeX Live 2016) (preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2016/03/31>
Babel <3.9r> and hyphenation patterns for 83 language(s) loaded.
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/report.cls
Document Class: report 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/size12.clo))
(/usr/local/texlive/2016/texmf-dist/tex/latex/algorithm2e/algorithm2e.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/tools/xspace.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/relsize/relsize.sty)
********************************************************
Package `algorithm2e' Release 5.1 -- october 19 2015 --
- [email protected] mailing list for announcement about releases
- [email protected] mailing list for discussion about package
subscribe by emailing [email protected] with 'subscribe <list> <firstname name>'
- Author: Christophe Fiorio ([email protected])
********************************************************
) (/usr/local/texlive/2016/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def))
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.st
y) (/usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty)
! TeX capacity exceeded, sorry [save size=80000].
<argument> ..._xeCJK_begin_int =\l__xeCJK_tmp_int
                                                  \int_incr:N \l__xeCJK_begi...
l.642 \xeCJKResetCharClass

No pages of output.
Transcript written on test.log.

Ich habe versucht, die Speichergröße zu vergrößern, aber es hat nicht funktioniert. Irgendwelche Ideen, wie man dieses Problem lösen kann?

Antwort1

Es gibt ein Problem in Zeile 1061 von algorithm2e.sty, das lautet

\newboolean{algocf@displaygroupmarkers}{\setboolean{algocf@displaygroupmarkers}{false}

aber die {Klammer davor \setbooleanist falsch (und unausgeglichen).

Dies bleibt größtenteils unbemerkt und führt lediglich zu einer Warnung in der Protokolldatei. Im Fall von werden xeCJKdie zahlreichen Zuweisungen in der geöffneten Gruppe ausgeführt, was zu einer Erschöpfung des Speichers führt.

Bis der Entwickler das Problem (das bereits vor Monaten gemeldet wurde) behebt, besteht die Abhilfe darin, eine Kopie der Datei zu erstellen, die falschen Elemente zu entfernen {und sie im „persönlichen“ TeX-Baum oder im selben Ordner wie die Hauptdatei zu platzieren.

verwandte Informationen