
Warum ist es so schwierig, TeX-Quellen in C zu finden? Ich weiß, dass der vollständige Quellcode in den tex.web
und pdftex.web
Dateien enthalten ist, aber gibt es keine Möglichkeit, ihn in einfachen C-Code umzuwandeln?
Antwort1
Es ist schwierig, sie zu finden, weil sie nicht existieren. TeX ist in Pascal geschrieben (eine der vielen Varianten davon), aber die Quelle ist durchsetzt mit Beschreibungen des Codes im Websystem, das von Knuth und anderen im Rahmen eines „Literate Programming“-Projekts entwickelt wurde.
Die kommentierte Quelle befindet sich in tex.web
(und tex.ch
, einer zusätzlichen Datei, in der Anpassungen für bestimmte Betriebssysteme definiert sind); man kann eine tex.tex
Datei erhalten, indem man
weave tex.web
und dann die Datei mit tex
oder kompilieren pdftex
. Den Programmcode erhält man durch Ausführen von
tangle tex.web
das produziert tex.p
.
Moderne Distributionen übersetzen den Pascal-Code mit einem Hilfsprogramm in C, aber ich glaube nicht, dass der C-Code besonders gut lesbar ist. Wenn Sie eine TeX Live-Distribution zur Verfügung haben, können Sie sagen
texdoc tex
Dadurch wird eine PDF-Datei mit dem kommentierten Pascal-Code geöffnet.
Antwort2
Der C-Quellcode von Y&Y TeX, einem einst kommerziellen Produkt (Windows), wurde als freie Software veröffentlicht. Sie können ihn hier herunterladen:http://code.google.com/p/yytex/