Previous: , Up: Overview   [Contents][Index]

1.14 History

Richard M. Stallman invented the Texinfo format, wrote the initial processors, and created Edition 1.0 of this manual. Robert J. Chassell greatly revised and extended the manual, starting with Edition 1.1. Brian Fox was responsible for the standalone Texinfo distribution until version 3.8, and originally wrote the standalone makeinfo and info programs. Karl Berry has continued maintenance since Texinfo 3.8 (manual edition 2.22).

Our thanks go out to all who helped improve this work, particularly the indefatigable Eli Zaretskii and Andreas Schwab, who have provided patches beyond counting. François Pinard and David D. Zuhn, tirelessly recorded and reported mistakes and obscurities. Zack Weinberg did the impossible by implementing the macro syntax in texinfo.tex. Thanks to Melissa Weisshaus for her frequent reviews of nearly similar editions. Dozens of others have contributed patches and suggestions, they are gratefully acknowledged in the ChangeLog file. Our mistakes are our own.


In the 1970’s at CMU, Brian Reid developed a program and format named Scribe to mark up documents for printing. It used the @ character to introduce commands, as Texinfo does. Much more consequentially, it strove to describe document contents rather than formatting, an idea wholeheartedly adopted by Texinfo.

Meanwhile, people at MIT developed another, not too dissimilar format called Bolio. This then was converted to using TeX as its typesetting language: BoTeX. The earliest BoTeX version seems to have been 0.02 on October 31, 1984.

BoTeX could only be used as a markup language for documents to be printed, not for online documents. Richard Stallman (RMS) worked on both Bolio and BoTeX. He also developed a nifty on-line help format called Info, and then combined BoTeX and Info to create Texinfo, a mark up language for text that is intended to be read both online and as printed hard copy.

Moving forward, the original translator to create Info was written (primarily by RMS and Bob Chassell) in Emacs Lisp, namely the texinfo-format-buffer and other functions. In the early 1990s, Brian Fox reimplemented the conversion program in C, now called makeinfo.

Reimplementing in Perl

In 2012, the C makeinfo was itself replaced by a Perl implementation generically called texi2any. This version supports the same level of output customization as texi2html, an independent program originally written by Lionel Cons, later with substantial work by many others. The many additional features needed to make texi2html a replacement for makeinfo were implemented by Patrice Dumas. The first never-released version of texi2any was based on the texi2html code. That implementation, however, was abandoned in favor of the current program, which parses the Texinfo input into a tree for processing. It still supports nearly all the features of texi2html.

The new Perl program is much slower than the old C program. We hope the speed gap will close in the future, but it may not ever be entirely comparable. So why did we switch? In short, we intend and hope that the present program will be much easier than the previous C implementation of makeinfo to extend to different output styles, back-end output formats, and all other customizations. In more detail:

See Reference Implementation, for more on the rationale for and role of texi2any.

Previous: , Up: Overview   [Contents][Index]