summaryrefslogtreecommitdiff
path: root/info/digests/texline/no8/sgml-review.tex
blob: de5c58d751622e3a42df93461b78ef52d9e830c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
\centerline{\bf SGMLware}
\medskip
\noindent
{\it SGML An Author's Guide to the Standard Genralized Markup Language,
Martin Bryan, 364pp, Addison Wesley Publishing Company, \quid21.95,
{\sc isbn:} 0 201 17535 5.}
\smallskip
\noindent
{\it SoftQuad Author/Editor: (an SGML application for the
Macintosh conforming to the ISO standard). Evaluation copy available from
SOBEMAP for {\sl\$}35.}
\smallskip
\noindent
{\it SGML: the User's Guide to ISO 8879, Joan M. Smith \& Robert
Stutely, 175pp, Ellis Horwood Publishers, \quid22.50, {\sc isbn:} 
0 7458 0221 4.}
\smallskip\noindent
Bryan's book is a very welcome addition to the range of \sgml-related products
now available. But it is not what it says it is. It is not `an author's guide'.
I would no more give this book to a prospective author than I would give him or
her the \TeXbook{}. In fact, he or she would probably get a lot further
with  the \TeXbook, but this is more a feature of \sgml{}. Given that
both \sgml\ and \LaTeX\ are (to some extent) concerned with document
structure to the exclusion of layout, Lamport's book does allow someone
to do something fairly quickly. You will have to work hard before you
can get anything out of \sgml{}. Why? Essentially, \sgml\ is in a
similar position to that of \TeX\ in 1978--84, when each user of \TeX\
also had to provide his or her own `base' --- all the things we take for
granted in a plain or \LaTeX\ format (times were hard then, you don't
realise how easy you have it now). \sgml\ requires a DTD (a document
type definition), which is rather close in concept to a \LaTeX\ style.
There are a few `public', or publicised DTDs, but not so many, and so
you cannot guarantee that someone else shares yours (except by enclosing
it as part of your document). The commercial aspect of \sgml\ contrasts
interestingly with \TeX's public domain approach. While adherence to the
public domain presents some problems, \sgml's embedding within the
commercial world presents others. The availability and distribution of
DTDs could be an issue here. I suspect that widespread use of \sgml\
will not be acheived until there are a fair number of publicly
available, well-documented DTDs. Of course, if you are involved in the
bureaucracy of the EEC, or the US DoD, you will have to use \sgml\
anyway (which is why \sgml\ will succeed, irrespective of any intrinsic
merits).

But Bryan's book is useful, and provides a readable account of the language. It
is a bit matter of fact --- opinions or explanations rarely intrude. The
examples are rather limited and it can be tricky to work out how to do other
things. There are no exercises, often a useful way to test your comprehension.

Another key problem with \sgml\ is that it is a statement of a `standard', not
a description of a working implementation. In other words, you can't go and try
things out on a convenient working system: since the implementations are
commercial, you'll have to pay. There is a cheap alternative. SoftQuad's
Author/Editor (obtainable through Sobemap) is available in an evaluation
copy, for only \$35.00. This allows you to develop some feeling for
\sgml, using some prepackaged DTDs. The evaluation copy retricts you to
a fairly short document, but nevertheless it is a very useful starting
point. The manual which accompanies the software is probably worth the
\$35. The full price is  \$715.00, and obviously does not suffer
the same restrictions.

\sgml\ has strengths and weaknesses. One of its weaknesses is its inadequate
handling of `penalty copy'. To set maths you can opt out by using an entity
declaration which says that `this bit will be done in \TeX' (or some other
suitable system).  If you are going to do this, you may ask why not use \TeX\
entirely (or \LaTeX, since the boundary is more blurred here). In fact it would
not be so difficult to create a \TeX\ format which looked like \sgml. The chief
difficulty, it seems to me, is \sgml's `tag minimisation', where you don't have
to end a tag, if logically another tag implies that it must have terminated its
scope. To take an example, in \TeX\ we might start a bit of display maths with
the double dollar delimiter, do a bit of maths, then have a heading. Since a
heading (logically) cannot exist in maths mode, maths mode is terminated before
the heading is processed. I think this is dreadful. It suits compositors who
are obsessed with keystroke ninimisation, but for the casual user this is a
nightmare. Tables are difficult too. Note that both maths and tables require a
bit of `conceptual' formatting --- there is an implied layout. Since the core
of \sgml\ denies the relevance of layout or format, being concerned `only' with
structure, handling anything with layout structure is obviously a real problem.
(Curiously formatting commands are creeping into \sgml, just as some structural
notions are creeping into Ventura and PageMaker.) 

As you may guess, Bryan's account of \TeX\ is neither extensive nor fulsome
and he makes the rather curious claim that ``experience has shown that \TeX\
programs cannot always be simply transferred between machines''. It is unclear
wherher he is referring to \TeX\ the program or to a text file to be run
through \TeX{}. More perplexing is Bryan's omission of any discussion of
\LaTeX{}. This is doubly odd since he is aware of Reid's Scribe. The
introduction  attempts, but does not succeed, in providing some good reasons
why you should use \sgml{}. This is a pity, if the intention is to encourage
the novice or casual potential user to embark on \sgml.

In short, despite my reservations and criticisms, I can recommend the book. It is
a solid description of the language. It is generally readable, with an adequate
index. It is easily the most accessible book on the subject. But do not be
fooled by the title. It is more accurately described as `a Guide to the
Standard Generalized Markup Language'. Forget the `Author'.

Smith and Stutely's book also claims to be a Guide to the \sgml\ standard. The
necessity of their book was a reflection of the inadequacy of the standard. The
book has five parts. One of them is an index --- an index to the standard, not
one to the book! For me, the most useful part is the third part, `Character
Entities and Graphic Representations'. This includes a list of almost all
conceivable characters which we might want to use.  Unfortunately the naming
convention does not quite parallel \TeX\ or \AmSTeX\ (mainly because the names
are restricted to six characters, so that what Smith \& Stutely call
|angmsd| is called |\measuredangle| by \AmSTeX). But at last there is a
reasonably comprehensive list of symbols used in printing. I can't see
anything they have missed, except perhaps the \Mac\ symbol I sometimes
use. If you are an \sgml\ user, this is really an essential adjunct to
the standard. On its own, it is of rather limited value.

Taken together these two books and the software must be welcomed. They make
\sgml\ much more accessible to those outside the \sgml\ laager. It is a pity
that critical evaluation of \sgml\ is limited to a few heretics, and that we
tend to accept `standards' (real and {\it de facto\/}) so uncritically.
\smallskip
\rightline{\sl Malcolm Clark}