使用上下文排版 pgfplots 时出现问题(mkiv)

使用上下文排版 pgfplots 时出现问题(mkiv)

我正在尝试排版 Context Wiki 中的最小 pgfplots 示例,但没有成功。

上下文-Wiki 示例

\setupcolors[state=start]
\usemodule[tikz]
\usemodule[pgfplots]

\starttext

\starttikzpicture
        \startaxis[     xmin=0,xmax=300,
                        title=http://cryogenics.nist.gov/,
                        xlabel=$T$ (K),
                        ylabel=$(L-L_{293})/L_{293}$,
                        legend style={at={(0.95,0.05)},anchor=south east},
                        width=16cm ]
                \addplot[mark=none,color=red] plot file {sapphire.dat};
                \addlegendentry{sapphire}
                \addplot[mark=none,color=green] plot file {Be.dat};
                \addlegendentry{Be}
                \addplot[mark=none,color=blue] plot file {BeCu.dat};
                \addlegendentry{BeCu}
                \addplot[mark=none,color=cyan] plot file {SS304.dat};
                \addlegendentry{SS304}
                \addplot[mark=none,color=magenta] plot file {Al6061-T6.dat};
                \addlegendentry{Al6061-T6}
                \addplot[mark=none,color=orange] plot file {nylon.dat};
                \addlegendentry{nylon}
        \stopaxis
\stoptikzpicture

\stoptext

无论我使用哪种设置:原始 TexLive-2011 或最新的独立上下文,我总是会收到相同的错误:

    texmf-modules/tex/generic/pgfplots/numtable/pgfplotstable.coltype.code.tex)
! Missing number, treated as zero.

system          > tex > error on line 1043 in file pgfplottest.tex: Missing number, treated as zero ...


<to be read again> 
                   ^
l.1043 \catcode`\^^
                   I=12

使用的版本如下:

pgfplots-1.5.1

mtx-context | ConTeXt 进程管理 0.52
mtx-context |
mtx-context | 主上下文文件:/opt/context-minimals/texmf-context/tex/context/base/context.mkiv
mtx-context | 当前版本:2012.04.19 23:18

有任何想法吗?

答案1

这似乎是 pgf 端或 ConTeXt pgf 模块的一个错误。这是读取文件以下几行时出现的类别代码问题pgfplotstable.code.tex

{
  \catcode`\^^I=12
  \gdef\pgfplotstablesave@impl@TAB{^^I}
}

解决方法是手动修复 catcodes:

% \usemodule [tikz]
% \usemodule [pgfplots]

\unprotect
  \input t-pgfplots
\protect

\starttext

\starttikzpicture
\startaxis
    [xmin=0,xmax=300,
    title=http://cryogenics.nist.gov/,
    xlabel=$T$ (K),
    ylabel=$(L-L_{293})/L_{293}$,
    legend style={at={(0.95,0.05)},anchor=south east},
    width=16cm]
    \addplot[mark=none,color=red] plot file {sapphire.dat};
    \addlegendentry{sapphire}
    \addplot[mark=none,color=green] plot file {Be.dat};
    \addlegendentry{Be}
    \addplot[mark=none,color=blue] plot file {BeCu.dat};
    \addlegendentry{BeCu}
    \addplot[mark=none,color=cyan] plot file {SS304.dat};
    \addlegendentry{SS304}
    \addplot[mark=none,color=magenta] plot file {Al6061-T6.dat};
    \addlegendentry{Al6061-T6}
    \addplot[mark=none,color=orange] plot file {nylon.dat};
    \addlegendentry{nylon}
\stopaxis
\stoptikzpicture

\stoptext

此示例适用于 2012.04.19 23:18 和 luatex (MkIV)。

笔记:catcode 问题现已修复,不再需要解决方法(除非您的 pgfplots 早于 2012-05-12)。可以照常加载模块:

\usemodule [pgfplots]

相关内容