6 Introducing Markup Languages
Guiding Question: How can plain text describe more than just words?
Imagine receiving a plain text file containing the following:
# The Textsmith Primer
Plain text is the foundation of modern digital writing.
- Portable
- Accessible
- Durable
To a computer, these are merely ordinary characters.
Yet to someone familiar with Markdown, the first line is clearly a heading, while the remaining lines form a paragraph followed by a bulleted list.
How did those simple characters acquire meaning?
The answer lies in markup.
Markup languages transform plain text from a sequence of characters into structured documents. They allow writers to describe what different parts of a document are without necessarily specifying how they should appear.
This simple idea has changed the history of publishing, documentation, and the World Wide Web.
6.1 What Is a Markup Language?
A markup language is a system for annotating plain text with additional information that describes the structure or meaning of a document.
The word markup comes from the publishing industry.
Before computers, editors would literally mark manuscripts with handwritten instructions for typesetters. They might indicate that a heading should appear in a larger font, that a word should be italicized, or that a paragraph should begin on a new page.
These annotations were not part of the text itself. They were instructions about the text.
Modern markup languages perform the same function.
Instead of writing notes in the margins, writers use symbols or tags embedded within plain text to indicate headings, quotations, emphasis, lists, links, tables, and many other structural elements.
6.2 Structure, Not Appearance
One of the most important ideas in this book is the distinction between structure and presentation.
Suppose you are writing the title of a chapter.
A word processor encourages you to think:
“Make this 18-point bold, centered, and blue.”
A markup language encourages a different way of thinking:
“This is a chapter title.”
That distinction may seem subtle, but it changes everything.
Once the structure of a document is known, software can decide how best to present it.
The same document might become:
- a printed book
- a website
- an EPUB ebook
- a PDF
- a presentation
- a Braille document
- a large-print edition
The writer creates the structure.
Software determines the presentation.
This separation between content and appearance is one of the defining strengths of markup languages.
6.3 Markup Is Still Plain Text
One of the remarkable aspects of markup languages is that they remain ordinary plain text.
Consider this HTML fragment:
<h1>The Textsmith Primer</h1>Or this Markdown equivalent:
# The Textsmith PrimerOr this reStructuredText heading:
The Textsmith Primer
====================Each example is simply text.
You can read it in a basic text editor.
You can search it.
You can place it under version control.
You can email it.
You can archive it.
The additional symbols merely provide clues that software interprets later.
6.4 Markup Languages Are Not Programming Languages
Beginners often confuse markup languages with programming languages.
The confusion is understandable.
Both involve writing text that follows specific rules.
Both require correct syntax.
Both are interpreted by software.
Despite these similarities, they serve different purposes.
A programming language tells a computer what to do.
A markup language tells a computer what something is.
For example, a programming language might calculate the average of a list of numbers or control a robot.
A markup language might identify a paragraph, a heading, or a hyperlink.
Markup describes information.
Programming performs computation.
Many modern systems combine the two, but the distinction remains important.
6.5 Descriptive and Procedural Markup
Not all markup languages follow the same philosophy.
Some focus on describing the logical structure of a document.
Others describe how the document should appear.
For example, modern HTML primarily describes structure:
<h2>Introduction</h2>The tag identifies a level-two heading.
It does not specify the font or size.
Those decisions are normally handled elsewhere.
Earlier publishing systems often mixed structure with presentation, while modern systems increasingly separate the two.
Throughout this book, we will repeatedly encounter markup languages that emphasize describing meaning rather than appearance.
6.6 Why Markup Languages Matter
Markup languages solved an important problem.
Writers wanted documents that could be reused in different forms without rewriting them.
Imagine preparing a university textbook.
One publisher wants a printed edition.
Another wants an ebook.
A third wants a website.
A fourth requires accessible formats for screen readers and Braille displays.
Without markup, each version might have to be created independently.
With markup, one source document can generate many different outputs.
This principle is known as single-source publishing, and it has transformed technical writing, academic publishing, and software documentation.
6.7 The Family of Markup Languages
Over the years, many markup languages have emerged, each designed for particular needs.
Some of the most influential include:
- HTML, which powers the World Wide Web.
- XML, which provides a framework for creating specialized markup languages.
- LaTeX, which excels at scientific and mathematical publishing.
- reStructuredText, widely used in Python documentation.
- AsciiDoc, designed for professional technical documentation.
- Markdown, which emphasizes simplicity and readability.
- Typst, a modern document preparation language.
- Graphviz and Mermaid, which use plain text to describe diagrams rather than prose.
Although these languages differ greatly in syntax, they share a common philosophy.
They all enrich plain text by adding structure.
6.8 Why Writers Should Care
Markup languages are not only for programmers.
Increasingly, they are tools for anyone who creates digital information.
Authors write books in Markdown.
Researchers prepare papers in LaTeX.
Technical writers publish manuals in AsciiDoc.
Developers document software using reStructuredText.
Teachers create course materials with Quarto.
Even artificial intelligence systems increasingly generate and consume markup because it preserves structure while remaining easy to process.
For many writers, markup languages remove the distraction of formatting and allow ideas to take center stage.
6.9 Looking Ahead
This chapter has introduced the central idea that plain text can describe more than words—it can describe the structure of knowledge itself.
The chapters that follow explore how different communities approached this idea.
Some wanted to publish scientific papers.
Others wanted to build the Web.
Some sought universal document formats.
Others wanted lightweight syntax for everyday writing.
Each solution reflects the needs of its time, yet all belong to the same remarkable family of markup languages.
6.10 Key Ideas
- Markup languages add structure to plain text.
- They describe what parts of a document are rather than merely how they should look.
- Markup languages differ fundamentally from programming languages.
- The separation of content and presentation enables documents to be published in many formats from a single source.
- HTML, XML, LaTeX, Markdown, reStructuredText, AsciiDoc, Typst, Graphviz, and Mermaid all share the common goal of enriching plain text with meaning.
- Understanding markup begins with understanding structure rather than formatting.
In the next chapter, we answer another question that transformed computing forever:
What if documents could contain links?
That question led to the creation of HTML and, ultimately, the World Wide Web.
For a presentation of various markup languages with a sample document, see Appendix A.