当我使用 Tikz 绘制函数时。我按照说明使用 gnuplot 进行绘制。半年前我这样做了。但现在当我重新编译时,gnuplot 生成的 .gnuplot 文件的第一行出现问题:
set terminal table
有人知道这个问题吗?我的 gnuplot 版本是 4.4 patchlevel 2。我需要使用旧版本吗?
非常感谢!
编辑:我的文件在这里:
一个最小的例子
\documentclass{minimal}
\usepackage{graphicx,url,psfrag}
\usepackage[noxcolor,usenames]{pstricks}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing,calc,decorations.fractals,through}
\usepgflibrary{plotmarks}
\usepackage{pgfmath}
\usepackage{amsmath,amssymb,amsthm,amscd}
\pagestyle{empty}
\begin{document}
\def\tI{1}
\def\xI{3}
\def\tII{2}
\def\xII{1}
\begin{tikzpicture}[scale=0.7,domain=\tII:5]
\draw[help lines,step=1] (0,-3) grid (5,5.5);
\draw [->] (-0.5,0) -- (0,0) coordinate [label=-135:$O$] (O) -- (6,0)
coordinate [label=right:$t$] (T);
\draw [->] (0,-3.2) -- (0,6) coordinate [label=above:$x$] (X);
\draw [dashed,thick] (0,\xI) coordinate [label=left:$x_1$] -- (\tI,\xI) --
(\tI,0) coordinate [label=below:$t_1$] ;
\draw [dashed,thick] (0,\xII) coordinate [label=left:$x_2$] -- (\tII,\xII) --
(\tII,0) coordinate [label=below:$t_2$] ;
\foreach \r in {-3,-2,-1,0,1,2,3}
{
\draw plot [id=HeatSample-\r]
function{
((x-\tI)*\xII+(x-\tII)*\xI)/(2*x-\tI-\tII)+sqrt((x-\tI)*(x-\tII)/(2*x-\tI-\tII)
) * \r} node [right] {$\r$};
}
\end{tikzpicture}
\end{document}
即使有基本的例子http://www.texample.net/tikz/examples/tag/gnuplot/,我的系统有问题
set terminal table;
我认为这是我的 gnuplot 的问题
答案1
根据 Thorsten 的回答,一种解决方法是在调用 gnuplot 的 pgf 文件中明确更改此设置。对于我的 texlive 安装,我必须更改的文件是:
/usr/share/texmf/tex/generic/pgf/basiclayer/pgfbaseplot.code.tex
更改此行:
\xdef\pgf@gnuplot@head#1{set terminal table; set output "#1.table"; set format "%.5f"}
更改为:
\xdef\pgf@gnuplot@head#1{set table; set output "#1.table"; set format "%.5f"}
答案2
确保您拥有 2.10 版pgf/tikZ安装以使其与当前版本的 Gnuplot 兼容。在这些版本中(我猜从 4.4.0 开始),Gnuplot 中 »table« 终端的设置已从 更改为set terminal table
。set table
实际上日志文件中应该有一些相关信息。
答案3
读完帖子后:Mac 上的 TikZ + gnuplot
我换了线
\xdef\pgf@gnuplot@head#1{set terminal table; set output “#1.table”; set format “%.5f”}
到
\xdef\pgf@gnuplot@head#1{set table; set output “#1.table”; set format “%.5f”}
在文件中/usr/share/texmf/tex/generic/pgf/modules/pgfmoduleplot.code.tex
。
然后它又能正常工作了。
谢谢 Thorsten!