120 lines
2.8 KiB
Perl
Executable File
120 lines
2.8 KiB
Perl
Executable File
|
|
use strict;
|
|
use warnings;
|
|
|
|
use OSM::osm 8.3;
|
|
|
|
my $version = "1.00";
|
|
|
|
my $streetFileName;
|
|
my $poiFileName;
|
|
my $pdfFileName;
|
|
my $texFileName;
|
|
my $titleText;
|
|
my $numColumns;
|
|
|
|
my $streetFile;
|
|
my $poiFile;
|
|
my $texFile;
|
|
|
|
|
|
($streetFileName, $poiFileName, $titleText, $pdfFileName, $numColumns)= @ARGV;
|
|
|
|
|
|
print "mwDir.pl: $streetFileName, $poiFileName, $titleText, $pdfFileName, $numColumns\n";
|
|
|
|
$texFileName = $pdfFileName;
|
|
$texFileName =~ s/.pdf/.tex/;
|
|
|
|
open($texFile, ">", $texFileName)or die("can't open tex output file");
|
|
print $texFile "\\documentclass[a4paper,12pt]{book}\n";
|
|
print $texFile "\\usepackage{multicol}\n";
|
|
print $texFile "\\usepackage[utf8]{inputenc}\n";
|
|
print $texFile "\\usepackage[top=2.5cm,bottom=2cm,left=3cm,right=2cm]{geometry}\n";
|
|
print $texFile "\\columnsep7mm\n";
|
|
print $texFile "\\begin{document}\n";
|
|
print $texFile "\\section*{$titleText}\n";
|
|
print $texFile "\n";
|
|
|
|
print $texFile "\\tiny\n";
|
|
print $texFile "Data CC-BY-SA www.openstreetmap.org\n";
|
|
print $texFile "\\normalsize\n\n";
|
|
|
|
# streets
|
|
if($streetFileName ne "none"){
|
|
my $result = open($streetFile, "<", $streetFileName);
|
|
if($result){
|
|
my $line;
|
|
print $texFile "\\begin{multicols}{$numColumns}[\\subsubsection*{Streets}]\n";
|
|
print $texFile "\\tiny\n";
|
|
while($line = <$streetFile>){
|
|
$line = convertToLatex($line);
|
|
my(@entry)= split /\t/, $line;
|
|
print $texFile $entry[0];
|
|
print $texFile " \\dotfill ";
|
|
print $texFile $entry[1], " \\\\\n";
|
|
}
|
|
close($streetFile);
|
|
print $texFile "\\normalsize\n";
|
|
print $texFile "\\end{multicols}\n";
|
|
}
|
|
else{
|
|
print "WARNING: street file $streetFile could not be opened.";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
# POIs
|
|
if($poiFileName ne "none"){
|
|
my $result = open($poiFile, "<", $poiFileName);
|
|
if($result){
|
|
my $line;
|
|
print $texFile "\\begin{multicols}{$numColumns}[\\subsubsection*{Points of interest}]\n";
|
|
print $texFile "\\tiny\n";
|
|
while($line = <$poiFile>){
|
|
$line = convertToLatex($line);
|
|
my @entry = split /\t/, $line;
|
|
print $texFile $entry[0];
|
|
print $texFile " \\dotfill ";
|
|
print $texFile $entry[1], "\\\\\n";
|
|
}
|
|
close($poiFile);
|
|
print $texFile "\\normalsize\n";
|
|
print $texFile "\\end{multicols}\n";
|
|
}
|
|
else{
|
|
print "WARNING: POI file $poiFile could not be opened.";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
print $texFile "\\end{document}\n";
|
|
close($texFile);
|
|
print "directory tex file created.\n";
|
|
|
|
|
|
my $dviFileName = $pdfFileName;
|
|
$dviFileName =~ s/.pdf/.dvi/;
|
|
my $psFileName = $pdfFileName;
|
|
$psFileName =~ s/.pdf/.ps/;
|
|
|
|
|
|
`latex $texFileName`;
|
|
print "directory dvi file created.\n";
|
|
`dvips -D600 $dviFileName -o`;
|
|
print "directory ps file created.\n";
|
|
`ps2pdf $psFileName $pdfFileName`;
|
|
print "directory pdf file created.\n";
|
|
`rm *.dvi`;
|
|
`rm *.tex`;
|
|
`rm *.ps`;
|
|
`rm *.aux`;
|
|
`rm *.log`;
|
|
print "directory FINISHED.\n";
|
|
|
|
|