summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/gnuplottex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/gnuplottex
Initial commit
Diffstat (limited to 'macros/latex/contrib/gnuplottex')
-rw-r--r--macros/latex/contrib/gnuplottex/README5
-rw-r--r--macros/latex/contrib/gnuplottex/SomeValuesForGnuplot.txt7
-rw-r--r--macros/latex/contrib/gnuplottex/example-pdf.tex21
-rw-r--r--macros/latex/contrib/gnuplottex/example.gnuplot1
-rw-r--r--macros/latex/contrib/gnuplottex/gnuplottex.dtx904
-rw-r--r--macros/latex/contrib/gnuplottex/gnuplottex.ins95
-rw-r--r--macros/latex/contrib/gnuplottex/gnuplottex.pdfbin0 -> 415723 bytes
-rw-r--r--macros/latex/contrib/gnuplottex/gpl.txt284
8 files changed, 1317 insertions, 0 deletions
diff --git a/macros/latex/contrib/gnuplottex/README b/macros/latex/contrib/gnuplottex/README
new file mode 100644
index 0000000000..c96acc2aff
--- /dev/null
+++ b/macros/latex/contrib/gnuplottex/README
@@ -0,0 +1,5 @@
+This package allows you to include gnuplot graphs in your LaTeX files. Gnuplot
+is a versatile plotting package. More information can be found at
+http://www.gnuplot.info/.
+
+Licensed under the GPL.
diff --git a/macros/latex/contrib/gnuplottex/SomeValuesForGnuplot.txt b/macros/latex/contrib/gnuplottex/SomeValuesForGnuplot.txt
new file mode 100644
index 0000000000..e35d8dadb4
--- /dev/null
+++ b/macros/latex/contrib/gnuplottex/SomeValuesForGnuplot.txt
@@ -0,0 +1,7 @@
+1 5
+2 7
+3 10
+4 12.5
+5 15.5
+6 17.5
+7 20
diff --git a/macros/latex/contrib/gnuplottex/example-pdf.tex b/macros/latex/contrib/gnuplottex/example-pdf.tex
new file mode 100644
index 0000000000..6ed7eccb8e
--- /dev/null
+++ b/macros/latex/contrib/gnuplottex/example-pdf.tex
@@ -0,0 +1,21 @@
+\documentclass[a4paper]{article}
+
+\usepackage{gnuplottex}
+
+\begin{document}
+
+\begin{gnuplot}[terminal=pdf,terminaloptions={font ",10" linewidth 3}]
+ plot sin(x), cos(x)
+\end{gnuplot}
+
+\begin{gnuplot}[scale=0.8]
+ set grid
+ set title 'gnuplottex test $e^x$'
+ set ylabel '$y$'
+ set xlabel '$x$'
+ plot exp(x) with linespoints
+\end{gnuplot}
+
+\gnuplotloadfile[terminal=pdf]{example.gnuplot}
+
+\end{document}
diff --git a/macros/latex/contrib/gnuplottex/example.gnuplot b/macros/latex/contrib/gnuplottex/example.gnuplot
new file mode 100644
index 0000000000..0dd575ce7b
--- /dev/null
+++ b/macros/latex/contrib/gnuplottex/example.gnuplot
@@ -0,0 +1 @@
+plot cos(x)
diff --git a/macros/latex/contrib/gnuplottex/gnuplottex.dtx b/macros/latex/contrib/gnuplottex/gnuplottex.dtx
new file mode 100644
index 0000000000..58286bc6fc
--- /dev/null
+++ b/macros/latex/contrib/gnuplottex/gnuplottex.dtx
@@ -0,0 +1,904 @@
+% \iffalse meta-comment
+%
+% Copyright (c) 2006-2015, Lars Kotthoff <lars@larsko.org> and contributors
+%
+% Large portions copied from pdftex,
+% Copyright (c) 2001-3, Radhakrishnan CV <cvr@river-valley.com>
+% Rajagopal CV <cvr3@river-valley.com>
+% http://www.river-valley.com
+%
+% River Valley Technologies, Floor III, SJP Buildings, Cotton Hills
+% Trivandrum, India 695014
+%
+% Tel: +91 471 233 7501
+%
+% Antoine Chambert-Loir
+% <chambert@math.polytechnique.fr>
+% http://www.math.polytechnique.fr/~chambert
+%
+% Ecole polytechnique, Palaiseau Cedex, France
+%
+% This program is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation; either version 2
+% of the License, or (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program (gpl.txt); if not, write to the Free
+% Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+% MA 02111-1307, USA.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{gnuplottex.dtx}
+%</driver>
+%<package> \NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package> \ProvidesPackage{gnuplottex}
+%<*package>
+ [2016/08/21 v0.9.2 gnuplot graphs in LaTeX]
+\RequirePackage{graphicx,moreverb,keyval,ifthen,catchfile}
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+% \iffalse
+%<*example>
+\usepackage{xcolor,epstopdf,siunitx,eepic,epic,eepicemu,gnuplot-lua-tikz}
+% \fi
+% \iffalse
+%</example>
+% \fi
+\usepackage[siunitx]{gnuplottex}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{gnuplottex.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{457}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{v0.1}{2006/04/02}{Initial version.}
+% \changes{v0.2}{2006/10/28}{Changed gnuplot output to LaTeX, simplified code.}
+% \changes{v0.3}{2007/08/21}{Improved MikTeX compatibility.}
+% \changes{v0.4}{2007/09/28}{Added feature to specify gnuplot terminal.}
+% \changes{v0.4.1}{2007/10/06}{Improved gnuplot terminal handling.}
+% \changes{v0.4.2}{2007/10/13}{Added terminaloptions option.}
+% \changes{v0.4.3}{2011/04/16}{Fixed terminaloptions example (Philip Vetter).}
+% \changes{v0.4.4}{2011/09/11}{Fixed "Undefined control sequence" error (sdaau).}
+% \changes{v0.4.5}{2012/10/02}{Add support for cairolatex terminal (Mika Pfl\"uger).}
+% \changes{v0.4.6}{2013/04/14}{Fix bug with temporary file creation in LuaTeX (Henri Menke).}
+% \changes{v0.5}{2013/06/03}{Provide command to include gnuplot code in file verbatim (Michel Vo\ss{}kuhle).}
+% \changes{v0.6}{2013/06/28}{Support for \texttt{siunitx} package and tikz terminal (Udo H\"ofel).}
+% \changes{v0.7}{2013/07/23}{Add cleanup and subfolder option (Udo H\"ofel).}
+% \changes{v0.7.1}{2013/09/08}{Fix bug with subfolder option with MikTeX (Thomas Schmid).}
+% \changes{v0.7.2}{2013/11/16}{Allow to specify path to gnuplot (Manuel Solano).}
+% \changes{v0.8}{2013/11/24}{Extended Documentation.}
+% \changes{v0.8.1}{2013/12/29}{Extended Documentation.}
+% \changes{v0.9}{2015/12/08}{Show any errors during conversion on Unix (Enrico Gregorio, suggested by Udo H\"ofel).}
+% \changes{v0.9.1}{2015/12/13}{Fix bug in error gathering introduced in 0.9.}
+% \changes{v0.9.2}{2016/08/21}{Misc bugfixes (thanks fostermaier, Enrico Gregorio, Jan-Benedict Glaw).}
+%
+% \GetFileInfo{gnuplottex.dtx}
+%
+% \DoNotIndex{\the,\year,\month,\day,\time}
+%
+% \title{The \textsf{gnuplottex} package\thanks{This document
+% corresponds to \textsf{gnuplottex}~\fileversion, dated \filedate.}}
+% \author{Lars Kotthoff\hspace{0.05em}\thanks{\texttt{lars@larsko.org}}, Udo H\"ofel\thanks{\texttt{udo.hoefel@ipp.mpg.de}} and more contributors }
+%
+% \maketitle
+%
+% \section{Introduction}
+%
+% This package allows you to include gnuplot graphs in your \LaTeX{} documents.
+%
+% The gnuplot code is extracted from the document and written to
+% \texttt{.gnuplot} files. Then, if shell escape is used, the graph files are
+% automatically processed to graphics or \LaTeX{} code files which will then be
+% included in the document.
+% If shell escape isn't used, the user will have to manually convert
+% the files by running gnuplot on the extracted \texttt{.gnuplot} files.
+%
+% Shell escape is available in the web2c \TeX{} compiler, it allows the execution
+% of shell code during the compilation of a \TeX{} document. It's disabled by
+% default, you'll have to edit your configuration files or give the
+% \texttt{-shell-escape} option to \texttt{latex}.
+%
+% The package also allows you to include gnuplot code in a file verbatim,
+% generating and including the plot automatically.
+%
+% If you find a bug, please open an issue at
+% \url{https://github.com/larskotthoff/gnuplottex/issues}.
+%
+% \section{Requirements}
+%
+% To use gnuplottex, you'll need the \texttt{graphicx}, \texttt{latexsym},
+% \texttt{keyval}, \texttt{ifthen}, and \texttt{moreverb} packages and, of
+% course, gnuplot.
+%If you want to use tikz-terminal you also have to use the \texttt{gnuplot-lua-tikz}-package from gnuplot.
+% If you want to use the \texttt{eepic}-terminal, you'll need the \texttt{eepic}-, the \texttt{epic}- and (if you're not using dvips or dvipdfm) the \texttt{eepicemu}-package.
+%
+% \section{Usage}
+%
+% To load the package, simply write \verb=\usepackage{gnuplottex}= in your document
+% preamble. Options that can be passed to the package are
+% \begin{description}
+% \item[\oarg{shell}] Use shell escape to automatically generate the graphs
+% from the gnuplot source files. This is the default. Normally, you don't
+% need to specify this option.
+% \item[\oarg{noshell}] Don't use shell escape, graphs must be generated
+% manually.
+% \item[\oarg{miktex}] We're using mikTeX.
+% \item[\oarg{siunitx}] Use \texttt{siunitx} to typeset numbers in the
+% graphs. You need to load the \texttt{siunitx} package before
+% \texttt{gnuplottex} for this to work. If the gnuplot terminal does not
+% support \TeX, a warning will be given and the functionality not used.
+% \item[\oarg{subfolder}] Put the generated graphs in a "gnuplottex"
+% subfolder, which will be created automatically.
+% \item[\oarg{cleanup}] Delete the \texttt{.gnuplot} files after conversion.
+% \end{description}
+%
+% In addition, you can set \verb=\gnuplotexe= to the path to the gnuplot
+% executable. Normally, you don't need to do this; use this option only if
+% \LaTeX{} doesn't find gnuplot.
+%
+% The following environment can be used to include graphs:
+%
+% \DescribeEnv{gnuplot}
+% Within this environment, you can specify arbitrary gnuplot code, for example\\
+% \texttt{plot sin(x)}.\\
+% The code necessary to write the plot to a file will be inserted by this
+% package. It adds 'set terminal \meta{terminal}' and the name of the output file.
+% The terminal can be specified by the user and defaults to \texttt{latex}. It may
+% be set to anything supported by gnuplot. If set to a terminal which produces
+% \TeX{} output, such as latex, tex, epslatex, or pstricks, the file processed
+% by gnuplot will be included with the \verb=\include= command, else the
+% \verb=\includegraphics= command is used. The file extension of the
+% intermediate file is in some cases different from the terminal name, this is
+% taken care of for most common terminals in the package code. If graphics
+% inclusion fails for a specific terminal, the intermediate file extension may
+% be the cause.
+%
+% The terminal name can be specified as
+% a value to the key \texttt{terminal} as an argument to the environment,\\
+% \verb=\begin{gnuplot}=[terminal=\meta{terminal}]\\
+% \ldots\\
+% \verb=\end{gnuplot}=
+%
+% The graph can be scaled by providing an argument to the \texttt{scale} key,
+% similar to the specification of the terminal name. It defaults to 1, i.e.\ no
+% scaling will be done. Additional options to the terminal can be given as
+% argument to the \texttt{terminaloptions} key, e.g.\\
+% \verb=\begin{gnuplot}=[terminal=pdf,terminaloptions={font ",10" linewidth 3}]\\
+% \ldots\\
+% \verb=\end{gnuplot}=
+%
+% \DescribeMacro{\gnuplotloadfile}
+% In addition to the environment, you can use the command
+% \verb=\gnuplotloadfile= to directly include gnuplot source code. It accepts
+% the same options as the environment, e.g.\\
+% \verb+\gnuplotloadfile[terminal=pdf]{example.gnuplot}+
+%
+%\section{Examples}
+% Here are short examples of each possible terminal.
+%
+% \DescribeMacro{latex}
+% This is a terminal that offers only basic support, as you won't be able to (easily) use colours. For an example see figure~\ref{pic:latex}.
+%
+% An advantage of this terminal is that it only relies on the picture-environment (which should be supported widely).
+% Furthermore you can use the \texttt{siunitx}-option to get correct axis labeling and you can use \LaTeX{} commands.
+%
+% On the other hand, if you have multiple things to plot, it'll be hard to distinguish them, as you can't use colours (and the dash patterns are hard to distinguish).
+% As this is something which should be avoided, especially for scientific work, if possible, you should try another terminal.
+% \iffalse
+%<*example>
+% \fi
+\begin{figure}%
+ \centering%
+ \begin{gnuplot}[terminal=latex, terminaloptions=rotate]
+ set key box top left
+ set key width 4
+ set sample 1000
+ set xr [-5:5]
+ set yr [-1:1]
+ set xlabel '$x$-label'
+ set ylabel '$y$-label'
+ plot sin(x) w l lc 1 t '$\sin(x)$',\
+ cos(x) w l lc 2 t '$\cos(x)$',\
+ tan(x) w l lc 3 t '$\tan(x)$',\
+ tanh(x) w l lc 4 t '$\tanh(x)$'
+ \end{gnuplot}
+ \caption{This is a simple example using the \texttt{latex}-terminal.}%
+ \label{pic:latex}%
+\end{figure}%
+% \iffalse
+%</example>
+% \fi
+%The source code for figure~\ref{pic:latex} is:\\
+%\verb+\begin{figure}%+\\
+%\verb+ \centering%+\\
+%\verb+ \begin{gnuplot}[terminal=latex, terminaloptions=rotate]+\\
+%\verb+ set key box top left+\\
+%\verb+ set key width 4+\\
+%\verb+ set sample 1000+\\
+%\verb+ set xr [-5:5]+\\
+%\verb+ set yr [-1:1]+\\
+%\verb+ set xlabel '$x$-label'+\\
+%\verb+ set ylabel '$y$-label'+\\
+%\verb+ plot sin(x) w l lc 1 t '$\sin(x)$',\+\\
+%\verb+ cos(x) w l lc 2 t '$\cos(x)$',\+\\
+%\verb+ tan(x) w l lc 3 t '$\tan(x)$',\+\\
+%\verb+ tanh(x) w l lc 4 t '$\tanh(x)$'+\\
+%\verb+ \end{gnuplot}+\\
+%\verb+ \caption{This is a simple example using the latex-terminal.}%+\\
+%\verb+ \label{pic:latex}%+\\
+%\verb+\end{figure}%+\\
+%
+% \DescribeMacro{epslatex}
+% This terminal produces high-quality output, you also can use the \texttt{siunitx}-option for axis labeling and the usual \LaTeX{} commands.
+%
+% There are rare examples where one sees flaws, like two lines not completely adhering (see e.g. some parts of the red line in figure~\ref{pic:epslatex}).
+% You have to use the \texttt{epstopdf}-package to use this terminal with pdf\TeX.
+%
+% If you're using pdf\TeX{} this or the \texttt{cairolatex}-terminal should be the terminals you use.
+% Your pdf viewer can slow down dramatically, if you use high resolution 3d plots though, but there are seldom real problems.
+% For an example see figure~\ref{pic:epslatex}.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{figure}%
+ \centering%
+ \begin{gnuplot}[terminal=epslatex, terminaloptions=color dashed]
+ set key box top left
+ set key width 2
+ set key opaque
+ set sample 1000
+ set xr [-5:5]
+ set yr [-1:1]
+ set xlabel '$x$-label'
+ set ylabel '$y$-label'
+ plot sin(x) w l lc 1 lw 3 t '$\sin(x)$',\
+ cos(x) w l lc 7 lw 3 t '$\cos(x)$',\
+ tan(x) w l lc 3 lw 3 t '$\tan(x)$',\
+ tanh(x) w l lc 4 lw 3 t '$\tanh(x)$'
+ \end{gnuplot}
+ \caption{This is a simple example using the \texttt{epslatex}-terminal.}%
+ \label{pic:epslatex}%
+\end{figure}%
+% \iffalse
+%</example>
+% \fi
+%
+%Its code is:\\
+%~\\
+%\verb+\begin{figure}%+\\
+%\verb+ \centering%+\\
+%\verb+ \begin{gnuplot}[terminal=epslatex, terminaloptions=color dashed]+\\
+%\verb+ set key box top left+\\
+%\verb+ set key width 2+\\
+%\verb+ set key opaque+\\
+%\verb+ set sample 1000+\\
+%\verb+ set xr [-5:5]+\\
+%\verb+ set yr [-1:1]+\\
+%\verb+ set xlabel '$x$-label'+\\
+%\verb+ set ylabel '$y$-label'+\\
+%\verb+ plot sin(x) w l lc 1 lw 3 t '$\sin(x)$',\+\\
+%\verb+ cos(x) w l lc 2 lw 3 t '$\cos(x)$',\+\\
+%\verb+ tan(x) w l lc 3 lw 3 t '$\tan(x)$',\+\\
+%\verb+ tanh(x) w l lc 4 lw 3 t '$\tanh(x)$'+\\
+%\verb+ \end{gnuplot}+\\
+%\verb+ \caption{This is a simple example using the epslatex-terminal.}%+\\
+%\verb+ \label{pic:epslatex}%+\\
+%\verb+\end{figure}%+\\
+%
+% \DescribeMacro{jpeg}
+% This is a terminal that offers (compared with other terminals) poor raster graphics output.
+% If possible switch to another terminal (preferably to the \texttt{cairolatex}-, the \texttt{epslatex}- or the \texttt{tikz}-terminal)
+% For an example see figure~\ref{pic:jpeg}.
+%
+% There are quite some disadvantages, as you cannot use \LaTeX{} commands, it is hard to get the right font and the right font size, the \texttt{siunitx} option is useless, no vector graphics and there seems to be no support for dashed lines.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{figure}%
+ \centering%
+ \begin{gnuplot}[terminal=jpeg, terminaloptions=crop]
+ set key box top left
+ set key width -2
+ set key opaque
+ set sample 1000
+ set xr [-5:5]
+ set yr [-1:1]
+ set size 0.7,0.7
+ set xlabel '$x$-label'
+ set ylabel '$y$-label'
+ plot sin(x) w l lc 1 lw 2 t '$\sin(x)$',\
+ cos(x) w l lc 7 lw 2 t '$\cos(x)$',\
+ tan(x) w l lc 3 lw 2 t '$\tan(x)$',\
+ tanh(x) w l ls 8 lc 4 lw 2 t '$\tanh(x)$'
+ \end{gnuplot}
+ \caption{This is a simple example using the \texttt{jpeg}-terminal.}%
+ \label{pic:jpeg}%
+\end{figure}%
+% \iffalse
+%</example>
+% \fi
+%
+%Its code is:\\
+%~\\
+%\verb+\begin{figure}%+\\
+%\verb+ \centering%+\\
+%\verb+ \begin{gnuplot}[terminal=jpeg, terminaloptions=crop]+\\
+%\verb+ set key box top left+\\
+%\verb+ set key width -2+\\
+%\verb+ set key opaque+\\
+%\verb+ set sample 1000+\\
+%\verb+ set xr [-5:5]+\\
+%\verb+ set yr [-1:1]+\\
+%\verb+ set size 0.7,0.7+\\
+%\verb+ set xlabel '$x$-label'+\\
+%\verb+ set ylabel '$y$-label'+\\
+%\verb+ plot sin(x) w l lc 1 lw 3 t '$\sin(x)$',\+\\
+%\verb+ cos(x) w l lc 2 lw 3 t '$\cos(x)$',\+\\
+%\verb+ tan(x) w l lc 3 lw 3 t '$\tan(x)$',\+\\
+%\verb+ tanh(x) w l lc 4 lw 3 t '$\tanh(x)$'+\\
+%\verb+ \end{gnuplot}+\\
+%\verb+ \caption{This is a simple example using the jpeg-terminal.}%+\\
+%\verb+ \label{pic:jpeg}%+\\
+%\verb+\end{figure}%+\\
+%
+% \DescribeMacro{cairolatex}
+% This is a terminal that offers high-quality output.
+% Unlike the \texttt{epslatex}-terminal it will generate \emph{directly} pdf output.
+% It allows the use of the \texttt{siunitx} option as well as \LaTeX{} commands.
+% If you're using pdf\TeX{} this or the \texttt{epslatex}-terminal should be the terminals you use.
+% \texttt{cairolatex} has the advantage of not needing the \texttt{epstopdf}-package.
+% Your pdf viewer can slow down dramatically, if you use high resolution 3d plots though, but there are seldom real problems.
+% For an example see figure~\ref{pic:cairolatex}.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{figure}%
+ \centering%
+ \begin{gnuplot}[terminal=cairolatex, terminaloptions=color dashed]
+ set key box top left
+ set key width 4
+ set key height 0.25
+ set key spacing 1.2
+ set key opaque
+ set sample 1000
+ set xr [-5:5]
+ set yr [-1:1]
+ set xlabel '$x$-label'
+ set ylabel '$y$-label'
+ plot sin(x) w l lc 1 lw 3 t '$\sin(x)$',\
+ cos(x) w l lc 7 lw 3 t '$\cos(x)$',\
+ tan(x) w l lc 3 lw 3 t '$\tan(x)$',\
+ tanh(x) w l lc 4 lw 3 t '$\tanh(x)$'
+ \end{gnuplot}
+ \caption{This is a simple example using the \texttt{cairolatex}-terminal.}%
+ \label{pic:cairolatex}%
+\end{figure}%
+% \iffalse
+%</example>
+% \fi
+%
+%Its code is:\\
+%~\\
+%\verb+\begin{figure}%+\\
+%\verb+ \centering%+\\
+%\verb+ \begin{gnuplot}[terminal=epslatex, terminaloptions=color dashed]+\\
+%\verb+ set key box top left+\\
+%\verb+ set key width 4+\\
+%\verb+ set key height 0.25+\\
+%\verb+ set key spacing 1.2+\\
+%\verb+ set key opaque+\\
+%\verb+ set sample 1000+\\
+%\verb+ set xr [-5:5]+\\
+%\verb+ set yr [-1:1]+\\
+%\verb+ set xlabel '$x$-label'+\\
+%\verb+ set ylabel '$y$-label'+\\
+%\verb+ plot sin(x) w l lc 1 lw 3 t '$\sin(x)$',\+\\
+%\verb+ cos(x) w l lc 7 lw 3 t '$\cos(x)$',\+\\
+%\verb+ tan(x) w l lc 3 lw 3 t '$\tan(x)$',\+\\
+%\verb+ tanh(x) w l lc 4 lw 3 t '$\tanh(x)$'+\\
+%\verb+ \end{gnuplot}+\\
+%\verb+ \caption{This is a simple example using the cairolatex-terminal.}%+\\
+%\verb+ \label{pic:cairolatex}%+\\
+%\verb+\end{figure}%+\\
+%
+% \DescribeMacro{eepic}
+% This is a terminal that offers better output than the \texttt{latex}-terminal, but it is quite worse compared to \texttt{epslatex/cairolatex/tikz}-terminal.
+% You can use the \texttt{siunitx} option as well as \LaTeX{} commands.
+%
+% It seems one can use either coloured or dashed lines, not both combined.
+% The lines are also pretty ugly and there is no \verb+set key opaque+-option in \texttt{gnuplot} available.
+%
+% For an example see figure~\ref{pic:eepic}.
+% Avoid if possible.
+% There are better terminals available.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{figure}%
+ \centering%
+ \begin{gnuplot}[terminal=eepic, terminaloptions = color rotate]
+ set key box top left
+ set key width -3
+ set sample 1000
+ set xr [-5:5]
+ set yr [-1:1]
+ set xlabel '$x$-label'
+ set ylabel '$y$-label'
+ plot sin(x) w l lc 1 lw 3 t '$\sin(x)$',\
+ cos(x) w l lc 2 lw 3 t '$\cos(x)$',\
+ tan(x) w l lc 3 lw 3 t '$\tan(x)$',\
+ tanh(x) w l lc 4 lw 3 t '$\tanh(x)$'
+ \end{gnuplot}
+ \caption{This is a simple example using the \texttt{eepic}-terminal.}%
+ \label{pic:eepic}%
+\end{figure}%
+% \iffalse
+%</example>
+% \fi
+%Its code is:\\
+%~\\
+%\verb+\begin{figure}%+\\
+%\verb+ \centering%+\\
+%\verb+ \begin{gnuplot}[terminal=eepic, terminaloptions = color rotate]+\\
+%\verb+ set key box top left+\\
+%\verb+ #set key width -3+\\
+%\verb+ set sample 1000+\\
+%\verb+ set xr [-5:5]+\\
+%\verb+ set yr [-1:1]+\\
+%\verb+ set xlabel '$x$-label'+\\
+%\verb+ set ylabel '$y$-label'+\\
+%\verb+ plot sin(x) w l lc 1 lw 3 t '$\sin(x)$',\+\\
+%\verb+ cos(x) w l lc 2 lw 3 t '$\cos(x)$',\+\\
+%\verb+ tan(x) w l lc 3 lw 3 t '$\tan(x)$',\+\\
+%\verb+ tanh(x) w l lc 4 lw 3 t '$\tanh(x)$'+\\
+%\verb+ \end{gnuplot}+\\
+%\verb+ \caption{This is a simple example using the cairolatex-terminal.}%+\\
+%\verb+ \label{pic:cairolatex}%+\\
+%\verb+\end{figure}%+\\
+%
+% \DescribeMacro{emtex}
+% Similar to the \texttt{latex}-terminal (but with emtex specials), except it seems not to draw any borders (at least for pdf\TeX).
+% Only relies on the picture environment, so should be widely supported, the \texttt{siunitx} option is available and you can use \LaTeX{} commands.
+%
+% If you have multiple things to plot, it'll be hard to distinguish them, as you can't use colours (and the dash patterns are hard to distinguish), this is a no-no for scientific work, so avoid if possible.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{figure}%
+ \centering%
+ \begin{gnuplot}[terminal=emtex, terminaloptions=rotate]
+ set key box top left
+ set key width 4
+ set sample 1000
+ set xr [-5:5]
+ set yr [-1:1]
+ set xlabel '$x$-label'
+ set ylabel '$y$-label'
+ plot sin(x) w l lc 2 t '$\sin(x)$',\
+ cos(x) w l lc 4 t '$\cos(x)$',\
+ tan(x) w l lc 6 t '$\tan(x)$',\
+ tanh(x) w l lc 8 t '$\tanh(x)$'
+ \end{gnuplot}
+ \caption{This is a simple example using the \texttt{emtex}-terminal.}%
+ \label{pic:emtex}%
+\end{figure}%
+% \iffalse
+%</example>
+% \fi
+%The source code for figure~\ref{pic:emtex} is:\\
+%~\\
+%\verb+\begin{figure}%+\\
+%\verb+ \centering%+\\
+%\verb+ \begin{gnuplot}[terminal=emtex, terminaloptions=rotate]+\\
+%\verb+ set key box top left+\\
+%\verb+ set key width 4+\\
+%\verb+ set sample 1000+\\
+%\verb+ set xr [-5:5]+\\
+%\verb+ set yr [-1:1]+\\
+%\verb+ set xlabel '$x$-label'+\\
+%\verb+ set ylabel '$y$-label'+\\
+%\verb+ plot sin(x) w l lc 2 t '$\sin(x)$',\+\\
+%\verb+ cos(x) w l lc 4 t '$\cos(x)$',\+\\
+%\verb+ tan(x) w l lc 6 t '$\tan(x)$',\+\\
+%\verb+ tanh(x) w l lc 8 t '$\tanh(x)$'+\\
+%\verb+ \end{gnuplot}+\\
+%\verb+ \caption{This is a simple example using the emtex-terminal.}%+\\
+%\verb+ \label{pic:emtex}%+\\
+%\verb+\end{figure}%+\\
+%
+% \DescribeMacro{tikz}
+% Probably offers the best output terminal at the moment, even though the difference to \texttt{cairolatex} and \texttt{epslatex} isn't that big.
+% The \texttt{siunitx} option is available, \LaTeX{} commands can be used and you can easily export constants from within gnuplot (see the example code for an example on how to export them).
+%
+%On the other hand requires this terminal the \texttt{gnuplot-lua-tikz}-package and you cannot use many plots if you use pdf\TeX, as \TeX s memory will be exceeded pretty fast.
+% If you use Lua\TeX, this is no problem.
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{figure}%
+ \centering%
+ \begin{gnuplot}[terminal=tikz, terminaloptions={color dashed providevars a,c}]
+ set key box top left
+ set key width -0.9
+ set key height 0.25
+ set key spacing 1.25
+ set size 1,0.9
+ set sample 1000
+ set grid xtics lt 0 ls 0
+ set grid ytics lt 0 ls 0
+ set xr [-5:5]
+ set yr [-1:1]
+ set key opaque
+ f(x) = a*x+c
+ fit f(x) "SomeValuesForGnuplot.txt" u ($1*5/7):($2/20) via a,c
+ set xlabel '$x$-label'
+ set ylabel '$y$-label'
+ plot sin(x) w l lc -1 t '$\sin(x)$',\
+ cos(x) w l lc 1 t '$\cos(x)$',\
+ tan(x) w l lc 7 t '$\tan(x)$',\
+ tanh(x) w l lc 3 t '$\tanh(x)$',\
+ f(x) t 'fitted function' lc 4,\
+ "SomeValuesForGnuplot.txt" u ($1*5/7):($2/20) w points lc 5 t 'example values'
+ \end{gnuplot}
+ \caption{This is a simple example using the \texttt{tikz}-terminal. The slope of the fitted function ($a*x+c$) is $a=\num{\gpgetvar{a}}$, while its offset is $c=\num{\gpgetvar{c}}$.}%
+ \label{pic:tikz}%
+\end{figure}%
+% \iffalse
+%</example>
+% \fi
+%
+% The source code for figure~\ref{pic:tikz} is:\\
+%~\\
+%\verb+\begin{figure}%+\\
+%\verb+ \centering%+\\
+%\verb+ \begin{gnuplot}[terminal=tikz, terminaloptions={color dashed providevars a,c}]+\\
+%\verb+ set key box top left+\\
+%\verb+ set key width -0.9+\\
+%\verb+ set key height 0.25+\\
+%\verb+ set key spacing 1.25+\\
+%\verb+ set sample 1000+\\
+%\verb+ set grid xtics lt 0 ls 0+\\
+%\verb+ set grid ytics lt 0 ls 0+\\
+%\verb+ set xr [-5:5]+\\
+%\verb+ set yr [-1:1]+\\
+%\verb+ set key opaque+\\
+%\verb+ set xlabel '$x$-label'+\\
+%\verb+ set ylabel '$y$-label'+\\
+%\verb- f(x) = a*x+c-\\
+%\verb+ fit f(x) "SomeValuesForGnuplot.txt" u ($1*5/7):($2/20) via a,c+\\
+%\verb+ plot sin(x) w l lc 2 t '$\sin(x)$',\+\\
+%\verb+ cos(x) w l lc 4 t '$\cos(x)$',\+\\
+%\verb+ tan(x) w l lc 6 t '$\tan(x)$',\+\\
+%\verb+ tanh(x) w l lc 3 t '$\tanh(x)$',\+\\
+%\verb+ f(x) t 'fitted function' lc 4,\+\\
+%\verb+ "SomeValuesForGnuplot.txt" u ($1*5/7):($2/20) w points lc 5\+\\
+%\verb+ t 'example values'+\\
+%\verb+ \end{gnuplot}+\\
+%\verb+ \caption{This is a simple example using the \texttt{tikz}-terminal.+\\
+%\verb- The slope of the fitted function ($a*x+c$) is $a=\num{\gpgetvar{a}}$,-\\
+%\verb- while its offset is $c=\num{\gpgetvar{c}}$.}%-\\
+%\verb+ \label{pic:tikz}%+\\
+%\verb+\end{figure}%+\\
+% As compiling all pictures everytime can take quite a long time, the \texttt{tikz}-package offers the possibility to externalize the pictures, resulting in a great speedup.
+% An example for Lua\TeX{} is shown below, pictures are not generated if they are up-to-date.
+% In the preamble write:\\
+% \verb+\usepackage{tikz} +\\
+% \verb+\usetikzlibrary{external}+\\
+% \verb+\tikzexternalize[prefix=gnuplottex/] %-- Use the gnuplottex-subfolder. Deactivate+\\
+%\verb+ %-- the subfolderoption of gnuplottex to use!+\\
+% \verb+\tikzset{external/system call={lualatex -shell-escape -halt-on-error+\\
+% \verb+-interaction=batchmode -jobname "\image" "\texsource"}}+\\
+% \verb+\tikzexternalize+\\
+% In the document, write e.\,g.:\\
+% \verb+\begin{figure}%+\\
+% \verb+ \centering%+\\
+% \verb+ \tikzsetnextfilename{ThisIsASinus}+\\
+% \verb+ \begin{tikzpicture}[gnuplot]+\\
+% \verb+ \begin{gnuplot}[terminal=tikz, terminaloptions=color dashed nopicenvironment]+\\
+%\verb+ set grid xtics mxtics lt 0 ls 0+\\
+%\verb+ set grid ytics mytics lt 0 ls 0+\\
+%\verb+ set key box top left+\\
+%\verb+ plot sin(x) w l t 'Sinus'+\\
+% \verb+ \end{gnuplot}+\\
+% \verb+ \end{tikzpicture}+\\
+% \verb+ \caption{Captiontext.}%+\\
+% \verb+ \label{pic:ThisIsASinus}%+\\
+%\verb+\end{figure}%+\\
+%
+% \DescribeMacro{pstex,pslatex,pstricks}
+% The \texttt{pstex}- and \texttt{pslatex}-terminal produces unusable output with pdf\TeX.
+% I wasn't able to get any output using the \texttt{pstricks}-terminal with pdf\TeX{} (if you manage to get reasonable output via one of these terminals, please send me an email).
+%
+% \section{Acknowledgements}
+%
+% In addition to the people mentioned in the changelog, I would like to thank
+% Roy Ratcliffe for the suggestion and basic code for the gnuplot terminal
+% specification and handling. Additional thanks to Michel Vo\ss{}uhle for the
+% implementation of \verb=\gnuplotloadfile=. I would also like to thank all the
+% people who sent me bug reports, feature requests and patches -- Philip Vetter,
+% sdaau, Mika Pfl\"uger, Henri Menke, Michel Vo\ss{}kuhle, Udo H\"ofel, Thomas
+% Schmid and Manuel Solano. Gnuplottex wouldn't be what it is today without you.
+%
+% \StopEventually{}
+%
+% \section{Implementation}
+%
+% \subsection{Initialization}
+% \begin{macrocode}
+\newif\ifShellEscape
+\newif\ifmiktex \miktexfalse
+\newif\ifusesiunitx
+\newif\ifcleanup
+\newif\ifusesubfolder
+
+\newwrite\verbatim@out
+
+\DeclareOption{shell}{\ShellEscapetrue}
+\DeclareOption{noshell}{\ShellEscapefalse}
+\DeclareOption{miktex}{\global\miktextrue}
+\DeclareOption{siunitx}{\usesiunitxtrue}
+\DeclareOption{cleanup}{\cleanuptrue}
+\DeclareOption{subfolder}{\usesubfoldertrue}
+
+\@ifundefined{gnuplotexe}{\def\gnuplotexe{gnuplot}}{}
+
+\ExecuteOptions{shell}
+\ProcessOptions\relax
+%% test if shell escape really works
+\ifShellEscape
+ \def\tmpfile{w18-test-\the\year\the\month\the\day\the\time.tex}
+ \ifmiktex
+ \immediate\write18{echo t > "\tmpfile"}
+ \else
+ \immediate\write18{touch \tmpfile}
+ \fi
+ \ifmiktex
+ \IfFileExists{\tmpfile.}{\ShellEscapetrue}{\ShellEscapefalse}
+ \immediate\write18{del "\tmpfile"}
+ \else
+ \IfFileExists{\tmpfile}{\ShellEscapetrue}{\ShellEscapefalse}
+ \immediate\write18{rm -f \tmpfile}
+ \immediate\write18{rm -f "\jobname.gnuploterrors"}
+ \fi
+\fi
+
+\ifusesubfolder
+ \ifmiktex
+ \immediate\write18{mkdir gnuplottex}
+ \immediate\write18{echo test > "gnuplottex/\tmpfile"}
+ \else
+ \immediate\write18{mkdir -p "gnuplottex"}
+ \immediate\write18{touch "gnuplottex/\tmpfile"}
+ \fi
+ \IfFileExists{gnuplottex/\tmpfile}{
+ \ifmiktex
+ \immediate\write18{del "gnuplottex\@backslashchar\tmpfile"}
+ \else
+ \immediate\write18{rm -f "gnuplottex/\tmpfile"}
+ \fi
+ \def\subfolder{gnuplottex/}
+ }{
+ \PackageWarningNoLine{gnuplottex}
+ {Creation of subfolder failed.\MessageBreak
+ You'll need to create the folder yourself}
+ \def\subfolder{}
+ }
+\else
+ \def\subfolder{}
+\fi
+
+
+\ifShellEscape
+ \PackageInfo{gnuplottex}
+ {Automatically converting gnuplot files.}
+\else
+ \PackageWarningNoLine{gnuplottex}
+ {Shell escape not enabled.\MessageBreak
+ You'll need to convert the graphs yourself.}
+\fi
+\newcounter{fignum}
+% \end{macrocode}
+%
+% \subsection{\texttt{.gnuplot} write out}
+% \begin{macrocode}
+\def\figname{\jobname-gnuplottex-fig\thefignum}
+
+\def\usesiunitxingnuplot{\immediate\write\verbatim@out{set format '\@backslashchar num{\@percentchar g}'}}
+
+\def\gnuplotverbatimwrite#1{%
+ \def\BeforeStream
+ {\message{Opening gnuplot stream #1}%
+ \immediate\write\verbatim@out{\string set terminal \gnuplotterminal \gnuplotterminaloptions}
+ \immediate\write\verbatim@out{\string set output '\subfolder\figname.\gnuplottexextension{\gnuplotterminal}'}
+ \ifusesiunitx
+ \ifthenelse{\equal{\extension}{\string tex}}{\usesiunitxingnuplot}{\PackageWarningNoLine{gnuplottex}{Axis numbers not written in \noexpand\num{}. Use a terminal that allows TeX output to enable this feature.}}
+ \else
+ \relax
+ \fi
+ }
+ \@bsphack
+ \immediate\openout \verbatim@out #1
+ \BeforeStream%
+ \let\do\@makeother\dospecials
+ \catcode`\^^M\active
+ \def\verbatim@processline{%
+ \immediate\write\verbatim@out
+ {\the\verbatim@line}}%
+ \verbatim@start}
+\def\endgnuplotverbatimwrite{%
+ \immediate\closeout\verbatim@out
+ \@esphack
+ \catcode`\\0
+ \catcode`\{1
+ \catcode`\}2
+ \catcode`\$3
+ \catcode`\&4
+ \catcode`\^^M5
+ \catcode`\#6
+ \catcode`\^7
+ \catcode`\_8
+ \catcode`\ 10
+ \catcode`\%14}
+% \end{macrocode}
+%
+% \subsection{Environment definition}
+% \begin{macrocode}
+\def\gnuplottexextension@latex{\string tex}
+\def\gnuplottexextension@epslatex{\string tex}
+\def\gnuplottexextension@cairolatex{\string tex}
+\def\gnuplottexextension@eepic{\string tex}
+\def\gnuplottexextension@pstricks{\string tex}
+\def\gnuplottexextension@pslatex{\string tex}
+\def\gnuplottexextension@pstex{\string tex}
+\def\gnuplottexextension@emtex{\string tex}
+\def\gnuplottexextension@jpeg{\string jpg}
+\def\gnuplottexextension@tikz{\string tex}
+\def\gnuplottexextension@lua{\string tex}
+\def\gnuplottexextension#1{\@ifundefined{gnuplottexextension@#1}{#1}{\csname gnuplottexextension@#1\endcsname}}
+\define@key{pic}{scale}[1]{\def\gnuplotscale{#1}}
+\define@key{pic}{terminal}[latex]{\def\gnuplotterminal{#1}}
+\define@key{pic}{terminaloptions}{\def\gnuplotterminaloptions{ #1}}
+\newenvironment{gnuplot}[1][]{\stepcounter{fignum}%
+ \def\gnuplotterminal{latex}
+ \def\gnuplotterminaloptions{}
+ \def\gnuplotscale{1}
+ \setkeys{pic}{#1}
+ \xdef\gnuplotCutFile{\subfolder\figname.gnuplot}
+ \gnuplotverbatimwrite{\gnuplotCutFile}}
+ {\endgnuplotverbatimwrite%
+ \gnuplotgraphicsprocess%
+ \gnuplotgraphicsinclude}
+% \end{macrocode}
+%
+% \subsection{\texttt{.gnuplot} file processing}
+% \begin{macrocode}
+\def\extension{\gnuplottexextension{\gnuplotterminal}}
+\long\gdef\gnuplotgraphicsprocess{%
+ \ifShellEscape
+ \IfFileExists{\subfolder\figname.gnuplot}{%
+ \ifmiktex
+ \immediate\write18{\gnuplotexe\space \subfolder\figname.gnuplot}
+ \else
+ \immediate\write18{\gnuplotexe\space \subfolder\figname.gnuplot\space 2>>\jobname.gnuploterrors}
+ \fi
+ \IfFileExists{\subfolder\figname.\extension}{%
+ \PackageInfo{gnuplottex}{\subfolder\figname.gnuplot converted}
+ \ifcleanup
+ \ifmiktex
+ \immediate\write18{del "\subfolder\figname.gnuplot"}
+ \else
+ \immediate\write18{rm -f "\subfolder\figname.gnuplot"}
+ \fi
+ \fi
+ }
+ {\PackageWarningNoLine{gnuplottex}
+ {Conversion of \subfolder\figname.gnuplot failed}}}{}
+ \fi}
+\long\def\gnuploterrors@eatpar#1#2\@nil{\def\gnuploterrors@{#2}}
+\AtEndDocument{%
+ \ifmiktex
+ \else
+ \IfFileExists{\jobname.gnuploterrors}{%
+ \CatchFileDef\gnuploterrors@{\jobname.gnuploterrors}{\endlinechar=`^^J \catcode`\ =12 }%
+ \expandafter\gnuploterrors@eatpar\gnuploterrors@\@nil
+ \ifx\gnuploterrors@\@empty\else
+ \PackageWarningNoLine{gnuplottex}{Gnuplot execution produced errors:^^J%
+ \detokenize\expandafter{\gnuploterrors@}}%
+ \fi
+ }{}%
+ \fi
+}
+% \end{macrocode}
+%
+% \subsection{Graph inclusion}
+% \begin{macrocode}
+\long\gdef\gnuplotgraphicsinclude{%
+ \IfFileExists{\subfolder\figname.\extension}{%
+ \ifthenelse{\equal{\extension}{\string tex}}
+ {\scalebox{\gnuplotscale}{\input{\subfolder\figname.\extension}}}
+ {\includegraphics[scale=\gnuplotscale]{\subfolder\figname.\extension}}
+ }
+ {\PackageWarningNoLine{gnuplottex}
+ {Please convert \subfolder\figname.gnuplot manually}}
+}
+% \end{macrocode}
+%
+% \subsection{\texttt{.gnuplot} file processing}
+% \begin{macrocode}
+\newcommand{\gnuplotloadfilewrite}[2]{%
+ \immediate\openout \verbatim@out #1%
+ \message{Opening gnuplot stream #1}%
+ \immediate\write\verbatim@out{\string set terminal \gnuplotterminal \gnuplotterminaloptions}%
+ \immediate\write\verbatim@out{\string set output '\subfolder\figname.\gnuplottexextension{\gnuplotterminal}'}%
+ \ifusesiunitx
+ \ifthenelse{\equal{\extension}{\string tex}}{\usesiunitxingnuplot}{\PackageWarningNoLine{gnuplottex}{Axis numbers not written in \noexpand\num{}. Use a terminal that allows TeX output to enable this feature.}}
+ \else
+ \relax
+ \fi
+ \ifusesiunitx
+ {\escapechar=-1\edef\percentforgnuplot{\string\%}
+ \escapechar=-1\edef\backslashforgnuplot{\string\\}
+ \immediate\write\verbatim@out{set format '\backslashforgnuplot num{\percentforgnuplot g}'}}
+ \else
+ \relax
+ \fi
+ \immediate\write\verbatim@out{\string load '#2'}%
+ \immediate\closeout\verbatim@out%
+ }
+
+ \newcommand{\gnuplotloadfile}[2][]{
+ \stepcounter{fignum}%
+ \def\gnuplotterminal{latex}
+ \def\gnuplotterminaloptions{}
+ \def\gnuplotscale{1}
+ \setkeys{pic}{#1}
+ \xdef\gnuplotCutFile{\subfolder\figname.gnuplot}
+ \gnuplotloadfilewrite{\gnuplotCutFile}{#2}
+ \gnuplotgraphicsprocess%
+ \gnuplotgraphicsinclude
+ }
+% \end{macrocode}
+%
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/gnuplottex/gnuplottex.ins b/macros/latex/contrib/gnuplottex/gnuplottex.ins
new file mode 100644
index 0000000000..23c7509977
--- /dev/null
+++ b/macros/latex/contrib/gnuplottex/gnuplottex.ins
@@ -0,0 +1,95 @@
+%%
+%% Copyright (c) 2006-13, Lars Kotthoff <lars@larsko.org> and contributors
+%%
+%% Large portions copied from pdftex,
+%% Copyright (c) 2001-3, Radhakrishnan CV <cvr@river-valley.com>
+%% Rajagopal CV <cvr3@river-valley.com>
+%% http://www.river-valley.com
+%%
+%% River Valley Technologies, Floor III, SJP Buildings, Cotton Hills
+%% Trivandrum, India 695014
+%%
+%% Tel: +91 471 233 7501
+%%
+%% Antoine Chambert-Loir
+%% <chambert@math.polytechnique.fr>
+%% http://www.math.polytechnique.fr/~chambert
+%%
+%% Ecole polytechnique, Palaiseau Cedex, France
+%%
+%% This program is free software; you can redistribute it and/or
+%% modify it under the terms of the GNU General Public License
+%% as published by the Free Software Foundation; either version 2
+%% of the License, or (at your option) any later version.
+%%
+%% This program is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%% GNU General Public License for more details.
+%%
+%% You should have received a copy of the GNU General Public License
+%% along with this program (gpl.txt); if not, write to the Free
+%% Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+%% MA 02111-1307, USA.
+%%
+
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/gnuplottex}
+
+\preamble
+
+Copyright (c) 2006-13, Lars Kotthoff <lars@larsko.org> and contributors
+
+Large portions copied from pdftex,
+Copyright (c) 2001-3, Radhakrishnan CV <cvr@river-valley.com>
+ Rajagopal CV <cvr3@river-valley.com>
+ http://www.river-valley.com
+
+River Valley Technologies, Floor III, SJP Buildings, Cotton Hills
+Trivandrum, India 695014
+
+Tel: +91 471 233 7501
+
+ Antoine Chambert-Loir
+ <chambert@math.polytechnique.fr>
+ http://www.math.polytechnique.fr/~chambert
+
+Ecole polytechnique, Palaiseau Cedex, France
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program (gpl.txt); if not, write to the Free
+Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+MA 02111-1307, USA.
+
+\endpreamble
+
+\generate{\file{gnuplottex.sty}{\from{gnuplottex.dtx}{package}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* gnuplottex.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file gnuplottex.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/gnuplottex/gnuplottex.pdf b/macros/latex/contrib/gnuplottex/gnuplottex.pdf
new file mode 100644
index 0000000000..6534f16984
--- /dev/null
+++ b/macros/latex/contrib/gnuplottex/gnuplottex.pdf
Binary files differ
diff --git a/macros/latex/contrib/gnuplottex/gpl.txt b/macros/latex/contrib/gnuplottex/gpl.txt
new file mode 100644
index 0000000000..0203e5220e
--- /dev/null
+++ b/macros/latex/contrib/gnuplottex/gpl.txt
@@ -0,0 +1,284 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS \ No newline at end of file