Definition von \sum -- wie funktioniert die Größenauswahl

Definition von \sum -- wie funktioniert die Größenauswahl

Beim Schreiben \[\sum\]wird ein größeres Summenzeichen verwendet als beim Schreiben \(\sum\). Wie findet der \sumBefehl heraus, welche Größe verwendet werden soll?

Worauf wird \sumerweitert? Ich vermute, es ist nur eine Abkürzung für eine weitere längere Befehlsreihe, oder nicht?

Antwort1

Das \sumist ein großer Operator, der in der mathematischen Schriftart zwei Größen implementiert hat. Jedes im mathematischen Modus gesetzte Zeichen oder jede Steuersequenz hat seinen Mathematikcode, der die mathematische Klasse (Ord oder Op oder Bin oder Rel...), die mathematische Schriftfamiliennummer und den Slot der Schriftart enthält. Zeichen werden von \mathcode(oder \Umathcodein Unicode-Engines) und Steuersequenzen von \mathchardef(oder \Umathchardefin Unicode-Engines) deklariert. Das wird in klassischem TeX \sumvon oder in Unicode-Mathematik von deklariert oder es wird in OpTeX von definiert und von deklariert .\mathcode\Umathchardef\def\sum{∑}\Umathcode

Dies bedeutet, dass \sumes sich nicht um ein kompliziertes Makro handelt, sondern nur um das Äquivalent einer Zahl, und diese Zahl wird beim Drucken als mathematischer Code interpretiert. Der entscheidende Teil dieses mathematischen Codes ist die Information, dass seine Klasse Op (großer Operator) ist. Wenn TeX ein solches mathematisches Zeichen druckt, \textstyleverlangt es das direkte Zeichen aus der Schriftart aus dem angegebenen Slot, aber wenn es gedruckt wird, \displaystyleverlangt TeX dieselbe Schriftart und denselben Slot, aber darüber hinaus verlangt es eine größere Variante der Schriftart. Unicode-Schriftarten ermöglichen mehr Glyphen in einem einzigen Slot, sodass diese spezielle Anforderung erfüllt werden kann. Die klassischen TeX-Schriftarten haben einen Zeiger in der tfmDatei, der dem angegebenen Slot zugewiesen ist, und dieser Zeiger zeigt auf einen anderen Slot, in dem die größere Glyphe vorbereitet ist.

Beispielsweise deklariert einfaches TeX (also klassisches TeX) \sumwie folgt:

\mathchardef\sum="1350

Die erste Ziffer 1bedeutet, dass es sich um ein Op-Zeichen (großer Operator) handelt. Die dritte Schriftfamilie (zweite Ziffer) und 0x50der Slot müssen verwendet werden. Plain TeX registriert als dritte Schriftfamilie die cmex10Schriftart:

\font\tenex=cmex10 % math extension
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex

Wenn du rennst

 tftopl cmex10 > cmex10.pl

cmex10.tfmAnschließend können Sie sich die metrischen Informationen in der Datei in menschenlesbarer Form ansehen cmex10.pl. Sie können sehen, dass das Zeichen O 120(das die Oktalzahl des Slots ist 0x50) diese Informationen enthält:

(CHARACTER O 120
   (CHARWD R 1.055559)
   (CHARDP R 1.000013)
   (NEXTLARGER O 130)
   )

Dies NEXTLAGRER O 130ist der oben erwähnte Zeiger. Er besagt, dass sich der größere Glyph desselben Typs im Slot Oktal 130 befindet, also im Slot 0x58. Sie können ausführen

tex testfont
Name of the font to test = cmex10
*\table\end

und Sie haben die Tabelle der cmex10Schriftart in der testfont.dviDatei. Sie können sehen, dass der 0x50Steckplatz das kleinere Summationssymbol und 0x58dessen größere Variante enthält.

Wenn eine Unicode-Mathematikschriftart verwendet wird, hat die größere Variante keine spezielle Steckplatznummer, sondern alle alternativen Glyphen befinden sich im einzelnen Steckplatz 0x2211(Unicode-Summationssymbol), der durch die GSUB-Tabelle implementiert wird.

verwandte Informationen