Mercurial > emacs
comparison lispref/two-volume-cross-refs.txt @ 78003:1c1d498b5458
update two-volume material for printing
author | Karl Berry <karl@gnu.org> |
---|---|
date | Wed, 13 Jun 2007 00:44:05 +0000 |
parents | 9f4849fee703 |
children | 63591152f3cb |
comparison
equal
deleted
inserted
replaced
78002:a55abbc28a7f | 78003:1c1d498b5458 |
---|---|
3 See end for copying conditions. | 3 See end for copying conditions. |
4 | 4 |
5 Two Volume Cross References | 5 Two Volume Cross References |
6 =========================== | 6 =========================== |
7 | 7 |
8 18 March 1992 | 8 12 June 2007 (karl) |
9 | |
10 For lispref 2.9 (for Emacs 22, June 2007), I created a very ugly | |
11 Makefile, in the file two-volume.make, to encapsulate all the steps | |
12 below, without manual intervention. In theory, simply running "make -f | |
13 two-volume.make" should create a vol1.pdf and vol2.pdf with all the | |
14 niceties worked out. | |
15 | |
16 One issue not explicitly discussed below is getting page numbers right. | |
17 It's not enough to go through the whole process. You have to go through | |
18 the whole process twice -- otherwise, some index entries and/or toc | |
19 entries will be off by one. See two-volume.make for a few more comments. | |
20 | |
21 For future editions, it should suffice to update the usual things in | |
22 vol[12].texi (as well as elisp.texi). That was my hope, anyway. | |
23 | |
24 | |
25 18 March 1992 (bob) | |
9 | 26 |
10 This enables you to create manuals in *two* volumes, with tables of | 27 This enables you to create manuals in *two* volumes, with tables of |
11 contents, cross references, and indices in each volume referring to | 28 contents, cross references, and indices in each volume referring to |
12 *both* volumes. | 29 *both* volumes. |
13 | 30 |
55 ### Create .aux files with volume numbers for other volume. | 72 ### Create .aux files with volume numbers for other volume. |
56 | 73 |
57 % cp vol1.aux elisp1-aux | 74 % cp vol1.aux elisp1-aux |
58 % cp vol2.aux elisp2-aux | 75 % cp vol2.aux elisp2-aux |
59 | 76 |
60 % cp vol1.aux elisp1-aux-vol-number-added | 77 % cp vol1.aux elisp1-aux-vol-added |
61 % cp vol2.aux elisp2-aux-vol-number-added | 78 % cp vol2.aux elisp2-aux-vol-added |
62 | 79 |
63 on elisp1-aux-vol-number-added | 80 on elisp1-aux-vol-number-added |
64 (volume-aux-markup 1) see defun for volum-aux-markup below. | 81 (volume-aux-markup 1) see defun for volume-aux-markup below. |
65 to create elisp1-aux-vol-number-added | 82 to create elisp1-aux-vol-added |
66 | 83 |
67 on elisp2-aux-vol-number-added | 84 on elisp2-aux-vol-number-added |
68 (volume-aux-markup 2) | 85 (volume-aux-markup 2) |
69 to create elisp2-aux-vol-number-added | 86 to create elisp2-aux-vol-added |
70 | 87 |
71 insert elisp2-aux-vol-number-added into vol1.aux (append) | 88 insert elisp2-aux-vol-added into vol1.aux (append) |
72 insert elisp1-aux-vol-number-added into vol2.aux (prepend) | 89 insert elisp1-aux-vol-added into vol2.aux (prepend) |
73 | 90 |
74 (so you dont have to do it again) | 91 (so you dont have to do it again) |
75 % cp vol1.aux elisp1-aux-2vol-ready | 92 % cp vol1.aux elisp1-aux-ready |
76 % cp vol2.aux elisp2-aux-2vol-ready | 93 % cp vol2.aux elisp2-aux-ready |
77 | 94 |
78 | 95 |
79 ### Create .fn files with volume numbers for other volume. | 96 ### Create .fn files with volume numbers for other volume. |
80 | 97 |
81 % cp vol1.fn elisp1-fn | 98 % cp vol1.fn elisp1-fn |
163 | 180 |
164 Do not change the .texi files; they will call the elisp-toc-2vol.toc file. | 181 Do not change the .texi files; they will call the elisp-toc-2vol.toc file. |
165 | 182 |
166 % tex vol1.texi | 183 % tex vol1.texi |
167 % tex vol2.texi | 184 % tex vol2.texi |
168 | |
169 ================================================================ | |
170 | |
171 @c ================================================================ | |
172 @tex | |
173 % Special @contents command | |
174 % This inputs fixed up table of contents file rather than create new one. | |
175 \global\def\contents{% | |
176 \startcontents{Table of Contents}% | |
177 \input elisp-toc-2vol.toc | |
178 \endgroup | |
179 \vfill \eject | |
180 } | |
181 | |
182 % Special @summarycontents command | |
183 % This inputs fixed up table of contents file rather than create new one. | |
184 \outer\def\summarycontents{% | |
185 \startcontents{Short Contents}% | |
186 % | |
187 \let\chapentry = \shortchapentry | |
188 \let\unnumbchapentry = \shortunnumberedentry | |
189 % We want a true roman here for the page numbers. | |
190 \secfonts | |
191 \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl | |
192 \rm | |
193 \advance\baselineskip by 1pt % Open it up a little. | |
194 \def\secentry ##1##2##3##4{} | |
195 \def\unnumbsecentry ##1##2{} | |
196 \def\subsecentry ##1##2##3##4##5{} | |
197 \def\unnumbsubsecentry ##1##2{} | |
198 \def\subsubsecentry ##1##2##3##4##5##6{} | |
199 \def\unnumbsubsubsecentry ##1##2{} | |
200 \input elisp-toc-2vol.toc | |
201 \endgroup | |
202 \vfill \eject | |
203 } | |
204 @end tex | |
205 @c ================================================================ | |
206 | |
207 | 185 |
208 ================================================================ | 186 ================================================================ |
209 | 187 |
210 | 188 |
211 (defun volume-aux-markup (arg) | 189 (defun volume-aux-markup (arg) |