6 # Creates LaTeX gamebook from XML source. This should subsequently be
7 # used to create a PDF or PostScript version.
12 my $PROGRAM_NAME = "gbtolatex";
15 my $BOOK_PATH = "latex";
17 my $USE_ILLUSTRATORS = "";
19 my $JAVA = "/cygdrive/c/WINDOWS/java.exe";
23 unless( $ARGV[ 0 ] ) { die "Usage:\n\t${PROGRAM_NAME} book-code\n"; }
25 print "Reminder:\n\tDid you uncomment the LaTeX special character\n\tdeclarations in the book's XML file?\n";
27 my $bookCode = $ARGV[ 0 ];
29 if( $bookCode eq "01fftd" ) {
30 $XML_SOURCE = "01fftd.xml";
31 $BOOK_PATH .= "/lw/01fftd";
32 $TITLE_COLOR = "0.0,0.4,0.2";
33 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
35 elsif( $bookCode eq "02fotw" ) {
36 $XML_SOURCE = "02fotw.xml";
37 $BOOK_PATH .= "/lw/02fotw";
38 $TITLE_COLOR = "0.0,0.6,0.6";
39 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
41 elsif( $bookCode eq "03tcok" ) {
42 $XML_SOURCE = "03tcok.xml";
43 $BOOK_PATH .= "/lw/03tcok";
44 $TITLE_COLOR = "0.0,0.6,0.8";
45 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
47 elsif( $bookCode eq "04tcod" ) {
48 $XML_SOURCE = "04tcod.xml";
49 $BOOK_PATH .= "/lw/04tcod";
50 $TITLE_COLOR = "0.0,0.0,0.6";
51 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
53 elsif( $bookCode eq "05sots" ) {
54 $XML_SOURCE = "05sots.xml";
55 $BOOK_PATH .= "/lw/05sots";
56 $TITLE_COLOR = "0.8,0.6,0.0";
57 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
59 elsif( $bookCode eq "06tkot" ) {
60 $XML_SOURCE = "06tkot.xml";
61 $BOOK_PATH .= "/lw/06tkot";
62 $TITLE_COLOR = "0.6,0.6,0.0";
63 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
65 elsif( $bookCode eq "07cd" ) {
66 $XML_SOURCE = "07cd.xml";
67 $BOOK_PATH .= "/lw/07cd";
68 $TITLE_COLOR = "0.0,0.8,0.4";
69 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
71 elsif( $bookCode eq "08tjoh" ) {
72 $XML_SOURCE = "08tjoh.xml";
73 $BOOK_PATH .= "/lw/08tjoh";
74 $TITLE_COLOR = "0.4,0.6,0.4";
75 $USE_ILLUSTRATORS = ":Gary Chalk:JC Alvarez & Jonathan Blake:Jonathan Blake:";
77 elsif( $bookCode eq "09tcof" ) {
78 $XML_SOURCE = "09tcof.xml";
79 $BOOK_PATH .= "/lw/09tcof";
80 $TITLE_COLOR = "1.0,0.6,0.0";
81 $USE_ILLUSTRATORS = ":Brian Williams:JC Alvarez & Jonathan Blake:Jonathan Blake:";
83 elsif( $bookCode eq "10tdot" ) {
84 $XML_SOURCE = "10tdot.xml";
85 $BOOK_PATH .= "/lw/10tdot";
86 $TITLE_COLOR = "1.0,0.0,0.0";
87 $USE_ILLUSTRATORS = ":Brian Williams:JC Alvarez & Jonathan Blake:Jonathan Blake:";
89 elsif( $bookCode eq "11tpot" ) {
90 $XML_SOURCE = "11tpot.xml";
91 $BOOK_PATH .= "/lw/11tpot";
92 $TITLE_COLOR = "0.5,0.5,0.4";
93 $USE_ILLUSTRATORS = ":Brian Williams:JC Alvarez & Jonathan Blake:Jonathan Blake:";
95 elsif( $bookCode eq "12tmod" ) {
96 $XML_SOURCE = "12tmod.xml";
97 $BOOK_PATH .= "/lw/12tmod";
98 $TITLE_COLOR = "0.6,0.0,0.0";
99 $USE_ILLUSTRATORS = ":Brian Williams:JC Alvarez & Jonathan Blake:Jonathan Blake:";
101 else{ die "Error:\n\tUknown book code.\n"; }
103 chdir( "$ENV{'AONPATH'}/data" ) or die( "Cannot open Project Aon data directory \"$ENV{'AONPATH'}/data\": $!" );
104 print qx{$JAVA org.apache.xalan.xslt.Process -IN $XML_PATH/$XML_SOURCE -XSL $XML_PATH/latex.xsl -OUT $BOOK_PATH/$bookCode.tex -PARAM title-color \"$TITLE_COLOR\" -PARAM use-illustrators \"$USE_ILLUSTRATORS\"};