Nemeth Code: A Historical Perspective

The following is a speech given by Caryn Navy, BANA Refreshable Braille Technical Committee:

It's very exciting to be here and to see both the current level of math accessibility and the degree of enthusiasm for future progress in this area. Since I've already gotten my AARP invitation letter, I felt fine about being asked to speak from a historical perspective.

I was honored to interview Dr. Nemeth about the history of the Nemeth Code for the Raised Dot Computing newsletter in the fall of 1991. It is indeed a fascinating history.

Dr. Nemeth began working on his math code around 1946. Like this morning's keynote speaker, Nemeth was advised by counselors to pursue a career in psychology. He was working at the AFB as a psychologist during the day. But he was taking math classes at night at Brooklyn College. He did volunteer tutoring for other students at help sessions. Many of the students were young men who had taken Calculus I before leaving for the war and were now taking Calculus II after returning. With that long gap, they needed some extra help. In a room full of blackboard panels, each student would write out the problem they wanted help with on his own panel, going as far as he could. The tutors would work out the rest of the problem. The students would read their problem and work to Abe, and he would finish the solution on the blackboard. Writing on the blackboard was not difficult for him. His father had always made it a point to show him raised print on blocks, mailboxes, license plates, etc., even the tubing for neon signs with script lettering. Abe impressed the chair of the Math Department so much that when someone on the teaching staff became ill, they sent Abe a telegram to see if he was willing to fill in for the rest of the semester. "Can you start on Monday evening?" the telegram said on Friday evening. He said yes and boned up over the weekend. Dr. Nemeth's math career had been delayed by the advice of counselors. But it was off and running now.

He taught his students how to read math aloud. But he also needed a way to write things down when taking notes. At the time the standard code for writing math was the Taylor Code from England, written by H.M. Taylor. He thought that the Taylor Code used grouping signs too much. For example, because it had no signs for beginning and ending a fraction, writing a fraction could require a lot of grouping signs, like writing a fraction in many programming languages.

So he started working on a private math code, based on his rules for reading math aloud. For example, when you say, "x to the n power," the phrase "to the" means "begin a superscript," and the word "power" means "return to the baseline." So he created the superscript and baseline signs in his private math code. To the contrary, the Taylor Code did not have general signs for superscripts. It used specific signs for "squared," "cubed," and "to the fourth power" (the gh, sh and th signs). But beyond that you were out of luck.

Fortunately this private Braille math code did not stop there. One of Abe's blind coworkers on his day job at the AFB was a nuclear physicist from Columbia University named Dr. Clifford Witcher. Dr. Witcher asked Abe if he had a table of integrals. Well, in order to share his table of integrals with Dr. Witcher, Abe had to teach him his private math code. Witcher happened to be serving on the Mathematics Subcommittee of the Joint Uniform Braille Committee (JUBC), a predecessor of BANA. Witcher liked Nemeth's math code so much that he brought it to the attention of his colleagues on the math subcommittee. When they asked Nemeth to write up a proposal, he did. Modified with some editorial changes, the write-up was adopted as the official Braille math code in the U.S. and was published by APH in 1952. The Nemeth Code was later adopted as the official Braille math code in Canada and New Zealand as well.
In 1956 APH printed a new edition of the Nemeth Code rule book. The major change was a reorganization, putting advanced material at the end of the book. This was material covered after tenth grade at the time. For example, The Greek letters pi and sigma were in the main body of the book, but the other Greek letters were in the advanced section at the back. Well, the U.S. math curriculum changed quite dramatically soon after that when we were trying to catch up with the Russians after Sputnik in 1957. For example, an introduction to set theory was moved into the lower grades, but the set theory symbols were in the advanced section of the Nemeth Code rule book.

The code was modified again in 1965. The major change was removing a rule that called for using two spaces to switch between math context and narrative context. Switching context would help the reader know the difference between "you know that" and "y < t," or between "farmer" and "f times the square root of m." The reason for eliminating this rule was that it was sometimes difficult for readers to tell the difference between one space and two spaces. With historical hindsight from the work of computerizing translation between print and Braille, it certainly seems sad that the committee didn't simply change these delimiters from two spaces to other indicators easier to recognize.

The last official revision, published in 1972, did not involve major changes; Braille readers probably didn't notice the differences. After that there were some additions to Nemeth Code: for key caps and for ancient numeration systems such as Roman numerals. A chemistry code was added in 1998.

As stated in the introduction to the Nemeth Code, "The Code is intended to provide as an accurate an impression as is possible to the Braille reader of the corresponding printed text, and this is one of its principal features. When the Braille reader has a clear conception of the corresponding printed text, the area of communication between himself, his teacher, his colleagues, his associates, and the world at large is greatly broadened. A test of the accuracy with which the Code conveys information from the print to the Braille text is to effect a transcription in the reverse direction. The amount of agreement between the original printed text and one transcribed from the Braille is a measure of the Code's accuracy."

The official code book, Nemeth Code for Mathematics and Scientific Notation is intended as a reference book. Dr. Nemeth jokes that learning Nemeth Code from this reference book is like learning a language from a dictionary. There are a variety of other resources for learning Nemeth Code. These include books, summaries and reference sheets, computerized tutorials, an NLS training course for transcribers, and workshops and accompanying materials made available by transcriber organizations. But I recall being overjoyed to find several Braille copies of the Nemeth Code rule book in the back storage area in my high school Braille resource room. When my math teacher introduced a new symbol, I could look it up easily by name. Or when I found a new symbol in a Braille math or science book, I could look it up in an index "alphabetized" by Braille cell order.

