使用带有预编译前导的 TikZ 衰落会导致分段错误(核心转储)

使用带有预编译前导的 TikZ 衰落会导致分段错误(核心转储)

我注意到我可以使用TikZ 衰落在我的文档中,它们工作得很好。此外,我经常使用预编译序言并且也能正常工作。但是,当我尝试使用这两个一起,我明白了Segmentation fault (core dumped)

我的问题是:

  1. 为什么会发生这种情况?
  2. 这是一个错误吗?
  3. 我能做些什么来实现这个功能?

以下是重现该问题的最少步骤。

我使用 Ubuntu 和 TeX Live 2021,但同样的事情发生在 Windows 和 TeX Live 2019 上。

首先我创建一个名为的类文件,test.cls其内容如下:

\ProvidesClass{test}
\LoadClass{standalone}
\usepackage{tikz}
\usetikzlibrary{fadings}

以及一个名为的文件,test.tex其内容如下:

\documentclass{test}
\begin{document}
  \begin{tikzpicture}
    \fill[color=blue,path fading=south] (0,0) circle (1cm);
  \end{tikzpicture}
\end{document}

test.tex用进行编译pdflatex test.tex,并得到以下结果:

结果 1

然后我创建preamble.tex以下内容:

\documentclass{test}
\csname endofdump\endcsname
\begin{document}
Preamble.
\end{document}

并用 编译pdftex -ini -jobname="preamble" "&pdflatex" mylatexformat.ltx preamble.tex得到preamble.fmt

然后我test.tex改成

%&preamble
\begin{document}
  \begin{tikzpicture}
    \fill[color=blue,path fading=south] (0,0) circle (1cm);
  \end{tikzpicture}
\end{document}

当我再次编译它时,我得到了Segmentation fault (core dumped)。以下是完整输出

This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021) (preloaded format=preamble)
 restricted \write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2021-06-01> patch level 1
L3 programming layer <2021-07-12>
==============================================================================
JOB NAME         : "test"
CUSTOMISED FORMAT: "preamble"
PRELOADED FILES:
    test.cls    
standalone.cls    2018/03/26 v1.3a Class to compile TeX sub-files standalone
shellesc.sty    2019/11/08 v1.0c unified shell escape interface for LaTeX
ifluatex.sty    2019/10/25 v1.5 ifluatex legacy package. Use iftex instead.
   iftex.sty    2020/03/06 v1.0d TeX engine tests
 xkeyval.sty    2020/11/20 v2.8 package option processing (HA)
 xkeyval.tex    2014/12/03 v2.7a key=value parser (HA)
standalone.cfg    2018/03/26 v1.3a Default configuration file for 'standalone' 
class
 article.cls    2021/02/12 v1.4n Standard LaTeX document class
  size10.clo    2021/02/12 v1.4n Standard LaTeX file (size option)
    tikz.sty    2021/05/15 v3.1.9a (3.1.9a)
     pgf.sty    2021/05/15 v3.1.9a (3.1.9a)
  pgfrcs.sty    2021/05/15 v3.1.9a (3.1.9a)
pgfrcs.code.tex
 pgfcore.sty    2021/05/15 v3.1.9a (3.1.9a)
graphicx.sty    2020/12/05 v1.2c Enhanced LaTeX Graphics (DPC,SPQR)
graphics.sty    2021/03/04 v1.4d Standard LaTeX Graphics (DPC,SPQR)
    trig.sty    2016/01/03 v1.10 sin cos tan (DPC)
graphics.cfg    2016/06/04 v1.11 sample graphics configuration
  pdftex.def    2020/10/05 v1.2a Graphics/color driver for pdftex
  pgfsys.sty    2021/05/15 v3.1.9a (3.1.9a)
pgfsys.code.tex
pgfsyssoftpath.code.tex    2021/05/15 v3.1.9a (3.1.9a)
pgfsysprotocol.code.tex    2021/05/15 v3.1.9a (3.1.9a)
  xcolor.sty    2016/05/11 v2.12 LaTeX color extensions (UK)
   color.cfg    2016/01/02 v1.6 sample color configuration
pgfcore.code.tex
pgfcomp-version-0-65.sty    2021/05/15 v3.1.9a (3.1.9a)
pgfcomp-version-1-18.sty    2021/05/15 v3.1.9a (3.1.9a)
  pgffor.sty    2021/05/15 v3.1.9a (3.1.9a)
 pgfkeys.sty    
pgfkeys.code.tex
 pgfmath.sty    
pgfmath.code.tex
pgffor.code.tex
tikz.code.tex

==============================================================================
(mylatexformat)Info: start reading document "test"
(mylatexformat)      on input line 2. (\begin{document})
==============================================================================
(/usr/local/texlive/2021/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def)
No file test.aux.
(/usr/local/texlive/2021/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/usr/local/texlive/2021/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
(/usr/local/texlive/2021/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))Segmentation fault (core dumped)

然后我path fading=south从 TikZ 图片中删除test.tex以下内容:

%&preamble
\begin{document}
\begin{tikzpicture}
\fill[color=blue] (0,0) circle (1cm);
\end{tikzpicture}
\end{document}

该文档可以再次运行并生成以下图像:

结果 2

相关内容