hybrid-ebooks.tex /size: 27 Kb    last modification: 2023-12-21 09:43
1% language=us
2
3\startcomponent hybrid-ebooks
4
5\environment hybrid-environment
6
7\startchapter[title={E-books: Old wine in new bottles}]
8
9\startsection [title={Introduction}]
10
11When Dave Walden asked me if \TEX\ (or \CONTEXT) can generate ebooks we exchanged
12a bit of mail on the topic. Although I had promised myself never to fall into the
13trap of making examples for the sake of proving something I decided to pick up an
14experiment that I had been doing with a manual in progress and look into the
15\HTML\ side of that story. After all, occasionally on the \CONTEXT\ list similar
16questions are asked, like \quotation {Can \CONTEXT\ produce \HTML ?}. \footnote
17{This text appeared in the \EUROTEX\ 2011 proceedings and TUGBoat 101. Thanks to
18Karl Berry for correcting it.}
19
20\stopsection
21
22\startsection [title={Nothing new}]
23
24When you look at what nowadays is presented as an ebook document, there is not
25much new going on. Of course there are very advanced and interactive documents,
26using techniques only possible with recent hardware and programs, but the average
27ebook is pretty basic. This is no surprise. When you take a novel, apart from
28maybe a cover or an occasional special formatting of section titles, the
29typesetting of the content is pretty straightforward. In fact, given that
30formatters like \TEX\ have been around that can do such jobs without much
31intervention, it takes quite some effort to get that job done badly. It was a bit
32shocking to notice that on one of the first e-ink devices that became available
33the viewing was quite good, but the help document was just some word processor
34output turned into bad|-|looking \PDF. The availability of proper hardware does
35not automatically trigger proper usage.
36
37I can come up with several reasons why a novel published as an ebook does not
38look much more interesting and in many cases looks worse. First of all it has to
39be produced cheaply, because there is also a printed version and because the
40vendor of some devices also want to make money on it (or even lock you into their
41technology or shop). Then, it has to be rendered on various devices so the least
42sophisticated one sets the standard. As soon as it gets rendered, the resolution
43is much worse than what can be achieved in print, although nowadays I've seen
44publishers go for quick and dirty printing, especially for reprints.
45
46Over a decade ago, we did some experiments with touch screen computers. They had
47a miserable battery life, a slow processor and not much memory, but the
48resolution was the same as on the now fashionable devices. They were quite
49suitable for reading but even in environments where that made sense (for instance
50to replace carrying around huge manuals), such devices never took off. Nowadays
51we have wireless access and \USB\ sticks and memory cards to move files around,
52which helps a lot. And getting a quality comparable to what can be done today was
53no big deal, at least from the formatting point of view.
54
55In the \CONTEXT\ distribution you will find several presentation styles that can
56serve as bases for an ebook style. Also some of the \CONTEXT\ manuals come with
57two versions: one for printing and one for viewing on the screen. A nice example
58is the \METAFUN\ manual (see \in {figure} [fig:metafun]) where each page has a
59different look.
60
61\placefigure
62  [here]
63  [fig:metafun]
64  {A page from the \METAFUN\ manual.}
65  {\externalfigure[ebook-metafun-2.png][width=\textwidth]}
66
67It must be said that the (currently only black and white) devices that use
68electronic ink have a perceived resolution that is higher than their
69specifications, due to the semi|-|analog way the \quote {ink} behaves. In a
70similar fashion clever anti|-|aliasing can do wonders on \LCD\ screens. On the
71other hand they are somewhat slow and a display refresh is not that convenient.
72Their liquid crystal counterparts are much faster but they can be tiresome to
73look at for a long time and reading a book on it sitting in the sun is a no|-|go.
74Eventually we will get there and I'm really looking forward to seeing the first
75device that will use a high resolution electrowetting \CMYK\ display. \footnote
76{http://www.liquavista.com/files/LQV0905291LL5-15.pdf} But no matter what device
77is used, formatting something for it is not the most complex task at hand.
78
79\stopsection
80
81\startsection[title={Impact}]
82
83Just as with phones and portable audio devices, the market for tablets and
84ebook|-|only devices is evolving rapidly. While writing this, at work I have one
85ebook device and one tablet. The ebook device is sort of obsolete because the
86e-ink screen has deteriorated even without using it and it's just too slow to be
87used for reference manuals. The tablet is nice, but not that suitable for all
88circumstances: in the sun it is unreadable and at night the backlight is rather
89harsh. But, as I mentioned in the previous section, I expect this to change.
90
91If we look at the investment, one needs good arguments to buy hardware that is
92seldom used and after a few years is obsolete. Imagine that a family of four has
93to buy an ebook device for each member. Add to that the cost of the books and you
94quickly can end up with a larger budget than for books. Now, imagine that you
95want to share a book with a friend: will you give him or her the device? It might
96be that you need a few more devices then. Of course there is also some data
97management needed: how many copies of a file are allowed to be made and do we
98need special programs for that? And if no copy can be made, do we end up swapping
99devices? It is hard to predict how the situation will be in a few years from now,
100but I'm sure that not everyone can afford this rapid upgrading and redundant
101device approach.
102
103A friend of mine bought ebook devices for his children but they are back to paper
104books now because the devices were not kid|-|proof enough: you can sit on a book
105but not on an ebook reader.
106
107The more general devices (pads) have similar problems. I was surprised to see
108that an iPad is a single user device. One can hide some options behind passwords
109but I'm not sure if parents want children to read their mail, change preferences,
110install any application they like, etc. This makes pads not that family friendly
111and suggests that such a personal device has to be bought for each member. In
112which case it suddenly becomes a real expensive adventure. So, unless the prices
113drop drastically, pads are not a valid large scale alternative for books yet.
114
115It might sound like I'm not that willing to progress, but that's not true. For
116instance, I'm already an enthusiastic user of a media player infrastructure.
117\footnote {The software and hardware was developed by SlimDevices and currently
118is available as Logitech Squeezeserver. Incidentally I can use the iPad as an
119advanced remote control.} The software is public, pretty usable, and has no
120vendor lock|-|in. Now, it would make sense to get rid of traditional audio media
121then, but this is not true. I still buy \CD{}s if only because I then can rip
122them to a proper lossless audio format (\FLAC). The few \FLAC s that I bought via
123the Internet were from self|-|publishing performers. After the download I still
124got the \CD{}s which was nice because the booklets are among the nicest that I've
125ever seen.
126
127Of course it makes no sense to scan books for ebook devices so for that we depend
128on a publishing network. I expect that at some point there will be proper tools
129for managing your own electronic books and in most cases a simple file server
130will do. And the most open device with a proper screen will become my favourite.
131Also, I would not be surprised if ten years from now, many authors will publish
132themselves in open formats and hopefully users will be honest enough to pay for
133it. I'm not too optimistic about the latter, if only because I observe that
134younger family members fetch everything possible from the Internet and don't
135bother about rights, so we definitely need to educate them. To some extent
136publishers of content deserve this behaviour because more than I like I find
137myself in situations where I've paid some 20 euro for a \CD\ only to see that
138half a year later you can get it for half the price (sometimes it also happens
139with books).
140
141Given that eventually the abovementioned problems and disadvantages will be dealt
142with, we can assume that ebooks are here and will stay forever. So let's move on
143to the next section and discuss their look and feel.
144
145\stopsection
146
147\startsection[title={Interactivity}]
148
149The nice thing about a paper book is that it is content and interface at the same
150time. It is clear where it starts and ends and going from one page to another is
151well standardized. Putting a bookmark in it is easy as you can fall back on any
152scrap of paper lying around. While reading you know how far you came and how much
153there is to come. Just as a desktop on a desktop computer does not resemble the
154average desktop, an ebook is not a book. It is a device that can render content
155in either a given or more free|-|form way.
156
157However, an electronic book needs an interface and this is also where at the
158moment it gets less interesting. Of course the Internet is a great place to
159wander around and a natural place to look for electronic content. But there are
160some arguments for buying them at a bookshop, one being that you see a lot of
161(potentially) new books, often organized in topics in one glance. It's a
162different way of selecting. I'm not arguing that the Internet is a worse place,
163but there is definitely a difference: more aggressive advertisements, unwanted
164profiling that can narrow what is presented to a few choices.
165
166Would I enter a bookshop if on the display tables there were stacks of (current)
167ebook devices showing the latest greatest books? I can imagine that at some point
168we will have ebook devices that have screens that run from edge to edge and then
169we get back some of the appeal of book designs. It is that kind of future devices
170that we need to keep in mind when we design electronic documents, especially when
171after some decades we want them to be as interesting as old books can be. Of
172course this is only true for documents that carry the look and feel of a certain
173time and place and many documents are thrown away. Most books have a short
174lifespan due to the quality of the paper and binding so we should not become too
175sentimental about the transition to another medium.
176
177Once you're in the process of reading a book not much interfacing is needed.
178Simple gestures or touching indicated areas on the page are best. For more
179complex documents the navigation could be part of the design and no screen real
180estate has to be wasted by the device itself. Recently I visited a
181school|-|related exhibition and I was puzzled by the fact that on an electronic
182schoolboard so much space was wasted on colorful nonsense. Taking some 20\% off
183each side of such a device brings down the effective resolution to 600 pixels so
184we end up with 10 pixels or less per character (shown at about 1 cm width). At
185the same exhibition there were a lot of compensation programs for dyslexia
186advertised, and there might be a relationship.
187
188\stopsection
189
190\startsection[title={Formatting}]
191
192So how important is the formatting? Do we prefer reflow on demand or is a more
193frozen design that suits the content and expresses the wish of the author more
194appropriate? In the first case \HTML\ is a logical choice, and in the second one
195\PDF\ makes sense. You design a nice \HTML\ document but at some point the reflow
196gets in the way. And yes, you can reflow a \PDF\ file but it's mostly a joke.
197Alternatively one can provide both which is rather trivial when the source code
198is encoded in a systematic way so that multiple output is a valid option. Again,
199this is not new and mostly a matter of a publisher's policy. It won't cost more
200to store in neutral formats and it has already been done cheaply for a long time.
201
202Somewhat interfering in this matter is digital rights management. While it is
203rather customary to buy a book and let friends or family read the same book, it
204can get complicated when content is bound to one (or a few) devices. Not much
205sharing there, and in the worst case, no way to move your books to a better
206device. Each year in the Netherlands we have a book fair and bookshops give away
207a book specially written for the occasion. This year the book was also available
208as an ebook, but only via a special code that came with the book. I decided to
209give it a try and ended up installing a broken application, i.e.\ I could not get
210it to load the book from the Internet, and believe me, I have a decent machine
211and the professional \PDF\ viewer software that was a prerequisite.
212
213\stopsection
214
215\startsection[title={Using \TEX}]
216
217So, back to Dave's question: if \CONTEXT\ can generate ebooks in the \EPUB\
218format. Equally interesting is the question if \TEX\ can format an \EPUB\ file
219into a (say) \PDF\ file. As with much office software, an \EPUB\ file is nothing
220more than a zip file with a special suffix in which several resources are
221combined. The layout of the archive is prescribed. However, by demanding that the
222content itself is in \HTML\ and by providing a stylesheet to control the
223renderer, we don't automatically get properly tagged and organized content. When
224I first looked into \EPUB, I naively assumed that there was some well|-|defined
225structure in the content; turns out this is not the case.
226
227Let's start by answering the second question. Yes, \CONTEXT\ can be used to
228convert an \EPUB\ file into a \PDF\ file. The natural followup question is if it
229can be done automatically, and then some more nuance is needed: it depends. If
230you download the \EPUB\ for \quotation {A tale of two cities} from Charles
231Dickens from the Gutenberg Project website and look into a chapter you will see
232this:
233
234\starttyping
235<h1 id="pgepubid00000">A TALE OF TWO CITIES</h1>
236<h2 id="pgepubid00001">A STORY OF THE FRENCH REVOLUTION</h2>
237<p><br/></p>
238<h2>By Charles Dickens</h2>
239<p><br/>
240<br/></p>
241<hr/>
242<p><br/>
243<br/></p>
244<h2 id="pgepubid00002">Contents</h2>
245\stoptyping
246
247What follows is a table of contents formatted using \HTML\ tables
248and after that
249
250\starttyping
251<h2 id="pgepubid00004">I. The Period</h2>
252\stoptyping
253
254So, a level two header is used for the subtitle of the book as well as a regular
255chapter. I must admit that I had to go on the Internet to find this snippet as I
256wanted to check its location. On my disk I had a similar file from a year ago
257when I first looked into \EPUB. There I have:
258
259\starttyping
260<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
261  <head>
262    <title>I | A Tale of Two Cities</title>
263    ....
264  </head>
265  <body>
266    <div class="body">
267      <div class="chapter">
268        <h3 class="chapter-title">I</h3>
269        <h4 class="chapter-subtitle">The Period</h4>
270\stoptyping
271
272I also wanted to make sure if the interesting combination of third and fourth
273level head usage was still there but it seems that there are several variants
274available. It is not my intention to criticize the coding, after all it is valid
275\HTML\ and can be rendered as intended. Nevertheless, the first snippet
276definitely looks worse, as it uses breaks instead of \CSS\ spacing directives and
277the second wins on obscurity due to the abuse of the head element.
278
279These examples answer the question about formatting an arbitrary \EPUB\ file:
280\quotation {no}. We can of course map the tagging to \CONTEXT\ and get pretty
281good results but we do need to look at the coding.
282
283As such books are rather predictable it makes sense to code them in a more
284generic way. That way generic stylesheets can be used to render the book directly
285in a viewer and generic \CONTEXT\ styles can be used to format it differently,
286e.g.\ as \PDF.
287
288Of course, if I were asked to set up a workflow for formatting ebooks, that would
289be relatively easy. For instance the Gutenberg books are available as raw text
290and that can be parsed to some intermediate format or (with \MKIV) interpreted
291directly.
292
293Making a style for a specific instance, like the Dickens book, is not that
294complex either. After all, the amount of encoding is rather minimal and special
295bits and pieces like a title page need special design anyway. The zipped file can
296be processed directly by \CONTEXT, but this is mostly just a convenience.
297
298As \EPUB\ is just a wrapper, the next question is if \CONTEXT\ can produce some
299kind of \HTML\ and the answer to that question is positive. Of course this only
300makes sense when the input is a \TEX\ source, and we have argued before that when
301multiple output is needed the user might consider a different starting point.
302After all, \CONTEXT\ can deal with \XML\ directly.
303
304The main advantage of coding in \TEX\ is that the source remains readable and for
305some documents it's certainly more convenient, like manuals about \TEX. In the
306reference manual \quote {\CONTEXT\ \LUA\ Documents} (\CLD) there are the
307following commands:
308
309\starttyping
310\setupbackend
311  [export=yes]
312
313\setupinteraction
314  [title=Context Lua Documents,
315   subtitle=preliminary version,
316   author=Hans Hagen]
317\stoptyping
318
319At the cost of at most 10\% extra runtime an \XML\ export is generated in
320addition to the regular \PDF\ file. Given that you have a structured \TEX\ source
321the exported file will have a decent structure as well and you can therefore
322transform the file into something else, for instance \HTML. But, as we already
323have a good|-|looking \PDF\ file, the only reason to have \HTML\ as well is for
324reflowing. Of course wrapping up the \HTML\ into an \EPUB\ structure is not that
325hard. We can probably even get away from wrapping because we have a single
326self|-|contained file.
327
328\placefigure
329  {A page from the \CLD\ manual in \PDF.}
330  {\externalfigure[ebook-pdf.png][width=\textwidth]}
331
332The \type {\setupbackend} command used in the \CLD\ manual has a few
333more options:
334
335\starttyping
336\setupbackend
337  [export=cld-mkiv-export.xml,
338   xhtml=cld-mkiv-export.xhtml,
339   css={cld-mkiv-export.css,mathml.css}]
340\stoptyping
341
342We explicitly name the export file and in addition specify a stylesheet and an
343alternative \XHTML\ file. If you can live without hyperlinks the \XML\ file
344combined with the cascading style sheet will do a decent job of controlling the
345formatting.
346
347In the \CLD\ manual chapters are coded like this:
348
349\starttyping
350\startchapter[title=A bit of Lua]
351
352\startsection[title=The language]
353\stoptyping
354
355The \XML\ output of this
356
357\starttyping
358<division detail='bodypart'>
359  <section detail='chapter' location='aut:3'>
360    <sectionnumber>1</sectionnumber>
361    <sectiontitle>A bit of Lua</sectiontitle>
362    <sectioncontent>
363      <section detail='section'>
364        <sectionnumber>1.1</sectionnumber>
365        <sectiontitle>The language</sectiontitle>
366        <sectioncontent>
367\stoptyping
368
369The \HTML\ version has some extra elements:
370
371\starttyping
372<xhtml:a name="aut_3">
373  <section location="aut:3" detail="chapter">
374\stoptyping
375
376The table of contents and cross references have \type {xhtml:a} elements too but
377with the \type {href} attribute. It's interesting to search the web for ways to
378avoid this, but so far no standardized solution for mapping \XML\ elements onto
379hyperlinks has been agreed upon. In fact, getting the \CSS\ mapping done was not
380that much work but arriving at the conclusion that (in 2011) these links could
381only be done in a robust way using \HTML\ tags took more time. \footnote {In this
382example we see the reference \type {aut:3} turned into \type {aut_1}. This is
383done because some browsers like to interpret this colon as a url.} Apart from
384this the \CSS\ has enough on board to map the export onto something presentable.
385For instance:
386
387\starttyping
388sectioncontent {
389    display: block ;
390    margin-top: 1em ;
391    margin-bottom: 1em ;
392}
393
394section[detail=chapter], section[detail=title] {
395    margin-top: 3em ;
396    margin-bottom: 2em ;
397}
398
399section[detail=chapter]>sectionnumber {
400    display: inline-block ;
401    margin-right: 1em ;
402    font-size: 3em ;
403    font-weight: bold ;
404}
405\stoptyping
406
407As always, dealing with verbatim is somewhat special. The following code does the
408trick:
409
410\starttyping
411verbatimblock {
412    background-color: #9999FF ;
413    display: block ;
414    padding: 1em ;
415    margin-bottom: 1em ;
416    margin-top: 1em ;
417    font-family: "Lucida Console", "DejaVu Sans Mono", monospace ;
418}
419
420verbatimline {
421    display: block ;
422    white-space: pre-wrap ;
423}
424
425verbatim {
426    white-space: pre-wrap ;
427    color: #666600 ;
428    font-family: "Lucida Console", "DejaVu Sans Mono", monospace ;
429}
430\stoptyping
431
432The spacing before the first and after the last one differs from the spacing
433between lines, so we need some extra directives:
434
435\starttyping
436verbatimlines+verbatimlines {
437    display: block ;
438    margin-top: 1em ;
439}
440\stoptyping
441
442This will format code like the following with a bluish background and inline
443verbatim with its complement:
444
445\starttyping
446<verbatimblock detail='typing'>
447  <verbatimlines>
448    <verbatimline>function sum(a,b)</verbatimline>
449    <verbatimline>  print(a, b, a + b)</verbatimline>
450    <verbatimline>end</verbatimline>
451  </verbatimlines>
452</verbatimblock>
453\stoptyping
454
455The hyperlinks need some attention. We need to make sure that only the links and
456not the anchors get special formatting. After some experimenting I arrived at
457this:
458
459\starttyping
460a[href] {
461    text-decoration: none ;
462    color: inherit ;
463}
464
465a[href]:hover {
466    color: #770000 ;
467    text-decoration: underline ;
468}
469\stoptyping
470
471Tables are relatively easy to control. We have tabulate (nicer for text) and
472natural tables (similar to the \HTML\ model). Both get mapped into \HTML\ tables
473with \CSS\ directives. There is some detail available so we see things like this:
474
475\starttyping
476tablecell[align=flushleft] {
477    display: table-cell ;
478    text-align: left ;
479    padding: .1em ;
480}
481\stoptyping
482
483It is not hard to support more variants or detail in the export but that will
484probably only happen when I find a good reason (a project), have some personal
485need, or when a user asks for it. For instance images will need some special
486attention (conversion, etc.). Also, because we use \METAPOST\ all over the place
487that needs special care as well, but a regular (novel|-|like) ebook will not have
488such resources.
489
490\placefigure
491  {A page from \CLD\ manual in \HTML.}
492  {\externalfigure[ebook-xhtml.png][width=\textwidth]}
493
494As an extra, a template file is generated that mentions all
495elements used, like this:
496
497\starttyping
498section[detail=summary] {
499    display: block ;
500}
501\stoptyping
502
503with the inline and display properties already filled in. That way I could see
504that I still had to add a couple of directives to the final \CSS\ file. It also
505became clear that in the \CLD\ manual some math is used that gets tagged as
506\MATHML, so that needs to be covered as well. \footnote {Some more advanced
507\MATHML\ output will be available when the matrix|-|related core commands have
508been upgraded to \MKIV\ and extended to suit today's needs.} Here we need to make
509some decisions as we export \UNICODE\ and need to consider support for less
510sophisticated fonts. On the other hand, the \WTHREEC\ consortium has published
511\CSS\ for this purpose so we can use these as a starting point. It might be that
512eventually more tuning will be delegated to the \XHTML\ variant. This is not much
513extra work as we have the (then intermediate) \XML\ tree available. Thinking of
514it, we could eventually end up with some kind of \CSS\ support in \CONTEXT\
515itself.
516
517It will take some experimenting and feedback from users to get the export right,
518especially to provide a convenient way to produce so|-|called \EPUB\ files
519directly. There is already some support for this container format. If you have
520enabled \XHTML\ export, you can produce an \EPUB\ archive afterwards with:
521
522\starttyping
523mtxrun --script epub yourfile
524\stoptyping
525
526For testing the results, open source programs like \type {calibre} are quite
527useful. It will probably take a while to figure out to what extent we need to
528support formats like \EPUB, if only because such formats are adapted on a regular
529basis.
530
531\stopsection
532
533\startsection[title=The future]
534
535It is hard to predict the future. I can imagine that given the user interface
536that has evolved over ages paper books will not disappear soon. Probably there
537will be a distinction between read|-|once and throw|-|away books and those that
538you carry with you your whole life as visible proof of that life. I can also
539imagine that (if only for environmental reasons) ebooks (hopefully with stable
540devices) will dominate. In that case traditional bookshops will disappear and
541with them the need for publishers that supply them. Self|-|publishing will then
542be most interesting for authors and maybe some of them (or their helpful friends)
543will be charmed by \TEX\ and tinkering with the layout using the macro language.
544I can also imagine that at some point new media (and I don't consider an ebook a
545new medium) will dominate. And how about science fiction becoming true:
546downloading stories and information directly into our brains.
547
548It reminds me of something I need to do some day soon: get rid of old journals
549that I planned to read but never will. I would love to keep them electronically
550but it is quite unlikely that they are available and if so, it's unlikely that I
551want to pay for them again. This is typically an area where I'd consider using an
552ebook device, even if it's suboptimal. On the other hand, I don't consider
553dropping my newspaper subscription yet as I don't see a replacement for the
554regular coffeestop at the table where it sits and where we discuss the latest
555news.
556
557The nice thing about an analogue camera is that the image carrier has been
558standardized and you can buy batteries everywhere. Compare this with their
559digital cousins: all have different batteries, there are all kinds of memory
560cards, and only recently has some standardization in lenses shown up. There is a
561wide range of resolutions and aspect ratios. Other examples of standardization
562are nuts and bolts used in cars, although it took some time for the metric system
563to catch on. Books have different dimensions but it's not hard to deal with that
564property. Where desktop hardware is rather uniform everything portable is
565different. For some brands you need a special toolkit with every new device.
566Batteries cannot be exchanged and there are quite some data carriers. On the
567other hand, we're dealing with software and if we want we can support data
568formats forever. The \MICROSOFT\ operating systems have demonstrated that
569programs written years ago can still run on updates. In addition \LINUX\
570demonstrates that users can take and keep control and create an independence from
571vendors. So, given that we can still read document sources and given that they
572are well structured, we can create history|-|proof solutions. I don't expect that
573the traditional publishers will play a big role in this if only because of their
574short term agendas and because changing ownerships works against long term views.
575And programs like \TEX\ have already demonstrated having a long life span,
576although it must be said that in today's rapid upgrade cycles it takes some
577courage to stay with it and its descendants. But downward compatibility is high
578on the agenda of its users and user groups which is good in the perspective of
579discussing stable ebooks.
580
581Let's finish with an observation. Books often make a nice (birthday) present and
582finding one that suits is part of the gift. Currently a visible book has some
583advantages: when unwrapped it can be looked at and passed around. It also can be
584a topic of discussion and it has a visible personal touch. I'm not so sure if
585vouchers for an ebook have the same properties. It probably feels a bit like
586giving synthetic flowers. I don't know what percentage of books is given as
587presents but this aspect cannot be neglected. Anyway, I wonder when I will buy my
588first ebook and for who. Before that happens I'll probably have generated lots of
589them.
590
591\stopsection
592
593\stopcomponent
594