diff options
author | Karl Berry <karl@freefriends.org> | 2006-07-12 22:28:45 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-07-12 22:28:45 +0000 |
commit | a4f3458a22ca0198a289e764fb0447104be8ddb7 (patch) | |
tree | 0c1685a26b01889b097e7b559b1325b61f94de93 /Master/texmf-dist/source/latex/gnuplottex | |
parent | 6da5bb042c15587fad03d6f4cf308d711348306c (diff) |
new package gnuplottex
git-svn-id: svn://tug.org/texlive/trunk@1824 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/gnuplottex')
-rw-r--r-- | Master/texmf-dist/source/latex/gnuplottex/gnuplottex.dtx | 289 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/gnuplottex/gnuplottex.ins | 95 |
2 files changed, 384 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/gnuplottex/gnuplottex.dtx b/Master/texmf-dist/source/latex/gnuplottex/gnuplottex.dtx new file mode 100644 index 00000000000..b4ac6b8abea --- /dev/null +++ b/Master/texmf-dist/source/latex/gnuplottex/gnuplottex.dtx @@ -0,0 +1,289 @@ +% \iffalse meta-comment +% +% Copyright (c) 2006, Lars Kotthoff <metalhead@metalhead.ws> +% +% 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> + [2006/04/02 v0.1 gnuplot graphs in LaTeX] +\RequirePackage{graphicx,moreverb,keyval} +%</package> +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{gnuplottex} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{gnuplottex.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi +% +% \CheckSum{223} +% +% \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.} +% +% \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\\ \texttt{metalhead@metalhead.ws}} +% +% \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 and converted to PostScript or PDF files, which will then be included. If +% shell escape isn't used, the user will have to manually convert the +% 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}. +% +% \section{Requirements} +% +% To use gnuplottex, you'll need the \texttt{graphicx}, \texttt{keyval} and +% \texttt{moreverb} packages, epstopdf if you want to use the pdf +% option, and of course, gnuplot. +% +% \section{Usage} +% +% To load the package, simply \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. +% \item[\oarg{noshell}] Don't use shell escape, graphs must be generated +% manually. +% \item[\oarg{miktex}] We're using mikTeX. +% \item[\oarg{pdf}] PDF output, generate .pdf files of the graphs out of +% .ps. +% \end{description} +% +% The following environments 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. +% +% You may specify width or height of the picture using +% [width=\meta{width}] or [height=\meta{height}] as in the \texttt{includegraphics} command. +% +% \StopEventually{} +% +% \section{Implementation} +% +% \subsection{Initialization} +% \begin{macrocode} +\newif\ifShellEscape +\newif\ifmiktex \miktexfalse +\newif\ifpdf \pdffalse + +\DeclareOption{shell}{\ShellEscapetrue} +\DeclareOption{noshell}{\ShellEscapefalse} +\DeclareOption{miktex}{\global\miktextrue} +\DeclareOption{pdf}{\pdftrue} + +\ExecuteOptions{shell} +\ProcessOptions\relax +%% test if shell escape really works +\ifShellEscape + \def\tmpfile{/tmp/w18-test-\the\year\the\month\the\day\the\time} + \ifmiktex + \immediate\write18{rem >"\tmpfile"} + \else + \immediate\write18{touch \tmpfile} + \fi + \ifmiktex + \IfFileExists{\tmpfile.}{\ShellEscapetrue}{\ShellEscapefalse} + \else + \IfFileExists{\tmpfile}{\ShellEscapetrue}{\ShellEscapefalse} + \fi +\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\gnuplotverbatimwrite#1{% + \def\BeforeStream + {\message{Opening gnuplot stream=\figname.gnuplot}% + \immediate\write\verbatim@out{\string set terminal postscript eps enhanced} + \immediate\write\verbatim@out{\string set output '\figname.eps'} + } + \@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} +% \end{macrocode} +% +% \subsection{Environment definition} +% \begin{macrocode} +\define@key{pic}{width}{\def\gnuplotwidth{#1}} +\define@key{pic}{height}{\def\gnuplotheight{#1}} +\newenvironment{gnuplot}[1][]{\stepcounter{fignum}% + \let\gnuplotwidth\undefined + \let\gnuplotheight\undefined + \setkeys{pic}{#1} + \xdef\gnuplotCutFile{\figname.gnuplot} + \gnuplotverbatimwrite{\gnuplotCutFile}} + {\endgnuplotverbatimwrite% + \gnuplotgraphicsinclude} +% \end{macrocode} +% +% \subsection{\texttt{.gnuplot} file processing} +% \begin{macrocode} +\long\gdef\gnuplotgraphicsprocess{% + \ifShellEscape + \IfFileExists{\figname.gnuplot}{% + \immediate\write18{gnuplot \figname.gnuplot} + \IfFileExists{\figname.eps}{% + \ifpdf + \immediate\write18{epstopdf \figname.eps} + \IfFileExists{\figname.pdf}{% + \PackageInfo{gnuplottex} + {\figname.gnuplot converted}} + {\PackageWarningNoLine{gnuplottex} + {Conversion of \figname.gnuplot failed.}} + \else + \PackageInfo{gnuplottex} + {\figname.gnuplot converted} + \fi} + {\PackageWarningNoLine{gnuplottex} + {Conversion of \figname.gnuplot failed.}}}{} + \fi} +% \end{macrocode} +% +% \subsection{Graph inclusion} +% \begin{macrocode} +\long\gdef\gnuplotgraphicsinclude{\gnuplotgraphicsprocess% + \ifpdf + \IfFileExists{\figname.pdf}{% + \ifx\gnuplotwidth\undefined + \ifx\gnuplotheight\undefined + \includegraphics{\figname} + \else + \includegraphics[height=\gnuplotheight]{\figname} + \fi + \else + \ifx\gnuplotheight\undefined + \includegraphics[width=\gnuplotwidth]{\figname} + \else + \includegraphics[width=\gnuplotwidth,height=\gnuplotheight]{\figname} + \fi + \fi + } + {\PackageWarningNoLine{gnuplottex} + {Please convert \figname.gnuplot manually}} + \else + \IfFileExists{\figname.eps}{% + \ifx\gnuplotwidth\undefined + \ifx\gnuplotheight\undefined + \includegraphics{\figname} + \else + \includegraphics[height=\gnuplotheight]{\figname} + \fi + \else + \ifx\gnuplotheight\undefined + \includegraphics[width=\gnuplotwidth]{\figname} + \else + \includegraphics[width=\gnuplotwidth,height=\gnuplotheight]{\figname} + \fi + \fi + } + {\PackageWarningNoLine{gnuplottex} + {Please convert \figname.gnuplot manually}} + \fi +} +% \end{macrocode} +% +% \Finale +\endinput diff --git a/Master/texmf-dist/source/latex/gnuplottex/gnuplottex.ins b/Master/texmf-dist/source/latex/gnuplottex/gnuplottex.ins new file mode 100644 index 00000000000..980493fcb98 --- /dev/null +++ b/Master/texmf-dist/source/latex/gnuplottex/gnuplottex.ins @@ -0,0 +1,95 @@ +%% +%% Copyright (c) 2006, Lars Kotthoff <metalhead@metalhead.ws> +%% +%% 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, Lars Kotthoff <metalhead@metalhead.ws> + +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 dottex.dtx *} +\Msg{* through LaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} + +\endbatchfile |