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)