Siguiendo las solucionesSignos de puntuación en modo matemático en xetex/mathspecyProblema de puntuación de XeTeX/mathspec, Estoy haciendo ajustes a mathspec para obligar a XeTeX a usar signos de puntuación de la fuente apropiada. Sin embargo, el espaciado de los puntos suspensivos no se puede hacer correctamente cuando va seguido de una coma. LaTeX, por supuesto, no tiene ningún problema. MWE (pdftex da un error en ^^^^ caracteres, pero no importa; Old Standard es una fuente gratuita):
\documentclass{article}
\usepackage{amsmath}
\usepackage{iftex}
\ifXeTeX
\usepackage{mathspec}
\defaultfontfeatures{Mapping=tex-text}
\setallmainfonts{Old Standard}
\makeatletter
\def\eu@MathPunctuation@symfont{Latin:m:n}
\DeclareMathSymbol{,}{\mathpunct}{\eu@MathPunctuation@symfont}{`,}
\DeclareMathSymbol{.}{\mathord}{\eu@MathPunctuation@symfont}{`.}
\XeTeXDeclareMathSymbol{^^^^2026}{\mathinner}%
{\eu@MathPunctuation@symfont}{"2026}[\mathellipsis]
\makeatother
\fi
\begin{document}
$\left<i_1, i_2,\ldots,i_n\right>$
\end{document}
¿Alguien tiene alguna sugerencia sobre qué hacer?
Respuesta1
Quizás esto sea lo que estás buscando:
\documentclass{article}
\usepackage{amsmath}
\usepackage{mathspec}
\usepackage{newunicodechar}
\defaultfontfeatures{Ligatures=TeX}% not needed with last version of fontspec
\setallmainfonts{Old Standard}
\makeatletter
\def\eu@MathPunctuation@symfont{Latin:m:n}
\DeclareMathSymbol{,}{\mathpunct}{\eu@MathPunctuation@symfont}{`,}
\DeclareMathSymbol{.}{\mathord}{\eu@MathPunctuation@symfont}{`.}
\XeTeXDeclareMathSymbol{^^^^2026}{\mathinner}%
{\eu@MathPunctuation@symfont}{"2026}[\mathellipsis]
\AtBeginDocument{\renewcommand{\mathellipsis}{\mathinner…}}
\newunicodechar{…}{\ifmmode\mathinner…\else…\fi}
\makeatother
\begin{document}
Here… again
Here\ldots{} again
$\langle i_1, i_2,\ldots,i_n\rangle$
$\langle i_1, i_2,\dots,i_n\rangle$ % better!
$\langle i_1, i_2,…,i_n\rangle$
\end{document}
Tenga en cuenta que …
no está definido como \mathinner
, mientras que \mathellipsis
simplemente lo hace …
(de forma predeterminada). Entonces redefino \mathellipsis
y también la acción de …
, por lo que debería ser correcta en todos los casos.