Editar

Editar

Necesito cambiar el tamaño de fuente a mitad del documento. El problema es que los caracteres en las matemáticas en línea se estiran (se ensanchan) en comparación con el modo de texto sin importar el método que probé y esto se ve mal (y desperdicia espacio en la página). ¿Cómo puedo arreglar esto?

Aquí hay un MWE:

\documentclass{scrbook}
\usepackage{unicode-math}

\begin{document}
   Same character width:\\
     123456789012345678901234567890\\
   $ 123456789012345678901234567890 $\par

   \KOMAoptions{fontsize=10}
   % or other change in size like \footnotesize \LARGE etc

   Different character width:\\
   123456789012345678901234567890\\
   $ 123456789012345678901234567890 $\par

\end{document}

ingrese la descripción de la imagen aquí

Respuesta1

Puede forzar a Unicode-math a utilizar la fuente de texto moderno en latín normal para los números:

\documentclass{scrbook}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
\setmathfont[range={"0030-"0039}]{Latin Modern Roman}
\setmathfont[range=\int]{Latin Modern Math} %last font should be a math font

\begin{document}
   Same character width:\\
     123456789012345678901234567890\\
   $ 123456789012345678901234567890 $\par

 \KOMAoptions{fontsize=10}
   Different character width:\\
   123456789012345678901234567890\\
   $ 123456789012345678901234567890  x^3$\par

\end{document}

Editar

En realidad el comando de rango no es necesario. Simplemente configurar la fuente matemática como lo hace egreg en su respuesta me resuelve el problema en un sistema tex moderno:

\documentclass{scrbook}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}

\begin{document}
   Same character width:\\
     123456789012345678901234567890\\
   $ 123456789012345678901234567890 $\par

 \KOMAoptions{fontsize=10}
   Different character width:\\
   123456789012345678901234567890\\
   $ 123456789012345678901234567890  x^3$\par

\end{document}

Editar 2

Después de mirar un poco más de cerca (y probar otros tamaños de fuente), encontré la fuente del problema: Unicode-math está configurando las matemáticas con diferentes "estilos matemáticos". Se utilizan tamaños de fuente más pequeños, por ejemplo, +ssty=0;y esto conduce a números más anchos (esto es una característica, no un error. Los caracteres más anchos son más legibles en tamaños pequeños).

Entonces, si uno cambia el tamaño de fuente general, debe configurar las fuentes matemáticas nuevamente:

\documentclass[fontsize=11pt]{scrbook}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}

\begin{document}
   Same character width:\\
     123456789012345678901234567890 abc\\
$    123456789012345678901234567890 abc$

\KOMAoptions{fontsize=9}
\setmathfont{Latin Modern Math}
  Different character width:\\
   123456789012345678901234567890 abc\\
$  123456789012345678901234567890 abc$

\end{document}

En el caso de las fuentes latinas modernas, donde las fuentes de texto tienen tamaños ópticos, todavía hay una diferencia.

Respuesta2

Simplemente necesita especificar la fuente matemática. El motivo por el que sucede esto puede ser un error unicode-math(o una consecuencia de cómo fontsize=10funciona).

\documentclass{scrbook}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}

\begin{document}

   Same character width:\\
     123456789012345678901234567890\\
   $ 123456789012345678901234567890 $\par

   \KOMAoptions{fontsize=10}
   % or other change in size like \footnotesize \LARGE etc

   Different character width:\\
   123456789012345678901234567890\\
   $ 123456789012345678901234567890 $\par

\end{document}

ingrese la descripción de la imagen aquí

El pequeño cambio en las visualizaciones se debe a lo que parece un error en la fuente Latin Modern Math; si lo hago

\sbox0{78}\showbox0
\sbox0{$78$}\showbox0

con la configuración normal scrbook(11 puntos), entonces obtengo

\hbox(7.40219+0.24089)x10.95
.\EU1/lmr/m/n/10.95 78

para la primera casilla, mientras consigo

\hbox(7.40219+0.2409)x11.09236
.\mathon
.\EU1/LatinModernMath(0)/m/n/10.95 glyph#24
.\kern0.14235
.\EU1/LatinModernMath(0)/m/n/10.95 glyph#25
.\mathoff

La diferencia de tamaño es 11.09236 - 10.95 = 0.14236(la diferencia es de 1 sp debido a la aritmética binaria, no relevante). El grano se añade entre el 7 y elcualquierdígito. No se inserta ningún otro kerning entre los dígitos.

información relacionada