Mercurial > emacs
annotate lispref/two-volume-cross-refs.txt @ 51415:762217a72cae
Long overdue merge.
Don't require `compile' since it seems unnecessary.
For all internal variables and functions the docstring comments have
been converted into proper docstrings
(bibtex-maintainer-address, bibtex-maintainer-salutation)
(bibtex-version): Remove support for bug reporting.
(bibtex-field-delimiters, bibtex-entry-delimiters)
(bibtex-sort-ignore-string-entries, bibtex-maintain-sorted-entries)
Replace make-variable-buffer-local by make-local-variable for
(bibtex-entry-format): New tag `required-fields'.
(bibtex-maintain-sorted-entries): New var.
(bibtex-sort-entry-class, bibtex-sort-entry-class-alist): New vars.
(bibtex-predefined-month-strings, bibtex-predefined-strings):
Make into alists with pairs (abbreviation expansion).
(bibtex-autokey-titleword-change-strings)
(bibtex-autokey-transcriptions): Make into alists.
Add new replacement pairs.
(bibtex-autokey-use-crossref): New var.
Replace bibtex-autokey-year-use-crossref-entry because updated code
for autokey generation handles crossrefs independently of
particular fields.
(bibtex-reference-key, bibtex-mode-syntax-table):
Remove = because it can't be part of a string's key.
(bibtex-complete-key-cleanup): New var.
(bibtex-complete): Merge bibtex-complete-string and bibtex-complete-key
into it (and bind to M-tab).
(bibtex-valid-entry-re, bibtex-any-valid-entry-re)
(bibtex-valid-entry-whitespace-re, bibtex-empty-field-re)
(bibtex-quoted-string-re): New vars.
(bibtex-field-name-for-parsing): Don't make-variable-buffer-local.
(zmacs-regions): Declare to quieten the byte-compiler.
(bibtex-comment-start): Don't include the space.
(bibtex-font-lock-syntactic-keywords): New var.
(bibtex-font-lock-keywords): Remove the entry for @Comment.
(bibtex-parse-field-string): Merge the functionality of
bibtex-parse-field-string-braced, bibtex-parse-quoted-string and
bibtex-parse-field-string-quoted.
(bibtex-search-forward-field-string): Remove.
(bibtex-parse-association): Use when.
(bibtex-parse-field-name): Use when.
(bibtex-parse-field-text): Use when and cond.
(bibtex-parse-field): Use let.
(bibtex-search-forward-field, bibtex-search-backward-field):
Make bound optional, use let, setq, and cddr.
(bibtex-start-of-field, bibtex-start-of-name-in-field)
(bibtex-end-of-name-in-field): Use nth.
(bibtex-name-in-field, bibtex-text-in-field-bounds)
(bibtex-text-in-field, bibtex-type-in-head, bibtex-key-in-head)
(bibtex-text-in-string): New functions.
(bibtex-reference-key-in-string): New fun. Merge of
bibtex-start-of-reference-key-in-string and
bibtex-end-of-reference-key-in-string.
(bibtex-parse-string-prefix): Use let and when.
(bibtex-parse-string-postfix): Use when.
(bibtex-search-forward-string, bibtex-search-backward-string):
Use save-excursion and setq.
(bibtex-member-of-regexp): Use let.
(bibtex-assoc-of-regexp): Use caar und let.
(bibtex-skip-to-valid-entry): Return buffer position.
(bibtex-map-entries): Use save-excursion.
(bibtex-progress-message): Simplify.
(bibtex-search-entry): Use skip-chars-forward, when, save-match-data.
(bibtex-move-outside-of-entry): Handle the case that point is before
first entry.
(bibtex-enclosing-field): Use save-excursion, when.
(bibtex-format-field-delimiters): Merge into bibtex-format-entry.
(bibtex-enclosing-entry-maybe-empty-head): Simplify.
(bibtex-format-entry): Simplify. Handle new tag required-fields of
bibtex-entry-format.
(bibtex-autokey-abbrev): Accept negative values of len.
(bibtex-autokey-get-field, bibtex-autokey-demangle-title): New funs.
(bibtex-autokey-get-namefield, bibtex-autokey-get-namelist)
(bibtex-autokey-get-yearfield-digits, bibtex-autokey-get-yearfield)
(bibtex-autokey-get-titlestring): Remove.
(bibtex-autokey-get-names): Simplify.
(bibtex-autokey-get-titles): Rename to bibtex-autokey-get-title.
(bibtex-autokey-demangle-name): Simplify, avoid error messages.
(bibtex-generate-autokey): Simplify.
(bibtex-parse-keys): Simplify, use push.
(bibtex-parse-strings): New fun similar to bibtex-parse-keys.
(bibtex-string-files-init): New fun.
(bibtex-parse-buffers-stealthily): Use bibtex-parse-keys,
bibtex-string-files-init and bibtex-parse-strings.
(bibtex-complete): Rename to bibtex-complete-internal, use push,
bibtex-reference-key-in-string, no sorting.
(bibtex-complete-string-cleanup): New fun, displays expansion of
completed strings.
(bibtex-choose-completion-string): New fun. Required for
choose-completion-string-functions.
(bibtex-do-auto-fill): Remove. Set fill-prefix in bibtex-mode.
(bibtex-pop): Simplify.
(bibtex-mode): Move setting of bibtex-string to bibtex-parse-strings.
Set choose-completion-string-functions.
(bibtex-print-help-message,bibtex-make-field, bibtex-end-of-entry)
(bibtex-count-entries): Simplify.
(bibtex-entry-index, bibtex-lessp): New funs for generalized sorting
scheme of indices, see bibtex-maintain-sorted-entries.
(bibtex-sort-buffer): Use bibtex-lessp for sorting.
(bibtex-find-crossref, bibtex-find-entry): New funs.
(bibtex-find-entry-location): Rename to bibtex-prepare-new-entry, use
bibtex-lessp, Simplify.
(bibtex-validate): Simplify. Fixe bug of internal variable
questionable-month.
(bibtex-remove-OPT-or-ALT): Use when.
(bibtex-remove-delimiters, bibtex-kill-field, bibtex-kill-entry)
(bibtex-clean-entry, bibtex-fill-entry, bibtex-reformat): Simplify.
(bibtex-convert-alien): Use deactivate-mark rather than the
non-existent bibtex-mark-active variable.
(bibtex-complete-string, bibtex-complete-key): Merge into new
`smart' defun bibtex-complete.
(bibtex-String): Update for new sorting scheme, distinguish empty and
non-empty key strings.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Mon, 02 Jun 2003 22:30:09 +0000 |
parents | 23a1cea22d13 |
children | 9f4849fee703 |
rev | line source |
---|---|
41193 | 1 Two Volume Cross References |
2 =========================== | |
3 | |
4 18 March 1992 | |
5 | |
6 This enables you to create manuals in *two* volumes, with tables of | |
7 contents, cross references, and indices in each volume referring to | |
8 *both* volumes. | |
9 | |
10 The procedure is tedious. However, the resulting two volumes are | |
11 conveniently organized. Each has an index of the whole two volumes. | |
12 Each volume starts with page 1. (I don't like multi-volume works | |
13 where each volume starts with a higher page number since I find it | |
14 harder to go to the right place in the volume.) | |
15 | |
16 References to the same volume are just the page number; references to | |
17 the other volume are a volumne number (in Roman numerals) preceding | |
18 the page number. | |
19 | |
20 For example, in Volume I: | |
21 | |
22 list length ......... 90 | |
23 list motion ......II:117 | |
24 | |
25 and in Volume II: | |
26 | |
27 list length ....... I:90 | |
28 list motion .........117 | |
29 | |
30 All other references and the table of contents work the same way. I | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
41199
diff
changeset
|
31 find this *very* helpful. |
41193 | 32 |
33 | |
34 In brief: you run tex on a .texi file with | |
35 | |
36 a. redefined @contents and @summarycontents inputting elisp-toc-2vol.toc file | |
37 b. redone .aux file | |
38 c. redone .fns file | |
39 | |
40 | |
41 Here are the steps in detail: | |
42 | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
43 % tex vol1.texi |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
44 % texindex vol1.?? |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
45 % tex vol1.texi |
41193 | 46 |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
47 % tex vol2.texi |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
48 % texindex vol2.?? |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
49 % tex vol2.texi |
41193 | 50 |
51 ### Create .aux files with volume numbers for other volume. | |
52 | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
53 % cp vol1.aux elisp1-aux |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
54 % cp vol2.aux elisp2-aux |
41193 | 55 |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
56 % cp vol1.aux elisp1-aux-vol-number-added |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
57 % cp vol2.aux elisp2-aux-vol-number-added |
41193 | 58 |
59 on elisp1-aux-vol-number-added | |
60 (volume-aux-markup 1) see defun for volum-aux-markup below. | |
61 to create elisp1-aux-vol-number-added | |
62 | |
63 on elisp2-aux-vol-number-added | |
64 (volume-aux-markup 2) | |
65 to create elisp2-aux-vol-number-added | |
66 | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
67 insert elisp2-aux-vol-number-added into vol1.aux (append) |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
68 insert elisp1-aux-vol-number-added into vol2.aux (prepend) |
41193 | 69 |
70 (so you dont have to do it again) | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
71 % cp vol1.aux elisp1-aux-2vol-ready |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
72 % cp vol2.aux elisp2-aux-2vol-ready |
41193 | 73 |
74 | |
75 ### Create .fn files with volume numbers for other volume. | |
76 | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
77 % cp vol1.fn elisp1-fn |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
78 % cp vol2.fn elisp2-fn |
41193 | 79 |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
80 % cp vol1.fn elisp1-fn-vol-number-added |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
81 % cp vol2.fn elisp2-fn-vol-number-added |
41193 | 82 |
83 on elisp1-fn-vol-number-added | |
84 (volume-index-markup "I") | |
85 to create elisp1-fn-vol-number-added | |
86 | |
87 on elisp2-fn-vol-number-added | |
88 (volume-index-markup "II") | |
89 to create elisp2-fn-vol-number-added | |
90 | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
91 insert elisp2-fn-vol-number-added into vol1.fn: do following `cat' |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
92 insert elisp1-fn-vol-number-added into vol2.fn: do following `cat' |
41193 | 93 |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
94 % cat elisp2-fn-vol-number-added >> vol1.fn |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
95 % cat elisp1-fn-vol-number-added >> vol2.fn |
41193 | 96 |
97 Be sure to handle special case entries by hand. | |
98 Be sure that .fn file has no blank lines. | |
99 | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
100 % texindex vol1.fn |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
101 % texindex vol2.fn |
41193 | 102 |
103 (so you dont have to do it again) | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
104 % cp vol1.fns elisp1-fns-2vol-ready |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
105 % cp vol2.fns elisp2-fns-2vol-ready |
41193 | 106 |
107 ### Create merged .toc file with volume number headings. | |
108 | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
109 append vol2.toc to vol1.toc with following `cat' |
41193 | 110 |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
111 % cat vol1.toc vol2.toc > elisp-toc-2vol.toc |
41193 | 112 |
113 and edit in Volume titles | |
114 | |
115 \unnumbchapentry {Volume 1}{} | |
116 \unnumbchapentry {}{} | |
117 | |
118 \unnumbchapentry {Index}{295} | |
119 \unnumbchapentry {}{} | |
120 \unnumbchapentry {Volume 2}{} | |
121 \unnumbchapentry {}{} | |
122 | |
123 If you want to put in volume numbers for TOC, then do this: | |
124 Create volume specific .toc files with volume numbers in them. | |
125 | |
126 % cp elisp-toc-2vol.toc elisp1-toc.toc | |
127 % cp elisp-toc-2vol.toc elisp2-toc.toc | |
128 | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
41199
diff
changeset
|
129 Use keyboard macro to put I: in first half of elisp1-toc.toc and |
41193 | 130 II: in first half of elisp2-toc.toc |
131 | |
132 Copy the tocs to something you can remember more easily | |
133 | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
41199
diff
changeset
|
134 % cp elisp2-toc.toc elisp1-toc-ready.toc |
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
41199
diff
changeset
|
135 % cp elisp1-toc.toc elisp2-toc-ready.toc |
41193 | 136 |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
41199
diff
changeset
|
137 Then, edit vol1.texi to input elisp1-toc-ready.toc |
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
41199
diff
changeset
|
138 and vol2.texi to input elisp2-toc-ready.toc |
41193 | 139 |
140 | |
141 ### Now format the two volumes: | |
142 | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
143 % cp elisp1-aux-2vol-ready vol1.aux |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
144 % cp elisp2-aux-2vol-ready vol2.aux |
41193 | 145 |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
146 % tex vol1.texi |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
147 % tex vol2.texi |
41193 | 148 |
149 | |
150 | |
151 For every additional run: | |
152 | |
153 ### recopy aux files so the correct ones are read: | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
154 % cp elisp1-aux-2vol-ready vol1.aux |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
155 % cp elisp2-aux-2vol-ready vol2.aux |
41193 | 156 |
157 Do not run texindex. Then proper sorted index will stay. | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
158 else do: % cp elisp2-fns-2vol-ready vol2.fns |
41193 | 159 |
160 Do not change the .texi files; they will call the elisp-toc-2vol.toc file. | |
161 | |
41199
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
162 % tex vol1.texi |
bdecbfc5cb92
Replace elisp-vol? with vol?, per renamed files.
Eli Zaretskii <eliz@gnu.org>
parents:
41193
diff
changeset
|
163 % tex vol2.texi |
41193 | 164 |
165 ================================================================ | |
166 | |
167 @c ================================================================ | |
168 @tex | |
169 % Special @contents command | |
170 % This inputs fixed up table of contents file rather than create new one. | |
171 \global\def\contents{% | |
172 \startcontents{Table of Contents}% | |
173 \input elisp-toc-2vol.toc | |
174 \endgroup | |
175 \vfill \eject | |
176 } | |
177 | |
178 % Special @summarycontents command | |
179 % This inputs fixed up table of contents file rather than create new one. | |
180 \outer\def\summarycontents{% | |
181 \startcontents{Short Contents}% | |
182 % | |
183 \let\chapentry = \shortchapentry | |
184 \let\unnumbchapentry = \shortunnumberedentry | |
185 % We want a true roman here for the page numbers. | |
186 \secfonts | |
187 \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl | |
188 \rm | |
189 \advance\baselineskip by 1pt % Open it up a little. | |
190 \def\secentry ##1##2##3##4{} | |
191 \def\unnumbsecentry ##1##2{} | |
192 \def\subsecentry ##1##2##3##4##5{} | |
193 \def\unnumbsubsecentry ##1##2{} | |
194 \def\subsubsecentry ##1##2##3##4##5##6{} | |
195 \def\unnumbsubsubsecentry ##1##2{} | |
196 \input elisp-toc-2vol.toc | |
197 \endgroup | |
198 \vfill \eject | |
199 } | |
200 @end tex | |
201 @c ================================================================ | |
202 | |
203 | |
204 ================================================================ | |
205 | |
206 | |
207 (defun volume-aux-markup (arg) | |
208 "Append `vol. NUMBER' to page number. | |
209 Apply to aux file that you save. | |
210 Then insert marked file into other volume's .aux file." | |
211 (interactive "sType volume number, 1 or 2: " ) | |
212 (goto-char (point-min)) | |
213 (while (search-forward "-pg" nil t) | |
214 (end-of-line 1) | |
215 (delete-backward-char 1 nil) | |
216 (insert ", vol.'tie" arg "}"))) | |
217 | |
218 (defun volume-index-markup (arg) | |
219 "Prepend `NUMBER:' to page number. Use Roman Numeral. | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
41199
diff
changeset
|
220 Apply only to unsorted index file, |
41193 | 221 Then insert marked file into other volume's unsorted index file. |
222 Then run texindex on that file and save." | |
223 (interactive | |
224 "sType volume number, roman number I or II: " ) | |
225 (goto-char (point-min)) | |
226 (while (search-forward "\\entry" nil t) | |
227 (search-forward "}{" (save-excursion (end-of-line) (point)) nil) | |
228 (insert arg ":"))) | |
229 | |
230 | |
231 ================================================================ | |
232 | |
233 | |
234 The steps: | |
235 | |
236 1. Run TeX, texindex and TeX on file1. | |
237 2. Run TeX, texindex and TeX on file2. | |
238 | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
41199
diff
changeset
|
239 3. Copy both .aux files into specially named files |
41193 | 240 |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
41199
diff
changeset
|
241 4. In the case of the elisp ref manual, |
41193 | 242 |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
41199
diff
changeset
|
243 copy the *unsorted* function index files into specially named files |
41193 | 244 (no other index used in elisp ref manual) |
245 | |
246 | |
247 5. For aux files: | |
248 | |
249 Run a function on the specially named .aux files to label each | |
250 entry according to volume. Save these files. | |
251 | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
41199
diff
changeset
|
252 i.e., convert |
41193 | 253 'xrdef {Special-pg}{7} to 'xrdef {Special-pg}{7, vol.'tie1} |
254 | |
255 5a.Insert each specially named .aux file into the regular .aux file of | |
256 the other volume. | |
257 | |
258 6. For index files: | |
259 | |
260 Run a function on the specially named unsorted index files to label | |
261 each entry according to volume. Save these files. | |
262 | |
263 6b.Insert each specially named marked unsorted index file into the | |
264 regular unsorted file of the other volume. Run texindex on this | |
265 | |
266 7. Insert the other volumes .toc file into the .toc, edit, and rename to | |
267 elisp-toc-2vol.toc | |
268 | |
269 7a. insert special @contents and @summarycontents defs into .texi files. | |
270 | |
271 8. Run TeX on each .texi file. | |
272 | |
273 ================ | |
274 | |
275 | |
276 | |
277 Here is the discursive commentary: | |
278 | |
279 I've been running some small test files, called test1.texi and | |
280 test2.texi. As far as I can see, if we run tex on the two test files, | |
281 tex creates a .aux for each that includes the names of all the nodes | |
282 in that file. The node names are used for cross references. | |
283 | |
284 If you insert the .aux file for the second test file, test2.aux, into | |
285 the .aux file for the first test file, test1.aux, then when you next | |
286 run TeX on the first test file, test1.texi, the second volume cross | |
287 references are inserted. | |
288 | |
289 You can edit the text of the cross reference in test2.aux to include | |
290 the volume number. | |
291 | |
292 For example, you can take the following two lines from test1.texi and | |
293 insert them into test2.texi: | |
294 | |
295 'xrdef {Special-pg}{7} | |
296 'xrdef {Special-snt}{Section'tie1.6} | |
297 | |
298 You can re-edit this to show that the page is in volume 1: | |
299 | |
300 'xrdef {Special-pg}{7, vol.'tie1} | |
301 'xrdef {Special-snt}{Section'tie1.6} | |
302 | |
303 (The 'tie is a TeX special command to keep the number tied on one | |
304 line to the previous word. I don't know if it works after a period in | |
305 the "vol." but figure it is worth trying. {The ' is the @ of .aux files.} | |
306 Apparently 'tie is like the tilde in plain tex; in texinfo.tex, the | |
307 definition for 'tie is the following: | |
308 | |
309 \def\tie{\penalty 10000\ } % Save plain tex definition of ~. | |
310 | |
311 ) | |
312 | |
313 After running tex on the test2.texi file with the augmented test2.aux | |
314 file, you can see the following in the resulting DVI file: | |
315 | |
316 See Section 1.6 [Special], page 7, vol. 1 | |
317 | |
318 Note that TeX rewrites the .aux file each time TeX is run, so after | |
319 running Tex using an .aux file augmented with the .aux file from the | |
320 other volume, the new .aux file will *lack* the other volumes cross | |
321 references. Save your augmented .aux file in some other name for | |
322 another run! |