source: subversion/applications/utils/gary68/dir.pl @ 21494

Last change on this file since 21494 was 21165, checked in by gary68, 9 years ago

1.04 of mapgen published

  • Property svn:executable set to *
File size: 3.0 KB
Line 
1
2use strict ;
3use warnings ;
4
5my $version = "1.04" ;
6
7my $streetFileName ;
8my $poiFileName ;
9my $pdfFileName ;
10my $texFileName ;
11my $titleText ;
12my $numColumns ;
13
14my $streetFile ;
15my $poiFile ;
16my $texFile ;
17
18
19($streetFileName, $poiFileName, $titleText, $pdfFileName, $numColumns) = @ARGV ;
20
21
22print "$streetFileName, $poiFileName, $titleText, $pdfFileName, $numColumns\n" ;
23
24$texFileName = $pdfFileName ;
25$texFileName =~ s/.pdf/.tex/ ;
26
27open ($texFile, ">", $texFileName) or die ("can't open tex output file") ;
28print $texFile "\\documentclass[a4paper,12pt]{book}\n" ;
29print $texFile "\\usepackage{multicol}\n" ;
30print $texFile "\\usepackage[utf8]{inputenc}\n" ;
31print $texFile "\\usepackage[top=2.5cm,bottom=2cm,left=3cm,right=2cm]{geometry}\n" ;
32print $texFile "\\columnsep7mm\n" ;
33print $texFile "\\begin{document}\n" ;
34print $texFile "\\section*{$titleText}\n" ;
35print $texFile "\n" ;
36
37print $texFile "\\tiny\n" ;
38print $texFile "Data CC-BY-SA www.openstreetmap.org\n" ;
39print $texFile "\\normalsize\n\n" ;
40
41# streets
42if ($streetFileName ne "none") {
43        my $result = open ($streetFile, "<", $streetFileName) ;
44        if ($result) {
45                my $line ;
46                print $texFile "\\begin{multicols}{$numColumns}[\\subsubsection*{Streets}]\n" ;
47                print $texFile "\\tiny\n" ;
48                while ($line = <$streetFile>) {
49                        $line = convert ($line) ;
50                        my (@entry) = split /\t/, $line ;
51                        print $texFile $entry[0] ;
52                        print $texFile " \\dotfill " ;
53                        print $texFile $entry[1], " \\\\\n" ;
54                }
55                close ($streetFile) ;
56                print $texFile "\\normalsize\n" ;
57                print $texFile "\\end{multicols}\n" ;
58        }
59        else {
60                print "ERROR: street file $streetFile could not be opened." ;
61        }
62}
63
64
65
66
67# POIs
68if ($poiFileName ne "none") {
69        my $result = open ($poiFile, "<", $poiFileName) ;
70        if ($result) {
71                my $line ;
72                print $texFile "\\begin{multicols}{$numColumns}[\\subsubsection*{Points of interest}]\n" ;
73                print $texFile "\\tiny\n" ;
74                while ($line = <$poiFile>) {
75                        $line = convert ($line) ;
76                        my @entry = split /\t/, $line ;
77                        print $texFile $entry[0] ;
78                        print $texFile " \\dotfill " ;
79                        print $texFile $entry[1], "\\\\\n" ;
80                }
81                close ($poiFile) ;
82                print $texFile "\\normalsize\n" ;
83                print $texFile "\\end{multicols}\n" ;
84        }
85        else {
86                print "ERROR: POI file $poiFile could not be opened." ;
87        }
88}
89
90
91
92
93print $texFile "\\end{document}\n" ;
94close ($texFile) ;
95print "directory tex file created.\n" ;
96
97
98my $dviFileName = $pdfFileName ;
99$dviFileName =~ s/.pdf/.dvi/ ;
100my $psFileName = $pdfFileName ;
101$psFileName =~ s/.pdf/.ps/ ;
102
103
104`latex $texFileName` ;
105print "directory dvi file created.\n" ;
106`dvips -D600 $dviFileName -o` ;
107print "directory ps file created.\n" ;
108`ps2pdf $psFileName $pdfFileName` ;
109print "directory pdf file created.\n" ;
110`rm *.dvi` ;
111`rm *.tex` ;
112`rm *.ps` ;
113`rm *.aux` ;
114`rm *.log` ;
115print "directory FINISHED.\n" ;
116
117
118sub convert {
119        my $line = shift ;
120
121        ($line) = ($line =~ /^(.*)$/ ) ;
122
123        $line =~ s/\&apos;/\'/g ;
124        $line =~ s/\&quot;/\'/g ;
125
126        return $line ;
127}
128
129
Note: See TracBrowser for help on using the repository browser.