Можно ли сегодня компилировать файлы TeX 1978 года?

Можно ли сегодня компилировать файлы TeX 1978 года?

Недавно я случайно просматривал историю TeX и заметил, что Кнут первоначально выпустил его в 1978 году (согласноВикипедия).

Есть ли файлы TeX с того времени? Можно ли их скомпилировать с текущими сборками TeX?

Я наткнулся наэтот, в котором есть файлы TeX, датированные 1978 годом, но они не все кажутся самодостаточными и содержат некоторые странные символы (↑, ←), а также какой-то заголовок файла.

решение1

Архив SAILDART, цитируемый в вопросе, действительно содержит файлы времен TeX78. Задание TeX78, как и текущее, может быть «модульным», то есть оно может состоять из нескольких входных файлов, а не только из одного; вероятно, это причина того, что некоторые из файлов, которые вы просматривали, не являются самодостаточными.

И "словарь", и синтаксис TeX78 отличаются от текущей программы. Оригинальное руководство по TeX78 было опубликовано в виде отчета по компьютерным наукам Стэнфордского университета; отсканированный файл pdf можно найти здесьздесь(спасибо Дэвиду Пёртону за его находку). Некоторые ранние изменения, которые двигались в направлении TeX82, включены в скан (файл "ERRATA.TEX; см. физическую страницу 117 сканированного файла); эти изменения были включены в программу и оригинальное "публичное" руководство, опубликованное Американским математическим обществом.

Вот некоторые из существенных различий.

Первоначальная программа была написана на языке SAIL; клавиатура компьютера SAIL имела другие небуквенные символы, чем на стандартной американской клавиатуре "qwerty". В частности, были стрелки, указывающие вверх и вниз (назначенные для выполнения тех же действий, которые сейчас выполняют клавиши ^и _). Не было &; вместо этого был кружок времени (называемый фамильярно "splat"), который использовался в качестве разделителя столбцов таблицы. (Их может быть больше.)

Что касается имен команд, то первым символом должна была быть буква, но после нее разрешался любой другой символ (TeX82 допускает только буквы). Начальная буква могла быть как заглавной, так и строчной, но после этого регистр не различался; таким образом, \TeX= \TEx= \Tex= \TEX, хотя рекомендовалось соблюдать последовательность.

Некоторые основные названия последовательностей управления были другими: \chcodeвместо \catcode; \hjustвместо \hbox(хотя это было изменено до выпуска руководства AMS), а синтаксис отличался от синтаксиса TeX82 -- \hbox to <dimen>.

Доступ к шрифту определялся как \:x, где «x» представляет любую букву; поскольку длина была одинаковой, между директивой шрифта и текстом не требовалось пробела, поэтому он \:bboldбудет обрабатываться так же, как \:b bold.

В руководстве не приводится список примитивов, но примитивы можно вывести из определений, приведенных в приложении B (" basic.tex", что соответствует " plain.tex" TeX82). Они также не называются "примитивами", поэтому непродуктивно искать "примитив" в файле.

Возможно, можно было бы определить механизм синтаксического анализа для распознавания и обработки старого синтаксиса, но это будет непросто; вероятно, было бы проще внести необходимые изменения, если документ действительно нуждается в реконструкции.

Связанный контент