version 1.1, 2002/07/16 20:45:05
|
version 1.12, 2003/07/01 18:21:24
|
Line 29 use strict;
|
Line 29 use strict;
|
use Fcntl; |
use Fcntl; |
use POSIX qw(tmpnam); |
use POSIX qw(tmpnam); |
|
|
if ( scalar(@ARGV) < 2 and 0 ) |
if ( scalar(@ARGV) < 2 ) |
{ |
{ |
print (<<USAGE); |
print (<<USAGE); |
Usage: $0 texxml_file_name or |
Usage: $0 texxml_file_name or |
perl $0 -- texxml_file_name |
perl $0 -- texxml_file_name |
where "texxml_file_name" does not include the .texxml suffix |
where "texxml_file_name" optionally includes the extension |
Output: texxml_file_name.dvi |
Output: texxml_file_name.dvi |
|
|
$0 renders texxml files into dvi files by copying the tex file |
$0 renders texxml files into dvi files by copying the tex file |
resulting from from texxml2latex.pl and the referenced eps files |
resulting from from texxml2latex.pl and the referenced eps files |
into a temporary directory and running LaTeX on the .tex file. |
into a temporary directory and running LaTeX on the .tex file. |
|
|
|
If a second argument is passed, it is used as the location of the |
|
.eps files the document uses. |
|
|
Must be run as somebody with permissions to write temp files and |
Must be run as somebody with permissions to write temp files and |
access /home/httpd/html/adm/help/eps. |
access /home/httpd/html/adm/help/eps. |
USAGE |
USAGE |
Line 50 USAGE
|
Line 53 USAGE
|
|
|
my $tmpdir = tmpnam(); |
my $tmpdir = tmpnam(); |
my $fileroot = $ARGV[1]; |
my $fileroot = $ARGV[1]; |
print $fileroot . "\n"; |
|
|
|
mkdir $tmpdir; |
if (substr($fileroot, -7) eq ".texxml") |
|
{ |
|
$fileroot = substr($fileroot, 0, -7); |
|
} |
|
|
|
my $epssource = "../../loncom/html/adm/help/eps"; |
|
|
|
if ( defined ( $ARGV[2] ) ) # override eps source, for build on install |
|
{ |
|
$epssource = $ARGV[2]; |
|
} |
|
|
|
my $redir = ">& /dev/null"; # empty this for easier debugging |
|
#my $redir = ">> error_log.txt"; |
|
|
|
mkdir $tmpdir, 0755; |
|
|
print "Converting texxml to tex...\n"; |
print "Converting texxml to tex...\n"; |
system ( "perl texxml2latex.pl $fileroot.texxml > $tmpdir/$fileroot.tex" ); |
system ( "perl texxml2latex.pl $fileroot.texxml > $tmpdir/$fileroot.tex" ); |
|
|
print "Copying .eps files...\n"; |
print "Copying .eps files...\n"; |
system ( "cp /home/httpd/html/adm/help/eps/* $tmpdir/" ); |
system ( "cp $epssource/* $tmpdir/" ); |
|
|
print "Running Latex...\n"; |
print "Running Latex...\n"; |
system ( "cd $tmpdir; latex $fileroot >& /dev/null; latex $fileroot >& /dev/null; latex $fileroot >& /dev/null; " ); |
system ( "cd $tmpdir; echo | latex $fileroot $redir; echo | latex $fileroot $redir; echo | latex $fileroot\ $redir; " ); |
|
|
print "dvips...\n"; |
print "Running dvips...\n"; |
system ( "cd $tmpdir; dvips -f $fileroot.dvi > $fileroot.ps " ); |
system ( "cd $tmpdir; dvips -Ppdf -G0 -f $fileroot.dvi > $fileroot.ps " ); |
|
|
print "Copying dvi file...\n"; |
print "Copying ps file...\n"; |
system ( "cp $tmpdir/$fileroot.ps ."); |
system ( "cp $tmpdir/$fileroot.ps ."); |
|
|
|
print "Converting to PDF (may take a bit)...\n"; |
|
system ( "ps2pdf $fileroot.ps $fileroot.pdf" ); |
|
|
print "Clearing temp directory...\n"; |
print "Clearing temp directory...\n"; |
system ( "rm -rf $tmpdir" ); |
system ( "rm -rf $tmpdir" ); |
|
|
print "$fileroot.ps is ready, if all went well.\n"; |
if ( -e $fileroot . ".ps" ) |
|
{ |
|
print "$fileroot.ps and $fileroot.pdf are ready.\n"; |
|
} |
|
else |
|
{ |
|
print "Generationr of $fileroot.ps failed.\n"; |
|
} |