Ich lese in "Was ist der Unterschied zwischen TeX und LaTeX?" dass LaTeX eine Sammlung von Makros (eine Erweiterung) ist, die auf TeX aufbauen. Angeblich sollten sich TeX-Grundelemente dann in LaTeX genauso verhalten wie in TeX. Es scheint jedoch, dass dies nicht immer der Fall ist. In "Wie wird \char im Mathematikmodus verarbeitet?", wird erklärt, warum \char
sich der Textmodus anders verhält als der Mathematikmodus. Dies ist aber nur in TeX der Fall. In LaTeX \char
verhält es sich jedoch im Text- und Mathematikmodus identisch, wie aus dem folgenden Beispiel ersichtlich ist:
\documentclass{article}
\begin{document}
In text mode, we obtain \char"5. In math mode, we also obtain $\char"5$.
\end{document}
In TeX ist das Ergebnis anders:
In text mode, we obtain \char"5. In math mode, we obtain $\char"5$.
\bye
Es scheint, dass einige TeX-Grundelemente (mindestens eines: \char
) in LaTeX neu definiert werden. Ich möchte wissen, ob TeX-Grundelemente in LaTeX neu definiert werden müssen. Wenn ja, warum? Gibt es andere TeX-Grundelemente, die in LaTeX neu definiert werden? Ist nicht zu erwarten, dass TeX und LaTeX bei einem so einfachen Codestück (wie im Beispiel) dasselbe Ergebnis liefern?
Antwort1
LaTeX definiert die Grundelemente \input
, \end
, \-
, \/
, \underline
und in einigen Kontexten neu \par
. Es definiert nicht neu \char
, verwendet aber andere mathematische Codes.
In einfachem TeX sehen wir
\mathcode`\^^E="023A % \lnot
aber LaTeX weist (ASCII 5) keinen Mathematikcode zu ^^E
, daher ist der Wert der ursprüngliche, also 5.
Wenn TeX \char<number>
im Mathematikmodus arbeitet, verwendet es den Mathematikcode des Zeichens, als ob das Zeichen direkt eingegeben worden wäre. In einfachem TeX erhalten Sie also Zeichen "3A
in Familie 2 ( \lnot
); in LaTeX erhalten Sie Zeichen "5
in Familie 0.
Neu definierte Grundelemente
\input
wird neu definiert, um zu ermöglichen\input{<filename>}
;\end
wird neu definiert, um das Ende von Umgebungen zu markieren;\-
und\/
werden aus technischen Gründen neu definiert;\underline
wurde neu definiert, um auch im Textmodus verwendet zu werden.
Soweit \par
es die Neudefinitionen betrifft, sind sie für listenähnliche Umgebungen unabdingbar.
Warum weist Plain-TeX ASCII 5 einen mathematischen Code zu?
Da Knuth erweiterte Zeichensätze verwendete und seine Tastatur die direkte Eingabe von ¬ und anderen Zeichen ermöglichte, fand er es praktisch, mathematische Codes für den erweiterten Zeichensatz festzulegen.