A guiding principle for Dr. Nemeth in developing Nemeth Code was to base the Braille representation on the inkprint representation, not on its meaning. This allows a transcriber to produce the Braille from the inkprint copy, without knowing the meaning of the inkprint symbols.

Another principle was providing contextual clues to aid in mentally parsing an expression properly from the beginning, reducing the need to go back and reinterpret an expression as it unfolds. An example of this is the symbols which explicitly show the level of complexity in a fraction.

Nemeth Code serves young students and adults at all levels. It is not wasteful of space, but it does not go overboard with trying to conserve space at the cost of clarity.

Dr. Nemeth would not be a mathematician if he was completely satisfied with the Nemeth Code. He has been working on a system called Nemeth Uniform Braille System (NUBS). Many of his goals in developing NUBS are similar to the ICEB goals in developing the Unified English Braille Code (UEBC), which has been officially adopted by the ICEB and is in the process of being adopted by several English-speaking countries. The history of those developments is still being written.

One way of taking a historical look at Nemeth Code is to see where it fits with respect to other math notation systems and other Braille systems. There is an interesting web page for a research team called Group UMA (Universal Math Accessibility), a joint American and European project for developing cross translation between Nemeth Code, the German Marburg Braille math code, French math notation, LaTEX, and Math ML. They point out that both Nemeth Code and Marburg Code are context sensitive languages, which is not surprising as their development predates modern work on the parsability of context-free languages. One example that the UMA folks give to demonstrate parsing difficulties is the explicit statement in Nemeth Code of every superscript or subscript level. For example, in writing e to the x squared plus 1 power in Nemeth Code, a single superscript sign precedes the x,super-super, an explicit superscript-superscript sign precedes the 2 of x squared, and a single superscript precedes the plus 1. In a context-free language, a superscript within a superscript is written simply as asuperscript, since its nesting within a superscript makes that clear. Differences such as this complicate the task of parsing Nemeth Code in translating it into another system.

Since we're talking historically and I'm representing the BANA Refreshable Braille Technical Committee, I want to tell you about work that we did involving Nemeth Code and refreshable Braille at Raised Dot Computing during the 1980s. When I was teaching in the Math Department at Bucknell University in Pennsylvania, my husband David Holladay began Raised Dot Computing, developing Apple II software that opened vast horizons for me and other blind users. One of his projects was software that took Nemeth Code Braille material (for me usually text written on my tape-based VersaBraille) and transformed it into printed math either on the computer screen (or an early data projector) or in hardcopy inkprint output on a dot matrix printer. RDC sold this software to more than a handful of people. The final version of this was an add-on to our Apple II BEX software called MathematiX. In the Raised Dot Computing Newsletter, David interviewed one of the beta testers, Yohei Yagi, a graduate studen in astro physics from Japan at the University of Texas.

Back in those days it seemed that most people who learned of this Nemeth Code back translation software said, "Why on earth do you have something like that? We want something that works in the other direction, something that produces Nemeth Code."

Today people are routinely using tools for automating the production of Nemeth Code, as you'll hear in the next presentations. It's encouraging that math accessibility has come so far from those Apple 2 days that now there are many voices crying out for a tool working in the other direction, a tool to produce print from Nemeth Code. But of course they don't want it to require outdated equipment like the Apple 2 computer and dot matrix printers. Several projects in this direction are under way.

Nowadays there are many more tools to which to bridge such a Nemeth Code back translation system, such as systems for printing LaTEX and Math ML. But it is important to remember our history as a guide to the future. So I'd like to describe the MathematiX system in a bit more detail.

We used some friendly modifications to Nemeth Code in the input for MathematiX. As I noted earlier with the "you know that" and "farmer" examples, in reading Nemeth Code or translating it into print, you need to know whether something is in literary or mathematical context. The input to MathematiX used delimiters to separate literary from mathematical context. We used dot 4, l set off as a word to introduce literary text and dot 4, m set off as a word to introduce mathematical notation.

In Nemeth Code there is also ambiguity between the equal sign and the Greek lowercase letter kappa with spaces around it. So in brailling for MathematiX, you had to place dots 456 before lowercase kappa.

MathematiX also used a simple, but very effective set of add-on symbols that gave the blind user nearly perfect control over the inkprint output. There was a simple way of superimposing two symbols to create new math symbols and also a system for controling the inkprint positioning. I recall using this ability to create number lines.

Further, you could ask MathematiX to verbalize a math document. You could embed indicators in the Braille text to "stop talking" or "resume talking." You could request that a file be processed with only the new material verbalized.

When printing, the software would grind to a halt at a "structure error." An example of a structure error was starting a fraction and not ending it. The verbalization system would always issue a "start talking" command on a structure error. So if you placed a "stop talking" command at the top of a document, you would only start hearing from MathematiX if there was a structure error. When attempting to make a printout, hearing a message like "fraction started but not ended in paragraph 17" enabled you to correct errors quickly.

To help make this history come alive, David has gotten much of this old Apple 2 software to work on a Windows machine under a freeware Windows-based Apple 2 emulator. (Family life can be very interesting when my husband is very proud of the Apple II emulator on his computer and our teenage son is very proud of the Windows Longhorn emulator on his computer.) I will give a brief demonstration of using this software, entering Nemeth Code and getting print math on the screen. Feel free to contact me for a copy of the companion CD with this software running through Apple II emulation. This CD also has other historical material, including the archive of the RDC Newsletter.  Thank you very much for the opportunity to speak here today.