
Почему так сложно найти исходники TeX на языке C? Я знаю, что полный исходный код включен в файлы tex.web
и pdftex.web
, но нет ли способа преобразовать их в простой код C?
решение1
Их трудно найти, потому что их не существует. TeX написан на языке Pascal (одна из его многочисленных разновидностей), но исходный код перемежается описанием кода в веб-системе, разработанной Кнутом и другими в рамках проекта «грамотного программирования».
Прокомментированный исходный код находится в tex.web
(и tex.ch
дополнительном файле, где определены адаптации для конкретных операционных систем); файл можно получить, tex.tex
запустив
weave tex.web
и затем компилируем файл с помощью tex
или pdftex
. Код программы получается путем запуска
tangle tex.web
который производит tex.p
.
Современные дистрибутивы транслируют код Pascal в C с помощью вспомогательной программы, но я не думаю, что код C особенно удобочитаем. Если у вас есть дистрибутив TeX Live, вы можете сказать
texdoc tex
который откроет PDF-файл с прокомментированным кодом Pascal.
решение2
Исходный код C для Y&Y TeX, некогда коммерческого продукта (Windows), был выпущен как бесплатное программное обеспечение. Вы можете загрузить его сhttp://code.google.com/p/yytex/