Types of electronic markup
There are three general categories of electronic markup: Presentational, procedural, and descriptive.
Presentational markup is that used by traditional word-processing systems, binary codes embedded in document text that produced the WYSIWYG effect. Such markup is usually designed to be hidden from human users, even those who are authors or editors.
Procedural markup is embedded in text and provides instructions for programs that are to process the text. Well-known examples include troff, LaTeX, and PostScript; it is expected that the processor runs through the text from beginning to end, following the instructions as encountered. Text with such markup is often edited with the markup visible and directly manipulated by the author. Popular procedural-markup systems usually include programming constructs, such that macros or subroutines can be defined and invoked by name. An example of descriptive markup would be the troff’s .bd, which instructs the processor to switch to a bold-face font.
In Descriptive markup, the markup is used to label parts of the document rather than to provide specific instructions as to how they should be processed. The objective is to decouple the inherent structure of the document from any particular treatment or rendition of it. Such markup is often described as “semantic”. An example of descriptive markup would be HTML’s <cite> tag, which is used to label a citation.
There is considerable blurring of the lines between the types of markup. In modern word-processing systems, presentational markup is often saved in descriptive-markup-oriented systems such as XML, and then processed procedurally by implementations. The programming constructs in descriptive-markup systems such as TeX may be used to create higher-level markup systems which are more descriptive, such as LaTeX.
In recent years, a number of small and largely unstandardized markup languages have been developed to allow authors to create formatted text via web browsers, for use in wikis and web forums.