From c5e89419297f1c23c42a0c11bab9fb3c12b97f91 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 21 Dec 2015 23:32:42 +0000 Subject: pn2pdf script for petri-nets (Enrico Gregorio mail, 21 Dec 2015 12:35:28) git-svn-id: svn://tug.org/texlive/trunk@39165 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/petri-nets/pn2pdf | 211 ------------------------ 1 file changed, 211 deletions(-) delete mode 100644 Master/texmf-dist/doc/generic/petri-nets/pn2pdf (limited to 'Master/texmf-dist/doc/generic') diff --git a/Master/texmf-dist/doc/generic/petri-nets/pn2pdf b/Master/texmf-dist/doc/generic/petri-nets/pn2pdf deleted file mode 100644 index c42f9c38f30..00000000000 --- a/Master/texmf-dist/doc/generic/petri-nets/pn2pdf +++ /dev/null @@ -1,211 +0,0 @@ -#!/usr/bin/perl - -## This file is part of the Petri-nets packages. See file README for -## copyright notice. - -use strict; -use Digest::MD5 qw(md5_hex); -use Getopt::Long; - -## -## read options -## - -Getopt::Long::Configure ("bundling"); - -my $keep = 0; -my $force = 0; -my $verbose = 0; - -GetOptions ("k|keep" => \$keep, - "f|force" => \$force, - "v|verbose" => \$verbose, - "t|test" => \&Test, - "d|delete" => \&Delete, - "b|batch" => \&Batch, - "h|help" => \&Help); - -&Help if scalar @ARGV > 1; - -## -## Global variables -## - -my $figure = shift @ARGV; -my $basename = $figure; $basename =~ s/\.pn$//; -my $jobname = $basename; $jobname =~ s/-fig\d+$//; -my $data = ""; -my %sum; - -## -## Load checksums -## - -if (-f "$jobname.sum") { - open SUM, "$jobname.sum" - or &Error ("could not open $jobname.sum -- $!"); - while () { - next unless /^(.+)\s+(.+)$/; - $sum{$1} = $2; - } - close SUM; -} - -## -## Get preamble -## - -if (-f "$jobname.pre") { - # read the existing preamble - my @lines; - open PRE, "$jobname.pre" - or &Error ("could not open $jobname.sum -- $!"); - @lines =
;
-    close PRE;
-    $data .= join "", @lines;
-} else {
-    # create a new preamble
-    open TEX, "$jobname.tex"
-	or &Error ("could not open $jobname.tex -- $!");
-    while () {
-	$data .= $_;
-	last if /\\begin\{document\}/;
-    }
-    close TEX;
-    $data =~ s/(\\begin\{document\}).*$/$1\n/;
-    $data .= "\\pagestyle\{empty\}\n";
-    # save it
-    open PRE, ">$jobname.pre"
-	or &Error ("could not create $jobname.sum -- $!");
-    print PRE $data;
-    close PRE;
-}
-
-##
-## Read the figure
-##
-
-{
-    my $pre = 1;
-    open TEX, $figure or &Error ("could not open $figure -- $!");
-    open PRE, ">>$jobname.pre"
-	or &Error ("could not append $jobname.pre -- $!");
-    while () {
-	$pre = 0 if /^\\begin\{petrinet\}/;
-	print PRE if $pre;
-	$data .= $_;
-    }
-    close TEX;
-    close PRE;
-}
-
-##
-## Generate the EPDF
-##
-
-if (&SumChanged ($figure, "$data") or $force or (! -f "$basename.pdf")) {
-    open TEX, ">$basename.tex"
-	or &Error ("could not create file $basename.tex -- $!\n");
-    print TEX "$data\\end\{document\}\n";
-    close TEX;
-    system "latex", "$basename.tex";
-    system "dvips", "-E", "-Ppdf", "-o", "$basename.eps", "$basename";
-    system "epstopdf", "$basename.eps";
-}
-
-unlink ("$basename.tex", "$basename.log", "$basename.aux",
-	"$basename.dvi", "$basename.eps", "$basename.pn") unless $keep;
-
-##
-## Save checksums
-##
-
-open SUM, ">$jobname.sum"
-    or die "pn2pdf: could not create file $jobname.sum -- $!\n";
-foreach my $file (sort keys %sum) {
-    print SUM "$file $sum{$file}\n";
-}
-close SUM;
-
-exit 0;
-
-##
-## Sub programs
-##
-
-sub Help {
-    print <<"EOF";
-Usage: pn2pdf [OPTIONS]
-Create EPDF files for Petri net figures.
-
-  FIGURE               process FIGURE
-  -b, --batch FILE     process the commands in FILE
-  -k, --keep           keep temporary files
-  -f, --force          force the rendering of all pictures
-  -t, --test FILES     create FILES for test purpose
-  -d, --delete FILES   delete FILES (may be patterns)
-  -h, --help           display this help and exit
-
-Report bugs to 
-EOF
-    exit 0; }
-
-sub Error {
-    foreach my $line (@_) {
-	warn "pn2pdf: $line\n";
-    }
-    exit 1;
-}
-
-sub Verbose {
-    return unless $verbose;
-    foreach my $line (@_) {
-	warn "[pn2pdf] $line\n";
-    }
-}
-
-sub SumChanged {
-    my ($file, $lines) = @_;
-    my $md5 = md5_hex ($lines);
-    if ($md5 eq $sum{$file}) {
-	return 0;
-    } else {
-	$sum{$file} = $md5;
-	return 1;
-    }
-}
-
-sub Test {
-    foreach my $file (@ARGV) {
-	open FILE, ">$file" or &Error ("could not create $file -- $!");
-	close FILE;
-    }
-    exit 0;
-}
-
-sub Delete {
-    foreach my $pattern (@ARGV) {
-	unlink glob $pattern unless $keep;
-    }
-    exit 0;
-}
-
-sub Batch {
-    my @lines;
-    foreach my $file (@ARGV) {
-	$file =~ s/(\.[a-z]{3})?$/.bpn/i;
-	open FILE, $file or &Error ("could not open $file -- $!");
-	while () {
-	    next unless /^pn2pdf\s/;
-	    s/^pn2pdf\s/pn2pdf --keep / if $keep;
-	    s/^pn2pdf\s/pn2pdf --force / if $force;
-	    s/^pn2pdf\s/pn2pdf --verbose / if $verbose;
-	    push @lines, $_;
-	}
-	close FILE;
-    }
-    foreach (@lines) {
-	system $_;
-    }
-    exit 0;
-}
-- 
cgit v1.2.3