3
#---------------------------------------------------------------------
4
# Run GS to create jpeg files defined as $gs
5
#---------------------------------------------------------------------
6
system("/bin/bash -c \"rm -f matrix*.jpg\" ");
9
if (! -e "matrix.ps") {$imatrix = 1;}
11
if ($imatrix eq "") {$max_jpg = 5;}
12
# add 1 to max_jpg, to get max_jpg pages
14
open(PAGE,"> diagrams.html") || die "Error creating diagrams.html";
15
print PAGE "\<HTML\> \n";
16
print PAGE "\<HEAD\> \n";
17
print PAGE "\<TITLE\>Feynman Diagrams \<\/TITLE\> \n";
18
print PAGE "\<\/HEAD\> \n";
19
print PAGE "\<BODY\> \n";
20
while ( -e "matrix$imatrix.ps"){
21
open(IN, "< matrix$imatrix.ps") || die "No file matrix$imatrix.ps";
22
open(OUT, "> matrix-1.ps") || die "Could not open file matrix-1.ps";
24
if ($_ =~ m/^%%Page: $max_jpg $max_jpg/) {last;}
25
else {print OUT $_, "\n";}
29
system "/bin/bash -c \"nice gs \-sDEVICE\=jpeg \-sOutputFile\=matrix$imatrix\%00d.jpg \-q \-dNOPAUSE \-dBATCH matrix-1.ps\"";
30
system "rm -f matrix-1.ps";
32
# Determine how many jpg files we have
35
while(-e "matrix$imatrix$pages.jpg"){
39
if ($pages > $max_jpg){
42
# Find name of process
43
open PROCESS, "grep Process auto_dsig$imatrix.f |" or print "Error: can't do grep\n";
45
if ($proc =~ /Process: (.+?)(\s\w+=\d+)*$/) { $proc = $1; }
46
print PAGE "<P>\<A HREF\=\"matrix$imatrix.ps\" id\=\"$imatrix\"\> Postscript Diagrams for $proc\<\/A\> \<BR\> \n";
47
for($j=1;$j<$pages;$j++){
48
print PAGE "\<IMG SRC=\"matrix$imatrix$j.jpg\" ALT=\"Page $j of $pages \" \> \<BR\> \n";
51
# In case I didn't include all of the diagrams as jpeg, warn user
53
if (-e "matrix$imatrix$max_jpg.jpg" ) {
54
print PAGE "<P>To save bandwidth not all diagrams were converted to jpeg.";
55
print PAGE "<P> To view all diagrams click on ";
56
print PAGE "\<A HREF\=\"matrix$imatrix.ps\"\> postscript. \<\/A\> \<BR\> \n";
58
# Delete files which aren't included in diagrams.html
60
system ("/bin/bash -c \"rm -f matrix$max_jpg.jpg\" ");
63
# Now create jpeg file for card
65
if (! -e "../../card.jpg") {
66
system ("/bin/bash -c \"head -352 matrix$imatrix.ps >& junk.ps\" ");
67
open(JUNK,">> junk.ps") || die "Error opening junk.ps";
69
print JUNK "-30 -380 translate \n";
70
print JUNK "0.7 0.7 scale \n";
73
system ("/bin/bash -c \"cat matrix$imatrix.ps | sed 1,352d >> junk.ps\" ");
75
system "/bin/bash -c \"nice gs \-sDEVICE\=jpeg \-sOutputFile\=card.jpg \-q \-dNOPAUSE \-dBATCH \-g180x150 ./junk.ps; rm -f junk.ps; cp -p card.jpg ../../card.jpg\" ";
77
if ($imatrix eq "") {$imatrix = 0;}
78
$imatrix = $imatrix + 1;
82
print PAGE "\<\/BODY\> \n";
83
print PAGE "\<\/HTML\> \n";