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

Last change on this file since 34621 was 26778, checked in by gary68, 8 years ago

gpl added to some files

  • Property svn:executable set to *
File size: 3.7 KB
Line 
1#
2# PERL by gary68
3#
4#
5#
6#
7# Copyright (C) 2011, Gerhard Schwanz
8#
9# This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the
10# Free Software Foundation; either version 3 of the License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>
16#
17
18
19use strict ;
20use warnings ;
21
22my $version = "1.05" ;
23
24my $streetFileName ;
25my $poiFileName ;
26my $pdfFileName ;
27my $texFileName ;
28my $titleText ;
29my $numColumns ;
30
31my $streetFile ;
32my $poiFile ;
33my $texFile ;
34
35
36($streetFileName, $poiFileName, $titleText, $pdfFileName, $numColumns) = @ARGV ;
37
38
39print "$streetFileName, $poiFileName, $titleText, $pdfFileName, $numColumns\n" ;
40
41$texFileName = $pdfFileName ;
42$texFileName =~ s/.pdf/.tex/ ;
43
44open ($texFile, ">", $texFileName) or die ("can't open tex output file") ;
45print $texFile "\\documentclass[a4paper,12pt]{book}\n" ;
46print $texFile "\\usepackage{multicol}\n" ;
47print $texFile "\\usepackage[utf8]{inputenc}\n" ;
48print $texFile "\\usepackage[top=2.5cm,bottom=2cm,left=3cm,right=2cm]{geometry}\n" ;
49print $texFile "\\columnsep7mm\n" ;
50print $texFile "\\begin{document}\n" ;
51print $texFile "\\section*{$titleText}\n" ;
52print $texFile "\n" ;
53
54print $texFile "\\tiny\n" ;
55print $texFile "Data CC-BY-SA www.openstreetmap.org\n" ;
56print $texFile "\\normalsize\n\n" ;
57
58# streets
59if ($streetFileName ne "none") {
60        my $result = open ($streetFile, "<", $streetFileName) ;
61        if ($result) {
62                my $line ;
63                print $texFile "\\begin{multicols}{$numColumns}[\\subsubsection*{Streets}]\n" ;
64                print $texFile "\\tiny\n" ;
65                while ($line = <$streetFile>) {
66                        $line = convert ($line) ;
67                        my (@entry) = split /\t/, $line ;
68                        print $texFile $entry[0] ;
69                        print $texFile " \\dotfill " ;
70                        print $texFile $entry[1], " \\\\\n" ;
71                }
72                close ($streetFile) ;
73                print $texFile "\\normalsize\n" ;
74                print $texFile "\\end{multicols}\n" ;
75        }
76        else {
77                print "ERROR: street file $streetFile could not be opened." ;
78        }
79}
80
81
82
83
84# POIs
85if ($poiFileName ne "none") {
86        my $result = open ($poiFile, "<", $poiFileName) ;
87        if ($result) {
88                my $line ;
89                print $texFile "\\begin{multicols}{$numColumns}[\\subsubsection*{Points of interest}]\n" ;
90                print $texFile "\\tiny\n" ;
91                while ($line = <$poiFile>) {
92                        $line = convert ($line) ;
93                        my @entry = split /\t/, $line ;
94                        print $texFile $entry[0] ;
95                        print $texFile " \\dotfill " ;
96                        print $texFile $entry[1], "\\\\\n" ;
97                }
98                close ($poiFile) ;
99                print $texFile "\\normalsize\n" ;
100                print $texFile "\\end{multicols}\n" ;
101        }
102        else {
103                print "ERROR: POI file $poiFile could not be opened." ;
104        }
105}
106
107
108
109
110print $texFile "\\end{document}\n" ;
111close ($texFile) ;
112print "directory tex file created.\n" ;
113
114
115my $dviFileName = $pdfFileName ;
116$dviFileName =~ s/.pdf/.dvi/ ;
117my $psFileName = $pdfFileName ;
118$psFileName =~ s/.pdf/.ps/ ;
119
120
121`latex $texFileName` ;
122print "directory dvi file created.\n" ;
123`dvips -D600 $dviFileName -o` ;
124print "directory ps file created.\n" ;
125`ps2pdf $psFileName $pdfFileName` ;
126print "directory pdf file created.\n" ;
127`rm *.dvi` ;
128`rm *.tex` ;
129`rm *.ps` ;
130`rm *.aux` ;
131`rm *.log` ;
132print "directory FINISHED.\n" ;
133
134
135sub convert {
136        my $line = shift ;
137
138        ($line) = ($line =~ /^(.*)$/ ) ;
139
140        $line =~ s/\&apos;/\'/g ;
141        $line =~ s/\&quot;/\'/g ;
142        $line =~ s/\_/ /g ;
143
144        return $line ;
145}
146
147
Note: See TracBrowser for help on using the repository browser.