MacTeX 中的 Lualatex、fontspec 和外部 tikz 问题

MacTeX 中的 Lualatex、fontspec 和外部 tikz 问题

为了能够更快地编译大型文档,我想将 tikz 图片外部化。我还必须使用 lualatex 和 fontspec。

编辑:经过进一步测试,似乎只有在使用 MacTeX 版本的 TeXLive 时才会出现这个问题。

除非我注释掉 fontspec,否则下面的最小示例将无法编译

\documentclass{article}
%Comment the following line to get this to work!
\usepackage{fontspec}
\usepackage{pgfplots} 
  \pgfplotsset{compat=1.7}
  \pgfplotsset{plot coordinates/math parser=false}
  \newlength\figureheight
  \newlength\figurewidth

\usetikzlibrary{external} 
\tikzset{external/system call={lualatex
    \tikzexternalcheckshellescape -halt-on-error
    -interaction=batchmode -jobname "\image" "\texsource"}}
\tikzexternalize[shell escape=-enable-write18]

\begin{document}
\begin{figure}\tikzexternalize
  \centering
  \setlength\figureheight{4.00cm} 
  \setlength\figurewidth{6.00cm} 
  \begin{tikzpicture}
    \begin{axis}[width=\figurewidth,height=\figureheight,
      scale only axis,xmin=1,xmax=3,ymin=1,ymax=6,name=plot]
      \addplot[color=blue,solid]
      table[row sep=crcr]{
        1 2\\
        3 4\\
        5 6\\
      };
    \end{axis}
  \end{tikzpicture}%
\end{figure}
\end{document}

错误信息是:

===== 'mode=convert with system call': Invoking 'lualatex -halt-on-error 
-interaction=batchmode -jobname "main2-figure0" "\def\tikzexternalrealjob{main2}
\input{main2}"' ========
This is LuaTeX, Version beta-0.70.2-2012062819 (TeX Live 2012)
 restricted \write18 enabled.
Syntax Error: Couldn't find trailer dictionary
Syntax Error: Couldn't read xref table

!LuaTeX error (file main2-figure0.pdf): xpdf: reading PDF image failed
 ==> Fatal error occurred, no output PDF file produced!

LaTeX exited abnormally with code 70 at Wed Apr  9 13:01:46

根据建议,我删除了外部化并添加了\listfiles以下文件:

This is LuaTeX, Version beta-0.76.0-2013061817 (rev 4627)  (format=lualatex 2014.4.10)  10 APR 2014 12:30    
\write18 enabled.    


*File List*
article.cls    2007/10/19 v1.4h Standard LaTeX document class
size10.clo    2007/10/19 v1.4h Standard LaTeX file (size option)
fontspec.sty    2013/05/20 v2.3c Font selection for XeLaTeX and LuaLaTeX
expl3.sty    2012/02/08 v3343 L3 Experimental code bundle wrapper
l3names.sty    2011/12/30 v3113 L3 Experimental namespace for primitives
l3bootstrap.sty    2011/12/29 v3110 L3 Experimental bootstrap code
luatex.sty    2010/03/09 v0.4 LuaTeX basic definition package (HO)
infwarerr.sty    2010/04/08 v1.3 Providing info/warning/error messages (HO)
ifluatex.sty    2010/03/01 v1.3 Provides the ifluatex switch (HO)
etex.sty    1998/03/26 v2.0 eTeX basic definition package (PEB)
luatex-loader.sty    2010/03/09 v0.4 Lua module loader (HO)
pdftexcmds.sty    2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO)
ltxcmds.sty    2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
ifpdf.sty    2011/01/30 v2.3 Provides the ifpdf switch (HO)
color.sty    1999/02/16
color.cfg    2007/01/18 v1.5 color configuration of teTeX/TeXLive
pdftex.def    2011/05/27 v0.06d Graphics/color for pdfTeX
graphics.sty    2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
trig.sty    1999/03/16 v1.09 sin cos tan (DPC)
graphics.cfg    2010/04/23 v1.9 graphics configuration of TeX Live
l3basics.sty    2012/02/06 v3317 L3 Experimental basic definitions
l3expan.sty    2012/01/15 v3196 L3 Experimental argument expansion
l3tl.sty    2012/02/06 v3316 L3 Experimental token lists
l3seq.sty    2012/01/09 v3158 L3 Experimental sequences and stacks
l3int.sty    2012/02/06 v3315 L3 Experimental integers
l3quark.sty    2012/01/08 v3148 L3 Experimental quarks
l3prg.sty    2012/02/08 v3338 L3 Experimental control structures
l3clist.sty    2012/01/09 v3157 L3 Experimental comma separated lists
l3token.sty    2012/02/06 v3316 L3 Experimental token manipulation
l3prop.sty    2012/01/09 v3158 L3 Experimental property lists
l3msg.sty    2012/02/06 v3316 L3 Experimental messages
l3io.sty    2012/01/28 v3245 L3 Experimental input-output operations
l3file.sty    2012/01/31 v3287 L3 Experimental file operations
l3skip.sty    2012/02/06 v3313 L3 Experimental dimensions and skips
l3keys.sty    2011/12/22 v3086 L3 Experimental key-value interfaces
l3fp.sty    2012/02/06 v3315 L3 Experimental floating-point operations
l3box.sty    2012/01/09 v3158 L3 Experimental boxes
l3coffins.sty    2012/01/08 v3155 L3 Experimental coffin code layer
l3color.sty    2011/09/07 v2776 L3 Experimental colour support
l3luatex.sty    2012/01/09 v3158 L3 Experimental LuaTeX-specific functions
xparse.sty    2012/02/08 v3342 L3 Experimental document command parser
luaotfload.sty    2014/02/05 v2.4-3 OpenType layout system
luatexbase.sty    2013/05/11 v0.6 Resource management for the LuaTeX macro progr
ammer
luatexbase-compat.sty    2011/05/24 v0.4 Compatibility tools for LuaTeX
luatexbase-modutils.sty    2013/05/11 v0.6 Module utilities for LuaTeX
luatexbase-loader.sty    2013/05/11 v0.6 Lua module loader for LuaTeX
luatexbase-regs.sty    2011/05/24 v0.4 Registers allocation for LuaTeX
luatexbase-attr.sty    2013/05/11 v0.6 Attributes allocation for LuaTeX
luatexbase-cctb.sty    2013/05/11 v0.6 Catcodetable allocation for LuaTeX
luatexbase-mcb.sty    2013/05/11 v0.6 Callback management for LuaTeX
fontspec-patches.sty    2013/05/20 v2.3c Font selection for XeLaTeX and LuaLaTeX

