X-Git-Url: http://git.projectaon.org/?p=project-aon.git;a=blobdiff_plain;f=common%2Fscripts%2Fgbtolatex.pl;h=ccfd17f4449e463fa8db4563e7eae90ea7820b69;hp=2b37c7e28f2d2061901ffbd5ddf6cc04b9350638;hb=HEAD;hpb=f4bdee5083ca9a72713637e1e979aa183e06faea diff --git a/common/scripts/gbtolatex.pl b/common/scripts/gbtolatex.pl index 2b37c7e..ccfd17f 100755 --- a/common/scripts/gbtolatex.pl +++ b/common/scripts/gbtolatex.pl @@ -30,7 +30,7 @@ my $USE_ILLUSTRATORS = ""; # # my $XMLPROC = "xalan"; # my $XMLPROC = "/usr/local/bin/xmlto"; -my $XMLPROC = "xsltproc"; +my $XMLPROC = "/usr/bin/xsltproc"; # my $JAVA = "/cygdrive/c/WINDOWS/java.exe"; my $JAVA = "/usr/bin/java"; my $EXTRAPARMS =""; @@ -39,6 +39,18 @@ $EXTRAPARMS=$ENV{'XMLPARMS'} if defined($ENV{'XMLPARMS'}); unless( $ARGV[ 0 ] ) { die "Usage:\n\t${PROGRAM_NAME} book-code [LANGUAGE] [OUTPUTFILE]\n"; } +# Check that all the binaries are were want them + +my @BINARIES; +push @BINARIES, ($XMLPROC, $JAVA); + +foreach (@BINARIES) { + if ( ! -e $_ ) { + die "$PROGRAM_NAME: Cannot find binary '".$_."'. Please install it.\n"; + } +} + + print "Reminder:\n\tDid you uncomment the LaTeX special character\n\tdeclarations in the book's XML file?\n"; my $bookCode = $ARGV[ 0 ]; @@ -57,8 +69,9 @@ if ( ! -d "$DATADIR" ) { # Data dir, where XSL files reside # Note: This has to be set to the XML file location and not the XSL location # because of the .inc and the .mod files -#my $XSLDIR = $ENV{'AONPATH'}."/common/xsl"; -my $XSLDIR = $DATADIR; +# We link the file later on to use it + +my $XSLDIR = $ENV{'AONPATH'}."/common/xsl"; if ( ! -d "$XSLDIR" ) { print STDERR "Cannot find XSL directory: $XSLDIR !\n"; exit 1; @@ -219,6 +232,13 @@ elsif( $bookCode eq "13tplor" ) { $TITLE_COLOR = "0.6,0.0,0.0"; $USE_ILLUSTRATORS = ":Brian Williams:JC Alvarez & Jonathan Blake:Jonathan Blake:"; } +elsif( $bookCode eq "13lsdlpdr" ) { + $XML_SOURCE = "13lsdlpdr.xml"; + $BOOK_PATH .= "/lw/13lsdlpdr"; + # TODO - review + $TITLE_COLOR = "0.6,0.0,0.0"; + $USE_ILLUSTRATORS = ":Brian Williams:JC Alvarez & Jonathan Blake:Jonathan Blake:"; +} elsif( $bookCode eq "14tcok" ) { $XML_SOURCE = "14tcok.xml"; $BOOK_PATH .= "/lw/14tcok"; @@ -363,9 +383,19 @@ else{ die "Error:\n\tUknown book code.\n"; } if ( ! -r $DATADIR."/".$XML_SOURCE ) { die "Could not find source file $XML_SOURCE in $DATADIR!"; } -if ( ! -r $XSLDIR."/latex.xsl" ) { - die "Could not find LaTeX stylesheet (latex.xsl) in $DATADIR!"; +if ( ! -e $DATADIR."/latex.xsl" ) { + if ( ! -r $XSLDIR."/latex.xsl" ) { + die "Could not find LaTeX stylesheet (latex.xsl) in $XSLDIR!"; + } + # Link, if it does not exist the XSL file to the DATADIR + if ( ! link $XSLDIR."/latex.xsl", $DATADIR."/latex.xsl" ) { + die "Could not link the LaTeX stylesheet (latex.xsl) from $XSLDIR to $DATADIR!"; + } +} +if ( ! -e $DATADIR."/latex.xsl" ) { + die "Could not find LaTeX stylesheet (latex.xsl) in $DATADIR!"; } +$XSLDIR = $DATADIR; # Create the output directory if it does not exist already @@ -391,11 +421,11 @@ my $command=""; # For Xmlto, which uses xsltproc: # (Does not work) # `$XMLPROC -v -o $BOOK_PATH -x ${XSLDIR}/latex.xsl dvi ${DATADIR}/${XML_SOURCE}`; -if ( $XMLPROC eq "xalan" ) { +if ( $XMLPROC =~ /xalan/ ) { # Apache's Xalan: $command="$XMLPROC -in ${DATADIR}/${XML_SOURCE} -xsl ${XSLDIR}/latex.xsl -out $OUTPUTFILE -param title-color \"\'$TITLE_COLOR\'\" -param use-illustrators \"\'$USE_ILLUSTRATORS\'\" -param language \"\'$language\'\" $EXTRAPARMS"; } -elsif ( $XMLPROC eq "xsltproc" ) { +elsif ( $XMLPROC =~ /xsltproc/ ) { # xsltproc: $command="$XMLPROC --output $OUTPUTFILE --param title-color \"\'$TITLE_COLOR\'\" --param use-illustrators \"\'$USE_ILLUSTRATORS\'\" --param language \"\'$language\'\" $EXTRAPARMS ${XSLDIR}/latex.xsl ${DATADIR}/${XML_SOURCE}"; }