Add a clash-checking mechanism to ensure we never generate the same
[sgt/halibut] / inputs / test.but
1 \title Halibut: A Test Document With A Stupidly Long Title Just To
2 See If Wrapping Titles Works OK. In Fact This Title Will Span Three
3 Lines, Not Just Two. How's That For Ludicrous?
4
5 \cfg{xhtml-leaf-smallest-contents}{2}
6 \cfg{xhtml-leaf-contains-contents}{true}
7 \cfg{info-dir-entry}{Sillinesses}{test.but}{Halibut test document}
8 \cfg{info-dir-entry}{Florbles}{test.but}{Subsection of Halibut test
9 document}{sub-sub}
10 \cfg{man-headnumbers}{true}
11
12 This paragraph is not labelled \q{preamble}, but should still appear
13 as it.
14
15 \preamble This manual is a small joke effort, designed to use every
16 feature \#{ comment } that Halibut's input format supports. Creation
17 date \date{%Y.%m.%d} (default format is \date).
18
19 \c Here is a code paragraph in the preamble, just to stress that all
20 \c things are possible. Ooh!
21
22 \copyright Copyright 1999 Simon \#{second comment}Tatham. All rights
23 reserved.
24
25 Here's another paragraph, which goes after the copyright.
26
27 \define{metacoopt} [this is a nested,
28 multi-line macro, talking about \coopt
29 a bit]
30
31 \define{coopt} co\u00F6{-o}pt
32
33 \define{eur} \u20AC{EUR }
34
35 \versionid $Id: test.but,v 1.31 2004/06/19 14:44:47 simon Exp $
36
37 \C{ch\\ap} First chapter title; for similar wrapping reasons this
38 chapter title will be ludicrously long. I wonder how much more
39 chapter title I can write before feeling silly.
40
41 This is a para\#{another{} comment}graph of text. It
42 has line\#{yet another one} breaks in between words, multiple
43 spaces (ignored), and \e{emphasised text} as well as \c{code
44 fragments}.
45
46 \cw{This} is weak code. And \k{head} contains some other stuff.
47 \K{subhead} does too.
48
49 To test the man page back end:
50
51 .Directive
52
53 'Directive
54
55 \\Sping\\Spong\\Spoing
56
57 \H{head} First section title (very long again, no prizes for
58 guessing the reason why this time, and here's yet more text to pad
59 it out to three lines of output)
60
61 \cfg{winhelp-topic}{M359HPEHGW}
62
63 Here's a code paragraph:
64
65 \c No leading spaces
66 \c One leading space
67 \c Two blank lines follow this one.
68 \c
69 \c
70 \c Two blank lines precede this one.
71 \c Two leading spaces
72 \c We can use \ { and } with impunity here.
73 \c We can use discretionary bold and italic in code paragraphs!
74 \e bbbb iiiiii
75 \c Isn't that ludicrous?
76
77 This is a list:
78
79 \b Ooh.
80
81 \b Aah.
82
83 \lcont{
84
85 This bulletted list contains a list continuation. This is an
86 additional paragraph, or more than one, indented at the same level
87 as the list items, and able to contain nested sublists and other
88 features. For example, here's a code paragraph:
89
90 \c spingle:~$ whoami
91 \c spoggler
92
93 And here's a sublist. Numbered, just for variety.
94
95 \n One.
96
97 \lcont{
98
99 \n 1a.
100
101 \n 1b.
102
103 \lcont{
104 \c Code
105 \c Paragraph
106 }
107
108 \n 1c.
109
110 \lcont{This is an even sillier one: a continuation of a list item in
111 a continuation of a list item in a continuation of a list item!}
112
113 }
114
115 \n Two.
116
117 \n Threeeee!
118
119 }
120
121 \b Eek.
122
123 This is a horizontal rule:
124
125 \rule
126
127 This is a numbered list:
128
129 \n Ooh.
130
131 \n{keyword} Aah.
132
133 \n Eek. \q{Aah} is point \k{keyword}.
134
135 This is a description list:
136
137 \dt FISH
138
139 \dd A piscine creature, often to be found swimming aimlessly around
140 in the sea eating things and not contributing to the global economy.
141
142 \lcont{
143
144 Here's another of those funky list continuation things, just to keep
145 Halibut on its toes.
146
147 }
148
149 \dt BADGER
150
151 \dd A non-piscine creature, often to be found snuffling around on
152 land, not contributing to the global economy, and not even swimming
153 to make up for it. I don't know. These mammals. Pa-thetic.
154
155 \dt "SAUSAGE SALESMAN"
156
157 \dd An exemplary contributor to the global economy. Unless he's CMOT
158 Dibbler.
159
160 A-paragraph-full-of-hyphens-to-test-the-idea-that-word-wrapping-can-happen-somewhere-in-all-this-hyphenatory-nonsense.
161
162 A\-paragraph\-full\-of\-nonbreaking\-hyphens\-to\-test\-the\-idea\-that\-word\-wrapping\-misses\-them.
163
164 A\_paragraph\_full\_of\_nonbreaking\_spaces\_to\_test\_the\_idea\_that\_word\_wrapping\_misses\_them\_too.
165
166 Use of macros: let's talk about \coopt. And about \coopt some more.
167 And a nested macro: \metacoopt.
168
169 A slightly more difficult macro: \eur\.2500.
170
171 Test of input character set switching.
172
173 \n 8859 character in ASCII mode: expect nothing useful. [coöpt]
174
175 \cfg{input-charset}{ISO-8859-1}
176
177 \n 8859 character in 8859 mode: expect the right thing. [coöpt]
178
179 \cfg{input-charset}{UTF-8}
180
181 \n 8859 character in UTF-8 mode: expect the wrong thing. [coöpt]
182
183 \cfg{silliness}{coöpt}
184
185 \n UTF-8 sequence in UTF-8 mode: expect the right thing again. [coöpt]
186
187 \cfg{input-charset}{ASCII}
188
189 Back to ASCII again.
190
191 Oh, while I'm here: some special characters. The \\, \{ and \}
192 characters, to be precise. And their code equivalents, \c{\\},
193 \i\c{\{}, \c{\}}.
194
195 \S{subhead} First subheading
196
197 So here's a \I{subheading}\I{subsection}subsection. Just
198 incidentally, \q{this} is in quotes. \ii{Those} quotes had better work
199 in all formats.
200
201 We'll try for some Unicode here: \i{Schr\u00F6{oe}dinger}.
202
203 An index tag containing non-alternatived Unicode: \i{\u00BFChe?}
204
205 An invisible index tag: \I{she seems to have an invisible tag}yeah.
206
207 \S2{sub-sub}{Florble} Smaller heading still
208
209 A tiny section. Awww. How cute. Actually, this one's a \e{florble},
210 and here's a reference to it: \k{sub-sub}.
211
212 \A{app} Needless appendix
213
214 \# \cfg{winhelp-topic}{Y5VQEXZQVJ} (uncomment this and it clashes)
215
216 Here's an \i{appendix}, for no terribly good reason at all. See
217 __\k{book}__ (please excuse those underscores, I'm testing
218 whitespace).
219
220 It also contains a \W{http://www.tartarus.org/}{hyperlink}.
221
222 Also I'm going to index \i\c{-output} to ensure that its two
223 components are displayed as a joined-up code fragment in the index.
224
225 Here are some subsections with silly chapter titles and interesting
226 use of Unicode. The Unicode oddities are in the titles rather than
227 the body text because that way I get to test their handling in the
228 PDF document outline.
229
230 \H{app-one} The 1024 \u00D7{x} 768 screen resolution
231
232 Err.
233
234 \H{app-two} How about Spongletech\u2122{(TM)}?
235
236 Umm.
237
238 \# I'm going to label one of these with a carefully chosen fragment
239 \# name "i1", because I know this will also be generated as an index
240 \# fragment name and this allows me to test the fragment name clash
241 \# detection.
242 \#
243 \# To actually run this test you need to configure html-leaf-level
244 \# to 0 and html-template-fragment to %k.
245
246 \H{i1} Or just Erd\u0151{\u00F6{o}}s?
247
248 Ahh.
249
250 \U Bibliography
251
252 \B{book} Some text describing a book.
253
254 \B{nocite} Some text describing a book. This text should appear in
255 the document even though there is no \cw{\\k} citing it.
256
257 \BR{book} [SillyCitation]
258 \BR{uncited} Badger.
259
260 \nocite{nocite}
261
262 \B{uncited} If this text appears, there's an actual error.
263
264 \# This is a comment.
265
266 \# Now for the index section.
267
268 \IM{she seems to have an invisible tag}{appendix} Invisible tags
269 and/or appendices