From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/gnuplottex/README | 5 + .../contrib/gnuplottex/SomeValuesForGnuplot.txt | 7 + macros/latex/contrib/gnuplottex/example-pdf.tex | 21 + macros/latex/contrib/gnuplottex/example.gnuplot | 1 + macros/latex/contrib/gnuplottex/gnuplottex.dtx | 904 +++++++++++++++++++++ macros/latex/contrib/gnuplottex/gnuplottex.ins | 95 +++ macros/latex/contrib/gnuplottex/gnuplottex.pdf | Bin 0 -> 415723 bytes macros/latex/contrib/gnuplottex/gpl.txt | 284 +++++++ 8 files changed, 1317 insertions(+) create mode 100644 macros/latex/contrib/gnuplottex/README create mode 100644 macros/latex/contrib/gnuplottex/SomeValuesForGnuplot.txt create mode 100644 macros/latex/contrib/gnuplottex/example-pdf.tex create mode 100644 macros/latex/contrib/gnuplottex/example.gnuplot create mode 100644 macros/latex/contrib/gnuplottex/gnuplottex.dtx create mode 100644 macros/latex/contrib/gnuplottex/gnuplottex.ins create mode 100644 macros/latex/contrib/gnuplottex/gnuplottex.pdf create mode 100644 macros/latex/contrib/gnuplottex/gpl.txt (limited to 'macros/latex/contrib/gnuplottex') 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 and contributors +% +% Large portions copied from pdftex, +% Copyright (c) 2001-3, Radhakrishnan CV +% Rajagopal CV +% 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 +% +% 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} +% +% \NeedsTeXFormat{LaTeX2e}[1999/12/01] +% \ProvidesPackage{gnuplottex} +%<*package> + [2016/08/21 v0.9.2 gnuplot graphs in LaTeX] +\RequirePackage{graphicx,moreverb,keyval,ifthen,catchfile} +% +% +%<*driver> +\documentclass{ltxdoc} +% \iffalse +%<*example> +\usepackage{xcolor,epstopdf,siunitx,eepic,epic,eepicemu,gnuplot-lua-tikz} +% \fi +% \iffalse +% +% \fi +\usepackage[siunitx]{gnuplottex} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{gnuplottex.dtx} + \PrintChanges + \PrintIndex +\end{document} +% +% \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 +% +% \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 +% +% \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 +% +% \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 +% +% \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 +% +% \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 +% +% \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 +% +% \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 and contributors +%% +%% Large portions copied from pdftex, +%% Copyright (c) 2001-3, Radhakrishnan CV +%% Rajagopal CV +%% 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 +%% +%% 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 and contributors + +Large portions copied from pdftex, +Copyright (c) 2001-3, Radhakrishnan CV + Rajagopal CV + 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 + + 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 Binary files /dev/null and b/macros/latex/contrib/gnuplottex/gnuplottex.pdf 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 -- cgit v1.2.3