无法用两个图例条目来外部化 tikz 图形

无法用两个图例条目来外部化 tikz 图形

我有一个包含 matlab 散点图的 tikz 文件。它由matlab2tikz。tikz 文件(sample.tikz)如下所示,无需外部化即可在文档中顺利编译。

\begin{tikzpicture}

\begin{axis}[%
width=\figurewidth,
height=\figureheight,
scale only axis,
xmin=1, xmax=8,
xtick={1,2,3,4,5,6,7,8},
legend style={at={(1.03,1)},anchor=north west,draw=black,fill=white,legend cell align=left}
]
\addplot [
color=blue,
solid,
line width=1.5pt
]
table{
0 1.15086549555392
8 1.15086549555392
};
\addlegendentry{baseline};

\addplot[only marks,mark=o,color=green!50!black] plot coordinates{
(1,1.14776993023436)
(2,1.14877635969775)
(3,1.15086549555392)
(4,1.15104679449109)
(5,1.13229950771559)
(6,1.14459533891626)
(7,1.13874295199852)
(8,1.14110592572754)
};
\addlegendentry{$\text{C}_\text{D}$};

\end{axis}
\end{tikzpicture}%

我的 tex 文件如下所示:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}               % needed to import .tikz graphics
\usetikzlibrary{plotmarks}          % needed for tikz scatter plot
\usetikzlibrary{external}
\tikzexternalize[prefix=tikz/]
\newlength\figureheight                 %Tikz plot setup 
\newlength\figurewidth                  %Tikz plot setup

\begin{document}
\begin{figure}[htpb]
    \centering
    \setlength\figureheight{0.45\linewidth} 
    \setlength\figurewidth{0.6\linewidth}
    \input{./images/sample.tikz}
    \caption{Caption}
    \label{fig:}
\end{figure}
\end{document}

编译它并检查./tikz目录,我发现一个空.dpth文件和一个.log带有以下错误的文件:

Missing character: There is no ; in font nullfont!
Missing character: There is no ; in font nullfont!
LaTeX Font Info:    External font `cmex10' loaded for size
(Font)              <7> on input line 34.
LaTeX Font Info:    External font `cmex10' loaded for size
(Font)              <5> on input line 34.
! Undefined control sequence.
<recently read> \text 

l.34 \end{axis}

如果我注释掉\addlegendentrytikz 文件中的第二个,它可以正常编译并外部化到 tikz 目录。但自然没有第二个图例条目。

为什么我不能将 tikz 文件外部化为两个图例条目?

答案1

该错误与外部化无关。

! Undefined control sequence.
<recently read> \text 

意味着第二个图例中使用的命令\text未定义。是在(嗯,实际上是)包\text中定义的,因此添加amsmathamstext

\usepackage{amsmath}

序言将修复该错误。

相关内容