summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/dottex/dottex.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:54:21 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:54:21 +0000
commit24296bad96e472897f71df3a4e981b54a57bd428 (patch)
tree6f4b73de082a3fd72d806efa3fb9aa630cbc0a7a /Master/texmf-dist/tex/latex/dottex/dottex.sty
parent24645112fad7809b93791757deff2fc0dca7f880 (diff)
dottex
git-svn-id: svn://tug.org/texlive/trunk@834 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/dottex/dottex.sty')
-rw-r--r--Master/texmf-dist/tex/latex/dottex/dottex.sty168
1 files changed, 168 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/dottex/dottex.sty b/Master/texmf-dist/tex/latex/dottex/dottex.sty
new file mode 100644
index 00000000000..878f5065a2b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/dottex/dottex.sty
@@ -0,0 +1,168 @@
+%%
+%% This is file `dottex.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% dottex.dtx (with options: `package')
+%%
+%% Copyright (c) 2005, 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/\protect \unhbox \voidb@x \penalty \@M \ {}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.
+%%
+ \NeedsTeXFormat{LaTeX2e}[1999/12/01]
+ \ProvidesPackage{dottex}
+ [2005/08/13 v0.2 dot/neato graphs in LaTeX]
+\RequirePackage{graphicx,moreverb}
+\newif\ifShellEscape
+\newif\ifmiktex \miktexfalse
+
+\DeclareOption{shell}{\ShellEscapetrue}
+\DeclareOption{noshell}{\ShellEscapefalse}
+\DeclareOption{miktex}{\global\miktextrue}
+
+\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{dottex}
+ {Automatically converting dot/neato files to ps}
+\else
+ \PackageWarningNoLine{dottex}
+ {Shell escape not enabled.\MessageBreak
+ You'll need to convert the graphs yourself}
+\fi
+\newcounter{fignum}
+\gdef\dotwidth{\textwidth}
+\def\figname{\jobname-fig\thefignum}
+
+\def\dotverbatimwrite#1{%
+ \def\BeforeStream
+ {\message{Opening Dot stream=\figname.dot}%
+ \immediate\write\verbatim@out{\string digraph\space G\space {/*}*/}
+ }
+ \@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\enddotverbatimwrite{%
+ \immediate\write\verbatim@out{/*{*/}}
+ \immediate\closeout\verbatim@out
+ \@esphack}
+
+\def\neatoverbatimwrite#1{%
+ \def\BeforeStream
+ {\message{Opening Neato stream=\figname.neato}%
+ \immediate\write\verbatim@out{\string graph\space G\space {/*}*/}
+ }
+ \@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\endneatoverbatimwrite{%
+ \immediate\write\verbatim@out{/*{*/}}
+ \immediate\closeout\verbatim@out
+ \@esphack}
+\newenvironment{dotpic}{\stepcounter{fignum}%
+ \xdef\dotCutFile{\figname.dot}
+ \dotverbatimwrite{\dotCutFile}}
+ {\enddotverbatimwrite%
+ \dotgraphicsinclude}
+
+\newenvironment{neatopic}{\stepcounter{fignum}%
+ \xdef\neatoCutFile{\figname.neato}
+ \neatoverbatimwrite{\neatoCutFile}}
+ {\endneatoverbatimwrite%
+ \neatographicsinclude}
+\long\gdef\dotgraphicsprocess{%
+ \ifShellEscape
+ \IfFileExists{\figname.dot}{%
+ \immediate\write18{dot -Tps -o \figname.ps \figname.dot}
+ \IfFileExists{\figname.ps}{%
+ \PackageInfo{dottex}
+ {\figname.dot converted}}
+ {\PackageWarningNoLine{dottex}
+ {Conversion of \figname.dot failed.}}}{}
+ \fi}
+
+\long\gdef\neatographicsprocess{%
+ \ifShellEscape
+ \IfFileExists{\figname.neato}{%
+ \immediate\write18{neato -Tps -o \figname.ps \figname.neato}
+ \IfFileExists{\figname.ps}{%
+ \PackageInfo{dottex}
+ {\figname.neato converted}}
+ {\PackageWarningNoLine{dottex}
+ {Conversion of \figname.neato failed.}}}{}
+ \fi}
+\long\gdef\dotgraphicsinclude{\dotgraphicsprocess%
+ \IfFileExists{\figname.ps}{%
+ \includegraphics[width=\dotwidth]{\figname}
+ }
+ {\PackageWarningNoLine{dottex}
+ {Please convert \figname.dot manually}}
+}
+
+\long\gdef\neatographicsinclude{\neatographicsprocess%
+ \IfFileExists{\figname.ps}{%
+ \includegraphics[width=\dotwidth]{\figname}
+ }
+ {\PackageWarningNoLine{dottex}
+ {Please convert \figname.neato manually}}
+}
+\endinput
+%%
+%% End of file `dottex.sty'.