Notes
This section provides some additional features and warnings.
- Lines containing HTML comments.
The HTML output by
weav is broken into lines containing not more than 80 characters
each. When the HTML text is being copied, the existing line breaks
are copied as well, so there is no problem with `<!--
' symbols
unless the original Web 68 file contains a line more than 80 characters
long or a line with a snippet that expands to a line of more than 80
characters. Such lines should not have `<!--
' symbols in
them.
- The weav output contains embedded codes that cause HTML to
indent and break lines as necessary, depending on the fonts used and
the desired page width. For best results it is wise to adhere to the
following restrictions:-
- Comments in Algol 68 text should appear only after units; that
is, after semicolons, after bold tags like then
or
do, or before bold tags like end
or od.
- Don't enclose long Algol 68 texts in snippets, since
the indentation and line breaking codes are omitted when the
snippet is translated from Algol 68 to HTML. Stick to
simple expressions or units.
- Comments and module tags are not permitted in snippets. After a
`!' signals the change from HTML text to Algol 68 text, the
next `!' that is not part of a string or control text ends
the snippet.
- Because an Algol 68 comment must begin and end with the same
symbol, it is quite possible to nest a comment delimited by
`#' with a comment delimited by co
or vice
versa. At present, tang and weav handle comments in different
ways and it is necessary to satisfy both conventions: tang ignores
`!' characters entirely, while weav uses them to switch
between HTML text and Algol 68 text.
- Algol 68 bold tags must appear entirely in uppercase letters in
the Web 68 file; otherwise their special nature will not be recognised
by weav. You could, for example, have an end
identifier or
macro and it will not be confused with Algol 68's end.
- Sometimes it is desirable to insert spacing into Algol 68 code
that is more general than the thin space provided by `@,'.
The @h command can be used for this purpose; for example,
`
@h<hr>@>
' will emit a horizontal rule.
- weav and tang are both designed to work with a single input
file, called a Web 68 file. Any changes required in the Web 68 file
should be made with a version control system. There are no ``change
files'' corresponding to the original Web system created by Donald
Knuth.
Sian Mountbatten
2012-01-05