Definición de \sum: ¿cómo funciona la selección de tamaño?

Definición de \sum: ¿cómo funciona la selección de tamaño?

Al escribir \[\sum\]se utiliza un signo de suma más grande que al escribir \(\sum\). ¿Cómo descubre el \sumcomando qué tamaño usar?

¿A qué se \sumexpande? Supongo que es sólo una abreviatura de otra serie más larga de comandos, ¿no es así?

Respuesta1

Es un \sumoperador grande que tiene dos tamaños implementados en la fuente matemática. Cada carácter o secuencia de control compuesta en modo matemático tiene su código matemático, que incluye la clase matemática (Ord u Op o Bin o Rel...), el número de familia de fuentes matemáticas y la ranura de la fuente. Los caracteres son declarados por \mathcode(o \Umathcodeen motores Unicode) y las secuencias de control por \mathchardef(o \Umathchardefen motores Unicode). Se \sumdeclara \mathcodeen TeX clásico o \Umathchardefen matemáticas Unicode o se define \def\sum{∑}en OpTeX y se declara mediante \Umathcode.

Esto significa que \sumno es una macro complicada, es sólo el equivalente de un número y este número se interpreta como código matemático cuando se imprime. La parte crucial de este código matemático es la información de que su clase es Op (operador grande). Cuando TeX imprime un carácter matemático de este tipo, \textstylesolicita el carácter directo de la fuente de la ranura determinada, pero cuando se imprime, \displaystyleTeX solicita la misma fuente y ranura, pero además, solicita una variante más grande de la fuente. Las fuentes Unicode permiten tener más glifos en una sola ranura, por lo que se puede cumplir con esta solicitud especial. Las fuentes TeX clásicas tienen un puntero en el tfmarchivo asignado a la ranura dada y este puntero apunta a otra ranura donde se prepara el glifo más grande.

Por ejemplo, TeX simple (es decir, TeX clásico) declara \summediante:

\mathchardef\sum="1350

El primer dígito 1significa que es el carácter Op (operador grande). Se debe utilizar la tercera familia de fuentes (segundo dígito) y 0x50se debe utilizar la ranura. Plain TeX registra como tercera familia tipográfica la cmex10fuente:

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

cuando corres

 tftopl cmex10 > cmex10.pl

luego puede consultar la información métrica cmex10.tfmen formato legible por humanos en el cmex10.plarchivo. Puede ver que el carácter O 120(que es el número octal de la ranura 0x50) incluye esta información:

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

El NEXTLAGRER O 130es el puntero mencionado anteriormente. Dice que el glifo más grande del mismo tipo está en la ranura octal 130, es decir, en la ranura 0x58. Tu puedes correr

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

y tienes la tabla de cmex10fuentes en el testfont.dviarchivo. Puedes ver que 0x50la tragamonedas incluye un símbolo de suma más pequeño e 0x58incluye su variante más grande.

Cuando se utiliza la fuente matemática Unicode, la variante más grande no tiene un número de ranura especial, pero todos los glifos alternativos están en la ranura única 0x2211(símbolo de suma Unicode) implementado por la tabla GSUB.

información relacionada