b1f669afdfc6505011508dc049c246d509ad3ff7
[sgt/halibut] / inputs / test.but
1 \define{eur} \u20AC{EUR }
2
3 \title Halibut: A Test Document With A Stupidly Long Title (worth \eur\.1000)
4 Just To See If Wrapping Titles Works OK. In Fact This Title Will Span Three
5 Lines, Not Just Two. How's That For Ludicrous? More than that, though,
6 we'd like to make it more than 255 characters long so that the PostScript
7 backend has to treat it specially in order to pass it to pdfmark.
8
9 \cfg{xhtml-leaf-smallest-contents}{2}
10 \cfg{xhtml-leaf-contains-contents}
11 {true}
12 \cfg{info-dir-entry}{Sillinesses}{test.but}{Halibut test document}
13 \cfg{info-dir-entry}{Florbles}{test.but}{Subsection of Halibut test
14 document}{sub-sub}
15 \cfg{info-section-underline}{2}{~}
16 \cfg{info-charset}{utf-8}
17 \cfg{man-headnumbers}{true}
18
19 \cfg{contents}{Contents - edited title}
20 \cfg{index}{Index - also edited title}
21
22 This paragraph is not labelled \q{preamble}, but should still appear
23 as it.
24
25 \preamble This manual is a small joke effort, designed to use every
26 feature \#{ comment } that Halibut's input format supports. Creation
27 date \date{%Y.%m.%d} (default format is \date).
28
29 \c Here is a code paragraph in the preamble, just to stress that all
30 \c things are possible. Ooh!
31
32 \copyright Copyright 1999 Simon \#{second comment}Tatham. All rights
33 reserved.
34
35 Here's another \i{preamble paragraph}, which goes after the copyright.
36
37 \define{metacoopt} [this is a nested,
38 multi-line macro, talking about \coopt
39 a bit]
40
41 \define{coopt} co\u00F6{-o}pt
42
43 \versionid $Id$
44
45 \C{ch\\ap} First chapter title; for similar wrapping reasons this
46 chapter title will be ludicrously long. I wonder how much more
47 chapter title I can write before feeling silly.
48
49 This is a para\#{another{} comment}graph of text. It
50 has line\#{yet another one} breaks in between words, multiple
51 spaces (ignored), and \e{emphasised text} as well as \c{code
52 fragments}.
53
54 \#{This is an inline comment alone in a paragraph.}
55
56 \cw{This} is weak code; \cq{this} is quoted code. And \k{head}
57 contains some other stuff. \K{subhead} does too.
58
59 To test the man page back end:
60
61 .Directive
62
63 'Directive
64
65 \cw{.Directive}
66
67 \cw{'Directive}
68
69 \\Sping\\Spong\\Spoing
70
71 \H{head} First section title (very long again, no prizes for
72 guessing the reason why this time, and here's yet more text to pad
73 it out to three lines of output)
74
75 \cfg{winhelp-topic}{M359HPEHGW}
76
77 Here's a code paragraph:
78
79 \c No leading spaces
80 \c One leading space
81 \c Two blank lines follow this one.
82 \c
83 \c
84 \c Two blank lines precede this one.
85 \c Two leading spaces
86 \c We can use \ { and } with impunity here.
87 \c We can use discretionary bold and italic in code paragraphs!
88 \e bbbb iiiiii
89 \c Isn't that ludicrous?
90 \c
91 \c man page tricky characters: command -o 'quoted' -o `backticks`
92
93 This is a list:
94
95 \b Ooh.
96
97 \b Aah.
98
99 \lcont{
100
101 This bulletted list contains a list continuation. This is an
102 additional paragraph, or more than one, indented at the same level
103 as the list items, and able to contain nested sublists and other
104 features. For example, here's a code paragraph:
105
106 \c spingle:~$ whoami
107 \c spoggler
108
109 And here's a sublist. Numbered, just for variety.
110
111 \n One.
112
113 \lcont{
114
115 \n 1a.
116
117 \n 1b.
118
119 \lcont{
120 \c Code
121 \c Paragraph
122 }
123
124 \n 1c.
125
126 \lcont{This is an even sillier one: a continuation of a list item in
127 a continuation of a list item in a continuation of a list item!}
128
129 }
130
131 \n Two.
132
133 \n Threeeee!
134
135 }
136
137 \b Eek.
138
139 This is a horizontal rule:
140
141 \rule
142
143 This is a numbered list:
144
145 \n Ooh.
146
147 \n{keyword} Aah.
148
149 \n Eek. \q{Aah} is point \k{keyword}.
150
151 This is a description list:
152
153 \dt FISH
154
155 \dd A piscine creature, often to be found swimming aimlessly around
156 in the sea eating things and not contributing to the global economy.
157
158 \lcont{
159
160 Here's another of those funky list continuation things, just to keep
161 Halibut on its toes.
162
163 }
164
165 \dt BADGER
166
167 \dd A non-piscine creature, often to be found snuffling around on
168 land, not contributing to the global economy, and not even swimming
169 to make up for it. I don't know. These mammals. Pa-thetic.
170
171 \dt "SAUSAGE SALESMAN"
172
173 \dd An exemplary contributor to the global economy. Unless he's CMOT
174 Dibbler.
175
176 This is a much more interesting description list, testing
177 consecutive \c{\\dt}s and consecutive \c{\\dd}s:
178
179 \dt One
180
181 \dt Two
182
183 \dt Three
184
185 \dd Ay
186
187 \dt Four
188
189 \dd Bee
190
191 \dd Cee
192
193 \dd Dee
194
195 A-paragraph-full-of-hyphens-to-test-the-idea-that-word-wrapping-can-happen-somewhere-in-all-this-hyphenatory-nonsense.
196
197 A\-paragraph\-full\-of\-nonbreaking\-hyphens\-to\-test\-the\-idea\-that\-word\-wrapping\-misses\-them.
198
199 A\_paragraph\_full\_of\_nonbreaking\_spaces\_to\_test\_the\_idea\_that\_word\_wrapping\_misses\_them\_too.
200
201 Use of macros: let's talk about \coopt. And about \coopt some more.
202 And a nested macro: \metacoopt.
203
204 A slightly more difficult macro: \eur\.2500.
205
206 Test of input character set switching.
207
208 \n 8859 character in ASCII mode: expect nothing useful. [coöpt]
209
210 \cfg{input-charset}{ISO-8859-1}
211
212 \n 8859 character in 8859 mode: expect the right thing. [coöpt]
213
214 \cfg{input-charset}{UTF-8}
215
216 \n 8859 character in UTF-8 mode: expect the wrong thing. [coöpt]
217
218 \cfg{silliness}{coöpt}
219
220 \n UTF-8 sequence in UTF-8 mode: expect the right thing again. [coöpt]
221
222 \cfg{input-charset}{ASCII}
223
224 Back to ASCII again.
225
226 Oh, while I'm here: some special characters. The \\, \{ and \}
227 characters, to be precise. And their code equivalents, \c{\\},
228 \i\c{\{}, \c{\}}. The ` and ' characters (grave and apostrophe)
229 are special in some output formats.
230
231 Now let's exercise the paper backends a little. This is the entire
232 Adobe Standard Latin character set, which should be enough to cause
233 us to need to encode the main font twice:
234
235 \cfg{input-charset}{ISO-8859-1}
236
237 A Æ Á Â Ä À Å Ã B C Ç D E É Ê Ë È Ð F G H I Í Î Ï Ì J K L \u0141 M N Ñ O Ó Ô Ö
238 \u0152 Ò Ø Õ P Q R S \u0160 T Þ U Ú Û Ü Ù V W X Y Ý \u017d
239 a á â ´ ä æ à & å ^ ~ * @ ã b \\ | \{ \} [ ] ¦ \u2022
240 c \u02c7 ç ¸ ¢ \u02c6 : , © ¤ d \u2020 \u2021 ° ¨ ÷ $ \u02d9 \u0131
241 e é ê ë è 8 \u2026 \u2014 \u2013 = ð ! ¡ f \ufb01 5 \ufb02 \u0192 4 \u2044
242 g ß \u2039 \u203a ` > « » h - \u02dd i í î ï ì j k l \u0142 < ¬
243 m \u2212 \u00B5 × n 9 ñ # o ó ô ö \u0153 ò 1 ½ ¼ ¹ ª º ø õ
244 p \u00b6 ( ) % \u2030 . · + ±
245 q ? ¿ " \u201e \u201c \u201d \u2018 \u2019 \u201a '
246 r ® \u02da s \u0161 \u00A7 ; 7 6 / £ t þ 3 ¾ ³ \u02dc \u2122 2 ²
247 u ú û ü ù _ v w x y ý ÿ ¥ z \u017e 0
248
249 \cfg{input-charset}{ASCII}
250
251 Testing ligatures in normal (fi), empasised (\e{fi}), code (\c{fi}) and
252 weak code (\cw{fi}). The latter two should not be ligated.
253
254 \c Also in a code paragraph (fi) with bold (fi) and italic (fi).
255 \e bb ii
256 \c There should be no ligation there.
257
258 The following pair of characters map to different glyphs with the same name in
259 some Microsoft TrueType fonts: \u0394{(missing)} \u2206{(missing)}
260
261 \S{subhead} First subheading
262
263 So here's a \I{subheading}\I{subsection}subsection. Just
264 incidentally, \q{this} is in quotes. \ii{Those} quotes had better work
265 in all formats.
266
267 We'll try for some Unicode here: \i{Schr\u00F6{oe}dinger}.
268
269 An index tag containing non-alternatived Unicode: \i{\u00BFChe?}
270
271 An invisible index tag: \I{she seems to have an invisible tag}yeah.
272
273 An index tag inside another tag: jackdaws love my \e{big \i{sphinx}}
274 of quartz.
275
276 Similarly, we should support things like hyperlinks
277 \e{\W{http://www.tartarus.org/}{at the beginning} of emphasised sections},
278 and \e{in the \W{http://www.tartarus.org/}{middle} of them}, and also
279 \e{at the \W{http://home.att.net/~cecw/lastpage.htm}{end}}.
280
281 \#{FIXME: Unfortunately, we still don't quite do the right thing with
282 references:
283 How about a \e{reference to \k{subhead} here}? And at
284 \e{the end: \k{subhead}} and \e{\k{subhead}: the start}?
285 }
286
287 \S2{sub-sub}{Florble} Smaller heading still
288
289 A tiny section. Awww. How cute. Actually, this one's a \e{florble},
290 and here's a reference to it: \k{sub-sub}.
291
292 \A{app} Needless appendix
293
294 \# \cfg{winhelp-topic}{Y5VQEXZQVJ} (uncomment this and it clashes)
295
296 Here's an \i{appendix}, for no terribly good reason at all. See
297 __\k{book}__ (please excuse those underscores, I'm testing
298 whitespace).
299
300 It also contains a \W{http://www.tartarus.org/}{hyperlink}.
301
302 Also I'm going to index \i\c{-output} to ensure that its two
303 components are displayed as a joined-up code fragment in the index.
304
305 Here are \I{testone}some \I{testtwo}subsections \I{testthree}with
306 silly chapter titles and interesting use of Unicode. The Unicode
307 oddities are in the titles rather than the body text because that
308 way I get to test their handling in the PDF document outline.
309
310 \H{app-one} The 1024 \u00D7{x} 768 screen resolution
311
312 Err.
313
314 \H{app-two} How about Spongletech\u2122{(TM)}?
315
316 Umm.
317
318 \# I'm going to label one of these with a carefully chosen fragment
319 \# name "i1", because I know this will also be generated as an index
320 \# fragment name and this allows me to test the fragment name clash
321 \# detection.
322 \#
323 \# To actually run this test you need to configure html-leaf-level
324 \# to 0 and html-template-fragment to %k.
325
326 \H{i1} Or just Erd\u0151{\u00F6{o}}s?
327
328 Ahh.
329
330 \H{app-\\two} Section with inconvenient keyword
331
332 If you apply this file together with \cw{doc/chm.but}, this section
333 should test \cw{html_sanitise_filename()}.
334
335 \U Bibliography
336
337 \B{book} Some text describing a book.
338
339 \B{nocite} Some text describing a book. This text should appear in
340 the document even though there is no \cw{\\k} citing it.
341
342 \BR{book} [SillyCitation]
343 \BR{uncited} Badger.
344
345 \nocite{nocite}
346
347 \B{uncited} If this text appears, there's an actual error.
348
349 \# This is a comment.
350
351 \# Now for the index section.
352
353 \IM{she seems to have an invisible tag}{appendix} Invisible tags
354 and/or appendices
355
356 \# The display forms of these three index terms differ only in case.
357 \# This is a fiddly special case in the Windows Help backend,
358 \# because Windows Help's index mechanism is case-insensitive...
359
360 \IM{testone} Test
361 \IM{testtwo} TesT
362 \IM{testthree} test