Add tests of ` and ' characters, since they need special handling in the man backend.
[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 \i{preamble 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$
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 \#{This is an inline comment alone in a paragraph.}
47
48 \cw{This} is weak code; \cq{this} is quoted code. And \k{head}
49 contains some other stuff. \K{subhead} does too.
50
51 To test the man page back end:
52
53 .Directive
54
55 'Directive
56
57 \cw{.Directive}
58
59 \cw{'Directive}
60
61 \\Sping\\Spong\\Spoing
62
63 \H{head} First section title (very long again, no prizes for
64 guessing the reason why this time, and here's yet more text to pad
65 it out to three lines of output)
66
67 \cfg{winhelp-topic}{M359HPEHGW}
68
69 Here's a code paragraph:
70
71 \c No leading spaces
72 \c One leading space
73 \c Two blank lines follow this one.
74 \c
75 \c
76 \c Two blank lines precede this one.
77 \c Two leading spaces
78 \c We can use \ { and } with impunity here.
79 \c We can use discretionary bold and italic in code paragraphs!
80 \e bbbb iiiiii
81 \c Isn't that ludicrous?
82
83 This is a list:
84
85 \b Ooh.
86
87 \b Aah.
88
89 \lcont{
90
91 This bulletted list contains a list continuation. This is an
92 additional paragraph, or more than one, indented at the same level
93 as the list items, and able to contain nested sublists and other
94 features. For example, here's a code paragraph:
95
96 \c spingle:~$ whoami
97 \c spoggler
98
99 And here's a sublist. Numbered, just for variety.
100
101 \n One.
102
103 \lcont{
104
105 \n 1a.
106
107 \n 1b.
108
109 \lcont{
110 \c Code
111 \c Paragraph
112 }
113
114 \n 1c.
115
116 \lcont{This is an even sillier one: a continuation of a list item in
117 a continuation of a list item in a continuation of a list item!}
118
119 }
120
121 \n Two.
122
123 \n Threeeee!
124
125 }
126
127 \b Eek.
128
129 This is a horizontal rule:
130
131 \rule
132
133 This is a numbered list:
134
135 \n Ooh.
136
137 \n{keyword} Aah.
138
139 \n Eek. \q{Aah} is point \k{keyword}.
140
141 This is a description list:
142
143 \dt FISH
144
145 \dd A piscine creature, often to be found swimming aimlessly around
146 in the sea eating things and not contributing to the global economy.
147
148 \lcont{
149
150 Here's another of those funky list continuation things, just to keep
151 Halibut on its toes.
152
153 }
154
155 \dt BADGER
156
157 \dd A non-piscine creature, often to be found snuffling around on
158 land, not contributing to the global economy, and not even swimming
159 to make up for it. I don't know. These mammals. Pa-thetic.
160
161 \dt "SAUSAGE SALESMAN"
162
163 \dd An exemplary contributor to the global economy. Unless he's CMOT
164 Dibbler.
165
166 This is a much more interesting description list, testing
167 consecutive \c{\\dt}s and consecutive \c{\\dd}s:
168
169 \dt One
170
171 \dt Two
172
173 \dt Three
174
175 \dd Ay
176
177 \dt Four
178
179 \dd Bee
180
181 \dd Cee
182
183 \dd Dee
184
185 A-paragraph-full-of-hyphens-to-test-the-idea-that-word-wrapping-can-happen-somewhere-in-all-this-hyphenatory-nonsense.
186
187 A\-paragraph\-full\-of\-nonbreaking\-hyphens\-to\-test\-the\-idea\-that\-word\-wrapping\-misses\-them.
188
189 A\_paragraph\_full\_of\_nonbreaking\_spaces\_to\_test\_the\_idea\_that\_word\_wrapping\_misses\_them\_too.
190
191 Use of macros: let's talk about \coopt. And about \coopt some more.
192 And a nested macro: \metacoopt.
193
194 A slightly more difficult macro: \eur\.2500.
195
196 Test of input character set switching.
197
198 \n 8859 character in ASCII mode: expect nothing useful. [coöpt]
199
200 \cfg{input-charset}{ISO-8859-1}
201
202 \n 8859 character in 8859 mode: expect the right thing. [coöpt]
203
204 \cfg{input-charset}{UTF-8}
205
206 \n 8859 character in UTF-8 mode: expect the wrong thing. [coöpt]
207
208 \cfg{silliness}{coöpt}
209
210 \n UTF-8 sequence in UTF-8 mode: expect the right thing again. [coöpt]
211
212 \cfg{input-charset}{ASCII}
213
214 Back to ASCII again.
215
216 Oh, while I'm here: some special characters. The \\, \{ and \}
217 characters, to be precise. And their code equivalents, \c{\\},
218 \i\c{\{}, \c{\}}. The ` and ' characters (grave and apostrophe)
219 are special in some output formats.
220
221 \S{subhead} First subheading
222
223 So here's a \I{subheading}\I{subsection}subsection. Just
224 incidentally, \q{this} is in quotes. \ii{Those} quotes had better work
225 in all formats.
226
227 We'll try for some Unicode here: \i{Schr\u00F6{oe}dinger}.
228
229 An index tag containing non-alternatived Unicode: \i{\u00BFChe?}
230
231 An invisible index tag: \I{she seems to have an invisible tag}yeah.
232
233 \S2{sub-sub}{Florble} Smaller heading still
234
235 A tiny section. Awww. How cute. Actually, this one's a \e{florble},
236 and here's a reference to it: \k{sub-sub}.
237
238 \A{app} Needless appendix
239
240 \# \cfg{winhelp-topic}{Y5VQEXZQVJ} (uncomment this and it clashes)
241
242 Here's an \i{appendix}, for no terribly good reason at all. See
243 __\k{book}__ (please excuse those underscores, I'm testing
244 whitespace).
245
246 It also contains a \W{http://www.tartarus.org/}{hyperlink}.
247
248 Also I'm going to index \i\c{-output} to ensure that its two
249 components are displayed as a joined-up code fragment in the index.
250
251 Here are \I{testone}some \I{testtwo}subsections \I{testthree}with
252 silly chapter titles and interesting use of Unicode. The Unicode
253 oddities are in the titles rather than the body text because that
254 way I get to test their handling in the PDF document outline.
255
256 \H{app-one} The 1024 \u00D7{x} 768 screen resolution
257
258 Err.
259
260 \H{app-two} How about Spongletech\u2122{(TM)}?
261
262 Umm.
263
264 \# I'm going to label one of these with a carefully chosen fragment
265 \# name "i1", because I know this will also be generated as an index
266 \# fragment name and this allows me to test the fragment name clash
267 \# detection.
268 \#
269 \# To actually run this test you need to configure html-leaf-level
270 \# to 0 and html-template-fragment to %k.
271
272 \H{i1} Or just Erd\u0151{\u00F6{o}}s?
273
274 Ahh.
275
276 \U Bibliography
277
278 \B{book} Some text describing a book.
279
280 \B{nocite} Some text describing a book. This text should appear in
281 the document even though there is no \cw{\\k} citing it.
282
283 \BR{book} [SillyCitation]
284 \BR{uncited} Badger.
285
286 \nocite{nocite}
287
288 \B{uncited} If this text appears, there's an actual error.
289
290 \# This is a comment.
291
292 \# Now for the index section.
293
294 \IM{she seems to have an invisible tag}{appendix} Invisible tags
295 and/or appendices
296
297 \# The display forms of these three index terms differ only in case.
298 \# This is a fiddly special case in the Windows Help backend,
299 \# because Windows Help's index mechanism is case-insensitive...
300
301 \IM{testone} Test
302 \IM{testtwo} TesT
303 \IM{testthree} test