410c3baa10fcd5c85d16d2f77ad79641159be427
[exim.git] / doc / doc-scripts / DoConts
1 #! /usr/bin/perl -w
2 # $Cambridge: exim/doc/doc-scripts/DoConts,v 1.1 2004/10/07 15:04:35 ph10 Exp $
3
4 $style = (@ARGV > 0)? $ARGV[0] : "a4ps";
5
6 open(IN, "z-rawindex")   || die "Can't open z-rawindex\n";
7 open(OUT, ">z-contents") || die "Can't open z-contents\n";
8
9 print OUT <<'EOF';
10 .if ~~sys.fancy
11 .linelength ~~sys.linelength + 0.2in
12 .pagedepth ~~sys.pagedepth - 0.2in
13 .linedepth 12.24
14 .fi
15 .include "markup.sg"
16 .set chapter -1
17 .set p 0
18 .format p roman
19 .tabset 2em 2em
20 .
21 .foot
22 .set p ~~sys.pagenumber
23 $c [~~p]
24 .endfoot
25 .
26 .chapter Contents
27 .disable filling
28 .justify left
29 EOF
30
31 while(<IN>)
32   {
33   if (/\$e/)
34     {
35     s/\$e\s*$//;                      # "see also" lines have no line number
36     s/--\s*\d+$//;                    # remove "extra" number for index page 
37
38     s/\n$//;                          # trailing newline
39     
40     if (!/^\$/)
41       {
42       print OUT ".blank\n";
43       print OUT ".if ~~sys.leftonpage < 2*~~sys.linedepth\n";
44       print OUT ".newpage\n";
45       print OUT ".fi\n";  
46       print OUT "\$shead\{$_\}\n"; 
47       print OUT ".blank\n";
48       }  
49     else
50       { 
51       print OUT "$_\n";
52       } 
53     }  
54   } 
55
56 close(IN);
57 close(OUT);
58
59 system("sgcal z-contents -to zc-gcode -style $style -index /dev/null");
60 if ($style eq "a4ps")
61   {
62   system("sgtops zc-gcode -to zc-ps");
63   print "PostScript in zc-ps\n";
64   }
65 else
66   {
67   system("mv -f zc-gcode zc-txt");
68   print "Text in zc-txt\n";       
69   }
70
71 # End