The didactic GELLMU production system provides a command “\anch” for anchors that is parallel to the HTML anchor tag “<a>”.
An example of basic usage is given by the following markup for an anchor to the World Wide Web Consortium (W3C):
The markup is used here for this anchor.
The urlanch command provides a succinct way to insert an anchor whose visible content is the referenced URI.1 Either of these commands may be used in a display, as here:
| http://www.w3.org/. |
One may ask whether there is a difference between the use of a macro Urlanch defined by
| \newcommand{\Urlanch}[1]{\anch[href="#1"]{\path{#1}}} |
and urlanch. The latter is used here:
| http://www.w3.org/. |
There is a difference. The command urlanch corresponds to an SGML element, while anything defined with newcommand is fully expanded by the GELLMU syntactic translator before SGML generation. This means that the treatment of urlanch by a formatter is completely independent of the treatment of anch and path by a formatter, while the treatment of Urlanch, if so defined, is entirely dependent on the formatter's treatment of the other two names.
Whether it is sensible to undertake the effort of coding formatters to handle the SGML element urlanch in addition to the SGML elements anch and path depends upon whether or not one imagines that there is at least one hypothetical output format for one's document type that might benefit from independent treatment.2
If one thinks about these issues solely in terms of formatting from GELLMU markup to LaTeX, one will come to realize that there are several approaches to the needs traditionally met in the LaTeX world with packages: