我正尝试在带有包的环境gnuplot
中使用该包。tikzpicture
pgf
例子
\documentclass[paper=a4,12pt,version=last]{scrartcl}
\usepackage[miktex]{gnuplottex}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=newest}
\begin{document}
\section{PGFPLOTS}
Note how the tick labels match the document font.
\begin{tikzpicture}
\begin{axis}[domain=-10:10, samples=50, smooth, no markers, enlargelimits=false]
\addplot gnuplot {sin(x)}; \addlegendentry{$\sin(x)$}
\addplot gnuplot {cos(x)}; \addlegendentry{$\cos(x)$}
\end{axis}
\end{tikzpicture}
\end{document}
如您所见,我正在使用 MikTeX。我已经将选项pdflatex
从
pdflatex -synctex=1 -interaction=nonstopmode %.tex
到
pdflatex -shell-escape -synctex=1 -interaction=nonstopmode %.tex
正如多个网站和 MikTeX 本身所推荐的那样。
但我仍然收到类似以下的错误行:
! 软件包 pgfplots 错误:抱歉,无法找到 gnuplot-result 文件“pgf-external*data.pgf -plot.table”。也许您需要启用 shell-escape 功能?对于 pdflatex,这是“>> pdflatex -shell-escape”。您还可以在相应的 gnuplot 文件上手动调用“>> gnuplot .gnuplot”。有关说明,请参阅 pgfplots 软件包文档。
对彼此而言
\addplot gnuplot ...
以下是我目前所做的:
- pdflatex -shell-escape 有一些变化。(--shell-escape、--enable-write18、-enable-write18)
- 检查
PATH
.MikTeX 和gnuplot
路径是否存在,直到 .exe 文件 - 与问题不太相关的其他事情
编辑:当我尝试使用以下代码创建 pdf 文件时
\documentclass[paper=a4,fontsize=12pt,version=last]{scrartcl}
\usepackage{pgfplots}
\pgfplotsset{compat= newest, width=10cm, }
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[
height=9cm,
width=9cm,
grid=minor,
]
\addplot gnuplot[id=filesuffix]{(-x**5 - 242)};
\addlegendentry{model}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
日志文件给了我
这是 pdfTeX,版本 3.1415926-2.4-1.40.13(MiKTeX 2.9 64 位)(预加载格式=pdflatex 2013.6.4)2013 年 6 月 21 日 21:04 进入扩展模式
答案1
已经有一段时间了,但直到现在我才有时间。以下是我为解决问题所做的事情。
例子
\documentclass [12pt, a4paper, headinclude, titlepage]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[fixlanguage]{babelbib}
\selectbiblanguage{german}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper]{geometry}
\usepackage[fleqn]{amsmath}
\usepackage{pgfplots}
\usepackage{pgf}
\usepackage{tikz}
\usepackage{float}
\pgfplotsset{width=7cm, compat=newest}
\begin{document}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}
[ ylabel=$\kappa$ / (S/m) , xlabel=c / (mol/m$^3$), title=\textbf{c gegen $\kappa$},
xmin=0, xmax=130,
ymin=0, ymax=0.3,
width=0.6\textwidth, height=0.45\textwidth, x axis line style={-}, y axis line style={-},
]
\addplot [only marks, gray, raw gnuplot, id=raw3] function{plot 'Daten.txt' u 1:2};
\addplot [orange, dashed, raw gnuplot, id=raw3] function{plot 'ber.txt' u 1:3};
\end{axis}
\end{tikzpicture}
\caption{Auftragung der Messwerte c gegen $\kappa$ (grau) und der berechneten Werte (orange)}
\end{figure}
\end{document}
我的配置: - 安装了 Gnuplot 和 LaTeX - 检查路径变量(Windows) - 在 pdfLaTeX 选项中包含“-shell-escape”(在 texstudio 中很容易) - 确保 texfile 的名称不包含空格、变音符号或其他特殊字符;否则不会创建 .table 文件。 - 如果超出了 LaTeX 的内存,则将图交换到额外的文件中并将其包含在主文件中
运行 pdfLaTeX 两次,瞧,应该有一个类似下面的图。
这里是阴谋:
答案2
遇到了与楼主相同的问题,通过谷歌找到了答案。楼主的回答并没有解决我的问题。
将 shell-escape 从受限模式更改为非受限模式已奏效。在 TexLive 中,您可以通过将文件添加到 texlive 文件夹中来执行此操作shell_escape = t
。texmf.cnf
或者,您可以修改shell_escape_commands
中的选项texmf-dist/web2c/texmf.cnf
。
希望这对某人有帮助。
答案3
我不知道以下内容是否对任何人有用,但我遇到了同样的问题,尽管我已经尝试了这篇文章和其他文章中的建议。
我的文档类型是书籍(我认为这不相关),我的主文件.tex
名为“notas_Estadística.tex”。请注意,此名称带有“´”重音。我创建了另一个包含完全相同文件的文件夹,但现在的主文件名为“try.tex”。当我编译它时,一切顺利。经过多次尝试,我意识到是主文件的名称导致了错误。我猜想 gnuplot 程序可能在符号和重音方面存在一些问题。在原始文件夹中,我将名称更改为“notas_Estadistica.tex”,现在一切顺利。