From 24296bad96e472897f71df3a4e981b54a57bd428 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:54:21 +0000 Subject: dottex git-svn-id: svn://tug.org/texlive/trunk@834 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/dottex/dottex.sty | 168 ++++++++++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/dottex/dottex.sty (limited to 'Master/texmf-dist/tex/latex/dottex/dottex.sty') 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 +%% +%% 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/\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'. -- cgit v1.2.3