Al escribir \[\sum\]
se utiliza un signo de suma más grande que al escribir \(\sum\)
. ¿Cómo descubre el \sum
comando qué tamaño usar?
¿A qué se \sum
expande? Supongo que es sólo una abreviatura de otra serie más larga de comandos, ¿no es así?
Respuesta1
Es un \sum
operador 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 \Umathcode
en motores Unicode) y las secuencias de control por \mathchardef
(o \Umathchardef
en motores Unicode). Se \sum
declara \mathcode
en TeX clásico o \Umathchardef
en matemáticas Unicode o se define \def\sum{∑}
en OpTeX y ∑
se declara mediante \Umathcode
.
Esto significa que \sum
no 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, \textstyle
solicita el carácter directo de la fuente de la ranura determinada, pero cuando se imprime, \displaystyle
TeX 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 tfm
archivo 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 \sum
mediante:
\mathchardef\sum="1350
El primer dígito 1
significa que es el carácter Op (operador grande). Se debe utilizar la tercera familia de fuentes (segundo dígito) y 0x50
se debe utilizar la ranura. Plain TeX registra como tercera familia tipográfica la cmex10
fuente:
\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.tfm
en formato legible por humanos en el cmex10.pl
archivo. 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 130
es 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 cmex10
fuentes en el testfont.dvi
archivo. Puedes ver que 0x50
la tragamonedas incluye un símbolo de suma más pequeño e 0x58
incluye 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.