也许我不想只见树木不见森林,但我总是收到编译以下 pgf 代码的错误消息,而输出看起来应该是这样的。有人看到我的代码有什么问题吗?(下载 tex 文件和 test.dat)
\documentclass[
a4paper,
DIV13,
12pt,
oneside,
onecolumn,
]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{pgfplots}
\usepgflibrary{shapes.geometric}
\usetikzlibrary{patterns,arrows}
\pgfplotsset{%
compat=newest,
every axis legend/.append style={draw=none, font=\scriptsize, column sep=5pt},
ymajorgrids=true,
}
\begin{document}
\begin{figure}[htb]
\centering
\footnotesize
\begin{tikzpicture}
\begin{axis}[
enlargelimits=0.2,
ylabel=Altersgruppe,
xlabel=Lautanzahl pro 150 Wörter,
width=9cm,
height=9cm,
ymin=4,
xmin=460,
xmax=620,
enlarge x limits=0.07,
enlarge y limits=0.07
]
\addplot [black, only marks, mark options={scale=1}, mark=*] file {test.dat};
\end{axis}
\end{tikzpicture}
\caption{correlation}
\label{correlation}
\end{figure}
\end{document}
答案1
我回溯了 TeX 的步骤,发现它在 test.dat 的第一个条目上存在问题——它发现了一些奇怪的东西,而不是 477。更详细地查看文件后发现,它包含一个字节顺序标记(特定于 unicode)。
我在 vim 中打开了该文件,并使用了set nobomb
(无字节顺序标记)并保存了该文件。之后,它就起作用了。
显然,pgfplots 不适用于包含字节顺序标记的数据文件。
无论如何,Mac 文件结尾与它无关 - 并且 UTF-8 也可以,只要您不包含字节顺序标记(但作为副作用,切换到 latin1 也会删除 bom)。