Beim Durchstöbern von Don Knuths Veröffentlichungen zu TeX wurde ich auf die Datei tripman.pdf
in meiner MacTeX-Distribution verwiesen. Wie TeXnicians vielleicht wissen, erklärt diese Datei den Zweck des TRIP
Tests und seine Verwendung, zusammen mit der Bereitstellung der Quelle für die Eingabedateien und der korrekten Ausgabe. Ich beschloss (dummerweise?), den Test selbst auszuprobieren, und hier beginnt das Problem.
Ich habe zwei Fragen:
- Wie muss ich in Schritt 2 von Anhang A vorgehen,
INITEX
um die Parameter so zu ändern, dass sie wie dort angegeben eingestellt sind? Ich habe von „Änderungsdateien“ gehört, die die Ausgabe vonweave
,tangle
,cweave
, und ändern, ohne das Original oder die Dateictangle
zu ändern , aber meines Wissens können solche Dateien das Verhalten von ausführbaren Dateien nicht ändern.WEB
CWEB
UNIX
Ohne die TeX-Quelle zu verändern, wie kann das gemacht werden? - Soll in Schritt 4
INITEX
die unveränderte Version oder die geänderte Version aus Schritt 2 ausgeführt werden? Ich gehe davon aus, dass zu Debugzwecken die geänderte Version verwendet werden soll, möchte dies aber noch einmal bestätigen.
Für weitere Informationen zu möglichen Herausforderungen bei der Durchführung dieses Tests wäre ich sehr dankbar. Ich bin ein häufiger (wenn auch zugegebenermaßen unerfahrener) LaTeX-Benutzer, der vor kurzem begonnen hat, die Werke von Don Knuth über Schriftsatz und Typografie zu lesen, und brauche möglicherweise ein wenig Hilfe beim Verständnis dieser Materialien.
Mein Rechner ist ein Mac, auf dem TeXLive 2019 in Form von MacTeX läuft. Sollten weitere benötigte Informationen fehlen, fordern Sie diese bitte in den Kommentaren an.
Danke schön.
Dies ist mein erster Ausflug in TeX.SX, daher kann die Qualität meiner Fragen unterdurchschnittlich sein. Ich entschuldige mich für etwaige Fauxpas, die mir beim Schreiben dieser Frage unterlaufen sein könnten, und freue mich über alle Vorschläge, wie das Obige verbessert werden kann. Vorschläge zur angemessenen Kennzeichnung sind sehr willkommen. Bitte seien Sie nachsichtig.
Antwort1
Die Implementierung von \TeX
erfolgt in tex.web
. Diese Datei ist eine generische Implementierung, die auf ein Betriebssystem oder allgemein auf einen bestimmten Computer und einen Pascal-Compiler zugeschnitten werden muss. So müssen beispielsweise Dateinamenskonventionen und die Ein- und Ausgabeprozeduren an die Vorgaben eines bestimmten Systems angepasst werden und wenn der Pascal-Compiler beispielsweise einen else
Pfad in einer case
Anweisung nicht zulässt, müssen mehrere Stellen im Quellcode geändert werden.
Daher lesen die Programme TANGLE
nicht nur eine einzelne Datei, sondern können auch eine Änderungsdatei für eine solche Datei verarbeiten. Zum Kompilieren benötigen Sie also eine Datei , die die Änderungen für Ihren Computer enthält.WEAVE
WEB
\TeX
tex.web
tex.ch
Um zu prüfen, dass sich Ihre Änderungsdatei nicht \TeX
auf eine Weise ändert, die Ihre Implementierung inkompatibel macht, d. h. dass dieselbe .tex-Datei eine andere Ausgabe als andere \TeX
Implementierungen erzeugt, trip
muss der Test bestanden werden. Es ist eine spezielle Version von INITEX
mit vordefinierten Werten für bestimmte Parameter zur Kompilierungszeit erforderlich, um die Ausgabe des Tests vergleichbar zu machen. Um einen trip
Test durchzuführen, müssen Sie also eine spezielle Version von erstellen, \TeX
und das bedeutet, dass Sie sich mit Ihrer Änderungsdatei herumschlagen tex.web
und die resultierende Pascal-Ausgabe mit Ihrem Pascal-Compiler kompilieren müssen.
Die zusätzlichen Änderungen für Ihre lokale Änderungsdatei werden im Testverfahren ausführlich beschrieben und dort werden die Schritte für den Test erklärt. Die Ergebnisse müssen mit der vom Standardsystem generierten Ausgabe verglichen werden \TeX
. Diese Ergebnisse werden ebenfalls im Testverfahren aufgeführt und können sich mit jedem neuen ändern
tex.web
.
Auf CTAN
finden Sie die entsprechenden Dokumente und Quellen:
(1)https://ctan.org/tex-archive/systems/knuth/dist/texenthält tex.web
und tripman.tex
alle für den trip
Test benötigten Dateien;
(2)https://ctan.org/tex-archive/systems/knuth/dist/webenthält den Quellcode und das TANGLE
Handbuch ;WEAVE
WEB
(3)https://ctan.org/tex-archive/systems/knuth/local/tex/initex.ch
ist ein ungeprüftes und unvollständiges Beispiel einer Änderungsdatei für den trip
Test.
(Sehenhttps://ctan.org/tex-archive/systems/unixfür komplette Systeme für verschiedene Pascal-Compiler; beachten Sie jedoch, dass ich die Verwendung dieser Systeme nicht empfehle.)
Wenn Sie herunterladen
https://ctan.org/tex-archive/systems/knuth/dist/lib/webmac.texSie können (i) ohne Änderungsdatei ausführen weave tex.web
oder usw., um eine *.tex-Datei zu erhalten, die von den generischen Programmen verarbeitet werden kann, und (ii) Informationen dazu erhalten. Natürlich können Sie auch eine Änderungsdatei hinzufügen und sehen, was dann passiert.weave tangle.web
plain tex
Wenn Sie herunterladen
https://ctan.org/tex-archive/systems/texlive/Source/texlive-20190408-source.tar.xz
Sie finden das Verzeichnis texk\web2c\triptrap
mit den Testergebnissen für dieses Texlive-System. (Sie müssen natürlich xz
mit Dateien umgehen können.)tar