summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/graphviz
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-08-25 21:57:19 +0000
committerKarl Berry <karl@freefriends.org>2013-08-25 21:57:19 +0000
commit6e1716959dcbead4226252da5ee6590ef79c67dc (patch)
treed2d9e44359663c10677d03adcdb477a5a0ef39ad /Master/texmf-dist/tex/latex/graphviz
parentcff40ff1ca6a982d827c23c02df7ae79504d12a3 (diff)
graphviz (25aug13)
git-svn-id: svn://tug.org/texlive/trunk@31517 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/graphviz')
-rw-r--r--Master/texmf-dist/tex/latex/graphviz/graphviz.sty106
1 files changed, 106 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/graphviz/graphviz.sty b/Master/texmf-dist/tex/latex/graphviz/graphviz.sty
new file mode 100644
index 00000000000..7bc7d28fee9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/graphviz/graphviz.sty
@@ -0,0 +1,106 @@
+%%
+%% This is file `graphviz.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% graphviz.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2003-13 by Derek Rayside <drayside@uwaterloo.ca>
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3c of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{graphviz}
+ [2013/08/15 v0.94 .dtx graphviz file]
+\newif\ifsinglefile
+\DeclareOption{singlefile}{
+ \singlefiletrue
+ \AtBeginDocument{% open a new file handle
+ \newwrite\masterdotfile%
+ \immediate\openout\masterdotfile=\@tmpdir tmpmaster.graphviz%
+ \newwrite\mastergvprfile%
+ \immediate\openout\mastergvprfile=\@tmpdir tmpmaster.gvpr}
+ \AtEndDocument{% close the file
+ % close the dot file and the gvpr file
+ \immediate\closeout\masterdotfile%
+ \immediate\closeout\mastergvprfile%
+ % execute the gvpr file
+ \immediate\write18{gvpr -f \@tmpdir tmpmaster.gvpr \@tmpdir tmpmaster.graphviz}%
+ }}
+\newif\ifpsfrag
+\DeclareOption{psfrag}{ \psfragtrue }
+\newcommand{\@outext}{ps}
+\newcommand{\@outextspace}{ps }
+\DeclareOption{ps}{
+ \renewcommand{\@outext}{ps}
+ \renewcommand{\@outextspace}{ps }}
+\DeclareOption{pdf}{%
+ \renewcommand{\@outext}{pdf}%
+ \renewcommand{\@outextspace}{pdf }}
+\newcommand{\@tmpdir}{}
+\DeclareOption{tmpdir}{%
+ \immediate\write18{mkdir ./tmp/}%
+ \renewcommand{\@tmpdir}{./tmp/}}
+\ExecuteOptions{ps}
+\ProcessOptions\relax % LaTeX class guide says it is wise to relax
+\RequirePackage{graphicx}
+\ifpsfrag \RequirePackage{psfrag} \fi
+\newcommand{\digraph}[2][scale=1]{
+ \inputdigraph[#1]{#2}{dot}% % Include the generated ps/pdf.
+ \@digraph{digraph}{#2}% % Generate the .dot file.
+}
+\newcommand{\neatograph}[2][scale=1]{
+ \inputdigraph[#1]{#2}{neato}% % Include the generated ps/pdf.
+ \@digraph{graph}{#2}% % Generate the .dot file.
+}
+\begingroup
+ \catcode`\^^M=\active%
+ \gdef\@digraph{\begingroup\catcode`\^^M=\active\def^^M{^^J}\@@digraph}%
+\endgroup
+\def\@@digraph#1#2#3{%
+ \ifsinglefile% write the graph to the master file
+ \expandafter\def\csname -\endcsname{\string\n}%
+ \immediate\write\masterdotfile{#1 #2 {#3}}%
+ \immediate\write\mastergvprfile{BEG_G { if ($.name == "#2") {writeG($G,"\@tmpdir#2.dot");} }}%
+ \else% open a new file handle
+ \newwrite\dotfile%
+ \immediate\openout\dotfile=\@tmpdir#2.dot%
+ \expandafter\def\csname -\endcsname{\string\n}%
+ \immediate\write\dotfile{#1 #2 {#3}}%
+ \immediate\closeout\dotfile%
+ \fi%
+ \endgroup}%
+\newcommand{\inputdigraph}[3][scale=1]{
+ % execute dot or neato (nb: requires latex -shell-escape)
+ \immediate\write18{#3 -T\@outextspace -o \@tmpdir#2.\@outextspace \@tmpdir#2.dot}
+ \IfFileExists{\@tmpdir#2.\@outext}{ % the postscript/pdf exists: include it
+ \ifpsfrag
+ % per the ladot 2.2 source code, psfrag has a problem with
+ % graphviz 2.2, and some sed hackery is necessary to work around
+ \write18{sed -ibackup -e "s/xshow/pop show/g" \@tmpdir#2.ps}
+ \fi
+ \includegraphics[#1]{\@tmpdir#2.\@outext}
+ }
+ % else: the postscript/pdf doesn't exist: tell the user how to create it
+ {
+ \fbox{ \begin{tabular}{l}
+ The file \texttt{#2.\@outext} hasn't been created from
+ \texttt{\@tmpdir#2.dot} yet. \\
+ Run `\texttt{dot -T\@outextspace -o \@tmpdir#2.\@outextspace \@tmpdir#2.dot}'
+ to create it. \\
+ Or invoke \LaTeX\ with the \texttt{-shell-escape} option
+ to have this done automatically. \\
+ \end{tabular}}
+ }
+}
+\endinput
+%%
+%% End of file `graphviz.sty'.