fixltx2e.sty    2006/09/13 v1.1m fixes to LaTeX
fontspec-luatex.sty    2013/05/20 v2.3c Font selection for XeLaTeX and LuaLaTeX
fontenc.sty
eu2enc.def    2010/05/27 v0.1h Experimental Unicode font encodings
eu2lmr.fd    2009/10/30 v1.6 Font defs for Latin Modern
xunicode.sty    2011/09/09 v0.981 provides access to latin accents and many othe
r characters in Unicode lower plane
eu2lmss.fd    2009/10/30 v1.6 Font defs for Latin Modern
graphicx.sty    1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
keyval.sty    1999/03/16 v1.13 key=value parser (DPC)
fontspec.cfg
pgfplots.sty    2012/10/26 v1.7 Data Visualization (1.7-2-ge24fff4)
tikz.sty    2010/10/13 v2.10 (rcs-revision 1.76)
pgf.sty    2008/01/15 v2.10 (rcs-revision 1.12)
pgfrcs.sty    2010/10/25 v2.10 (rcs-revision 1.24)
everyshi.sty    2001/05/15 v3.00 EveryShipout Package (MS)
pgfrcs.code.tex
pgfcore.sty    2010/04/11 v2.10 (rcs-revision 1.7)
pgfsys.sty    2010/06/30 v2.10 (rcs-revision 1.37)
pgfsys.code.tex
pgfsyssoftpath.code.tex    2008/07/18  (rcs-revision 1.7)
pgfsysprotocol.code.tex    2006/10/16  (rcs-revision 1.4)
xcolor.sty    2007/01/21 v2.11 LaTeX color extensions (UK)
color.cfg    2007/01/18 v1.5 color configuration of teTeX/TeXLive
pgfcore.code.tex
pgfcomp-version-0-65.sty    2007/07/03 v2.10 (rcs-revision 1.7)
pgfcomp-version-1-18.sty    2007/07/23 v2.10 (rcs-revision 1.1)
pgffor.sty    2010/03/23 v2.10 (rcs-revision 1.18)
pgfkeys.sty    
pgfkeys.code.tex
pgffor.code.tex
tikz.code.tex
t3cmr.fd    2001/12/31 TIPA font definitions
supp-pdf.mkii
epstopdf-base.sty    2010/02/09 v2.5 Base part for package epstopdf
grfext.sty    2010/08/19 v1.1 Manage graphics extensions (HO)
kvdefinekeys.sty    2011/04/07 v1.3 Define keys (HO)
kvoptions.sty    2011/06/30 v3.11 Key value format for package options (HO)
kvsetkeys.sty    2012/04/25 v1.16 Key value parser (HO)
etexcmds.sty    2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
epstopdf-sys.cfg    2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live

答案1

问题是由 的位置引起的\tikzexternalize。 旧版本的pgf允许在序言和文档正文中都这样做,尽管没有记录。 使用 v3 更新,它现在必须出现在序言中:您实际看到的是辅助作业中止后主作业中的失败。 (使用 pdfLaTeX 时错误消息更清晰。)删除\tikzexternalize之后的\begin{document},如果您需要有选择地打开/关闭外部化,请使用\tikzexternalenable/ \tikzexternaldisable

相关内容