Wird die Verkettung zweier Textdateien, die unter Tex kompiliert werden, immer unter Tex kompiliert?

Wird die Verkettung zweier Textdateien, die unter Tex kompiliert werden, immer unter Tex kompiliert?

Mit anderen Worten: Bildet die Menge aller unter Tex kompilierten Textdateien bei Verkettung ein Monoid?

Ich habe mich vor kurzem ein bisschen mit Plain Tex beschäftigt und meine algebraischen Spinnensinne haben sofort geweckt. Ich dachte, ich könnte die Antwort ganz einfach googeln, aber bisher habe ich nichts gefunden.

Antwort1

Erstens endet eine einfache Tex-Datei mit \bye(und eine Latex-Datei endet mit \end{document}), und alles danach wird ignoriert. Ihre Aussage ist also trivial korrekt, da die zweite Datei nach der Verkettung ignoriert wird.

Wenn wir es \byeals einen „Metabefehl“ betrachten, der in einer Verkettung eingefügt wird, dann ist Ihre Aussage falsch.

Betrachten Sie die Dateien

\def\aa{0}
\aa
\bye

Und

\def\bb{0}
\bb
\ifx\aa\bb\cc\fi
\bye

Jeder von ihnen wird kompiliert, die Verkettung jedoch nicht:

\def\aa{0}
\aa
\def\bb{0}
\bb
\ifx\aa\bb\cc\fi
\bye

produziert

! Undefined control sequence.
l.5 \ifx\aa\bb\cc
                 \fi
? 
! Emergency stop.

Der Grund hierfür ist, dass „undefined“ in der zweiten Datei nicht definiert ist, aber mit der verknüpften Datei \aaidentisch ist .\bb

Antwort2

In einfachem TeX endet eine richtig formatierte Datei mit , \byeum dem Compiler mitzuteilen, dass er nicht mehr nach Eingaben suchen soll. Daher wird durch die Verkettung nur die erste Datei kompiliert, der Rest wird ignoriert. (Also nein.) In LaTeX endet eine kompilierbare Datei \end{document}wieder mit , um dem Compiler mitzuteilen, dass sie fertig ist. Daher wird nur die erste Datei in der Verkettung kompiliert und der Rest wird ignoriert. Außerdem wird die zweite Datei jetzt eine Präambel an einer Stelle haben, die einen Kompilierungsfehler auslösen würde, wenn sie „i“ sehen würde. (Also nein.)

Nicht besprochen werden zusätzliche Einflüsse durch Pakete, Schriftarten, eingegebene Dateien etc.

verwandte Informationen