NACHRICHT! Kürzlich hat die längst überfällige Implementierung von E-Tex hinzugefügt! Die E-TEX-Erweiterung ist erforderlich, um Latex zu betreiben. Dies ist also eine sehr willkommene Ergänzung der Familie der Tex-Programme. Anweisungen zum Einrichten von Latex finden Sie im Readme.txt .
Dies ist eine manuelle Übersetzung von Tex.Web Version 3.141592653 in Standard C ++. Meistens ist es eine direkte Übersetzung der ursprünglichen Pascalquelle mit sehr minimalen Änderungen. Die Menge an C ++ (dh nicht auch c) ist sehr minimal. Bemerkenswerterweise habe ich eine Array -Klasse hinzugefügt, um die gleiche Indizierung wie im Original zu halten und auch BoundSchecking zu erhalten.
Was ist der Zweck dieses Programms? Nun, ich bin seit langem fasziniert von Donald Knuth und seiner Arbeit und insbesondere von Tex. Tex ist eines der am besten dokumentierten Programme da draußen und der Quellcode ist natürlich verfügbar. Eine fehlende Funktion der aktuellen Implementierungen ist jedoch, dass der Quellcode maschinell in C konvertiert ist, er ist nicht leicht zu verstehen oder durch den Code in einem Debugger zu treten. Deshalb habe ich beschlossen, das Programm in C ++ zu übersetzen. Auf diese Weise erlangt man hoffentlich auch ein gewisses Verständnis dafür, was der Code tut.
Ein weiterer Aspekt war, dass ich daran interessiert war zu wissen, wie lange es dauern würde, das Programm zu schreiben. Ich habe keine Stop -Wache zur Verfügung gestellt, aber eine grobe Schätzung ist, dass es ungefähr 30 Stunden dauerte, um das gesamte Programm einzugeben, und mehr als doppelt so, dass alle Tippfehler und andere Fehler eingeführt wurden, bevor es schließlich den Trip -Test bestand. Dies war eine Art von dem, was ich erwartet hatte, außer dass ich dachte, die Debugging -Zeit würde der Zeit entsprechen, in der ich es brauchte, um sie einzugeben. Hätte ich in meinem Ansatz systematischer gewesen und mehr Behauptungen und Überprüfungen von Anfang an eingeführt. Die Debugging -Zeit wäre erheblich kürzer gewesen.
Das Programm besteht aus zwei Dateien rstex.h.pre und rstex.cpp.pre . Diese beiden Dateien müssen durch ein anderes Programm CreatePoolFile vorverarbeitet werden, das alle speziellen Zeichenfolgen im Programm in Zahlen umwandelt (wie das ursprüngliche Tangle -Programm) und eine String -Pooldatei erstellt. Nach dieser Vorverarbeitung haben wir drei Dateien: rstex.h , rstex.cpp und tex.pool . rstex.cpp kann dann von einem nicht amtierenden C ++-Compiler zusammengestellt werden, und die ausführbare Datei kann ausgeführt werden.
Dies ist nicht die offizielle Version von Tex, sondern nur auf der offiziellen Version von Tex. Es kann Fehler enthalten, die in der offiziellen Version nicht vorhanden sind. Es wird den Trip -Test bestehen, aber der Trip -Test wird nicht alles testet. In keiner Weise ist der Autor dieses Programms für direkte oder indirekte Schäden verantwortlich, die sich aus seiner Verwendung ergeben können. Es ist nicht als funktionierendes Typensatzsystem gedacht, es ist für Bildungszwecke gedacht, für diejenigen, die verstehen möchten, wie diese komplexe Software funktioniert.
Ich habe auch MF.Web für Windows und Unix übersetzt, aber derzeit unterstützt nur die Windows -Version die grafische Bildschirmausgabe.
Ein kleines Programm zum Anzeigen der ursprünglichen Tex -Schriftartbitmaps (PXL, GF, PK oder MF). Dieses Programm funktioniert sowohl unter Linux als auch auf Windows sowie auf Mac, muss jedoch die Installation von QT benötigen.
Weit entfernt von vollständigem Programm zum Lesen von DVI -Dateien, nur für Windows, aber vielleicht gibt es eines Tages eine QT -Version.
Diese Programme sind Copyright (C) 2023 von Richard Sandberg (Mylodon bei Google Mail dot com). Der ursprüngliche tex.web ist Copyright (C) 1982 von Donald Knuth.
Diese Programme dienen nur für Bildungszwecke, die gesamte kommerzielle Nutzung ist strengstens verboten.