14

I'm trying to use Gnuplot and package gnuplottex to create plots directly in LaTeX. Started with the following simple example

\documentclass[a4paper]{article}
\usepackage[shell]{gnuplottex}

\begin{document}
\begin{gnuplot}[terminal=pdf,terminaloptions={font ",10" linewidth 3}]
plot sin(x), cos(x)
\end{gnuplot}
\end{document}

When I run

pdflatex  -synctex=1 -interaction=nonstopmode --enable-shell %.tex

I get the following warning messages:

Package gnuplottex Warning:Shell escape not enabled

Package gnuplottex Warning:Please convert example1-gnuplottex-fig1.gnuplot manually

...

No pages of output.

I'm using MikTeX, TeXmaker and Gnuplot 4.5. Any help will be much appreciated!

5
  • 2
    Have you tried running it with pdflatex -synctex=1 -interaction=nonstopmode -enable-write18 %.tex?
    – Jake
    Commented Jan 19, 2012 at 22:56
  • 1
    AFAIK, the option is either --enable-write18 or --shell-escape, not --enable-shell.
    – egreg
    Commented Jan 19, 2012 at 22:56
  • 3
    Since you just seem to be starting out with producing plots in LaTeX: May I recommend you take a look at the pgfplots package? It's a very user friendly and powerful plotting package that creates plots that integrate perfectly with your document, and it can use Gnuplot as a backend (you can use raw Gnuplot code if you wish).
    – Jake
    Commented Jan 19, 2012 at 23:00
  • 1
    Since you're using Miktex, you'll have to use \usepackage[miktex]{gnuplottex}.
    – Jake
    Commented Jan 19, 2012 at 23:07
  • interesting automation article Fun with gnuplot and arara Commented Mar 17, 2013 at 18:24

1 Answer 1

23

When using MikTeX, you need to load gnuplottex with the [miktex] option.

Note that you might be better off using the pgfplots package, which generates plots completely within LaTeX (or uses gnuplot as its backend). This integrates the plots much better into the document, since the same font and rendering is used for the text and the plot. It also makes it easier to annotate the plot.

Here's an example comparing the result of using gnuplottex to that of pgfplots (using gnuplot for the calculations):

\documentclass[a4paper]{article}
\usepackage[miktex]{gnuplottex}
\usepackage{pgfplots}

\begin{document}
\section{GnuplotTeX}
\begin{gnuplot}[terminal=pdf, terminaloptions={font "Arial"}]
plot sin(x), cos(x)
\end{gnuplot}

\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}
3
  • 3
    Try \begin{gnuplot}[terminal=pslatex] and run latex+dvips. Then you have same font in text and plot with gnuplottex too.
    – AlexG
    Commented Jan 20, 2012 at 11:38
  • 2
    In pdflatex you can use \begin{gnuplot}[terminal=epslatex] Commented Aug 6, 2012 at 16:33
  • 1
    At the moment one can also use either cairolatex that generates directly pdf output with the integration advantages mentioned for epslatex, or, especially if lualatex is used, the tikz terminal, such that there are no big drawbacks in terms of integration. See the gnuplottex documentation for some examples.
    – John
    Commented Sep 17, 2014 at 13:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .