Commit | Line | Data |
---|---|---|
495ae4b0 PH |
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 |