libbrailleReading by touch

An independent publication about braille and tactile reading. A C library called libbraille was once one of the pieces of software that let Linux drive a braille display. This publication is not that software and has nothing to do with it.

libbraille / Notation

Position 3 · Notation

How Nemeth Code Encodes Mathematics

Algebraic fraction braille Nemeth transcription embossed paper
01

A notation built for a linear medium trying to carry two-dimensional content

Mathematical notation poses a structural challenge that prose does not. An equation like a quadratic formula sits on a page as a spatial object — fractions stack vertically, radicals extend horizontally over their radicands, superscripts float above baselines, subscripts sink below them. A sighted reader scans this two-dimensional space fluidly. Braille has no vertical axis. Every cell follows the one before it in a strict horizontal chain, and every piece of mathematical meaning must be unpacked into that chain without losing any information. Nemeth Code, developed by the blind mathematician Abraham Nemeth and standardised in the United States from the 1950s onward, is the most systematic answer yet devised to that problem.

Understanding Nemeth begins with understanding what it is not. It is not a layer added on top of literary braille, re-assigning a handful of cells for mathematical symbols. It is a separate, self-consistent code that reassigns the entire braille symbol space according to mathematical priorities. In literary braille, a given cell may stand for a letter or contraction, while in Nemeth the same pattern can represent a digit or a mathematical symbol entirely unrelated to that meaning. This is intentional and thoroughgoing: Nemeth prioritises numeric legibility and symbol density over compatibility with literary braille cells. The consequence is that a document mixing prose and mathematics must switch between the two codes, and those switches must be signalled explicitly.

02

Mode switching — telling the reader which code applies

Nemeth is embedded inside literary braille (or, since 2016, inside Unified English Braille) rather than replacing it. A reader working through a textbook encounters the literary code for the surrounding prose, then a Nemeth indicator that opens a mathematical passage, then a terminator that closes it and returns to prose. The opening indicator is a specific two-cell sequence that has no mathematical meaning of its own; it is a procedural signal. The closing indicator is a different two-cell sequence. Everything between them is read as Nemeth.

This switch is not merely a typographic convention. It changes what every subsequent cell means. The same six-dot pattern means something different inside a Nemeth passage than it does outside one, and a reader or translation engine that loses track of the current mode will misread everything that follows. Braille translation software must maintain a mode-state register and update it at every indicator. Errors in mode switching — whether in transcription or in automated translation — are among the most consequential errors in mathematical braille, because they corrupt not just one symbol but all symbols until the state is corrected.

Within a Nemeth passage, a further distinction applies between numeric and alphabetic contexts. Nemeth uses a numeric indicator cell to signal that what follows should be read as digits rather than letters, since the dot patterns for digits overlap with those for letters. Once a numeric sequence is established, it continues until broken by a space or by a letter indicator. These nested mode states — literary versus Nemeth, then numeric versus alphabetic within Nemeth — give the code much of its precision, but they also mean that a reader must carry more contextual state than in any prose system.

03

The spatial problem made linear

With mode signalling established, the deeper challenge is encoding structures that exist in two dimensions. Nemeth handles this by defining explicit opening and closing indicators for every construct that has spatial extent: fractions, radicals, modified expressions, and more. The approach is recursive — indicators can nest inside one another — and the rule is that every opening indicator must be matched by its corresponding closing indicator, in the correct order, before any outer construct can close.

A fraction in print is a horizontal bar with a numerator above and a denominator below. In Nemeth, the fraction opens with a specific indicator cell (dots-1-4-5-6, conventionally written as the fraction open indicator), followed by the numerator, then a fraction line indicator (dots-3-4), then the denominator, then a fraction close indicator (dots-3-4-5-6). The visual bar has been linearised into a sequence: open, top, separator, bottom, close. A complex fraction whose numerator or denominator is itself a fraction simply nests another complete fraction sequence inside the outer one. There is no limit to the depth of nesting, though deeply nested fractions become demanding to read and must be handled with care in transcription.

Radicals — square roots and roots of higher index — follow the same structural logic. A radical opens with a radical indicator, encloses the radicand (the expression under the radical sign), and closes with a radical terminator. If the radical carries an index — a cube root or fourth root — the index is expressed between an index indicator and the radical indicator before the radicand begins. What a sighted reader sees as a single visual object with a horizontal bar extending over content becomes, in Nemeth, a precisely bounded linear sequence.

Superscripts and subscripts are handled by level indicators rather than by spatial position. A superscript indicator tells the reader that what follows sits above the baseline; a subscript indicator signals below-baseline content. After the elevated or lowered content ends, a baseline indicator returns the reading level to normal. In a complex expression — say, a variable with both a superscript and a subscript, as is common in tensor notation — the indicators stack in a defined order, and the rule for that order is unambiguous in the Nemeth specification.

04

What this architecture achieves and where it presses hardest

The structural logic of Nemeth is consistent enough that a trained reader can decode novel expressions by applying the mode and level rules rather than by recognising memorised symbol sequences. That systematicity is the code's main intellectual achievement. A reader who knows that every spatial extension of print notation maps to an open-content-close triple can work through unfamiliar notation with confidence, provided the transcription is correct.

The code presses hardest at notation that is itself non-standard or domain-specific. Chemistry, for instance, uses two-dimensional structural diagrams that Nemeth does not address, because the structural formula problem is genuinely different from the algebraic expression problem — a structural diagram is a graph, not a nested expression. Commutative diagrams in category theory, musical staff notation interpolated with equations, and tabular arrays of expressions all exceed what a purely linear bracketing system can do without transcriber intervention and explanatory notes.

Spatial layout within a single line — such as an equation number flush right while the equation sits flush left — is handled by formatting conventions outside Nemeth's symbol set, which is to say by the transcriber's layout decisions rather than by the code itself. Nemeth specifies what symbols mean; it does not fully specify how a page of mathematical braille should be laid out. Standards for layout are addressed in broader transcription guidelines, most authoritatively those of the Braille Authority of North America.

What the code does do, within its domain, is give every piece of a well-formed algebraic or calculus expression a unique, recoverable representation. The linearisation is information-preserving: given a correctly transcribed Nemeth passage, a reader can reconstruct the original expression completely. That is not a trivial achievement. Embossed paper is thick and braille books are bulky; every indicator cell costs space. Yet Nemeth's designers accepted that cost rather than introducing ambiguity. The judgment was correct. A mathematics code that saves space by being sometimes ambiguous is not, in any useful sense, a mathematics code.