解決策に従うxetex/mathspec の数式モードでの句読点そしてXeTeX/mathspec 句読点の問題、私は、XeTeX が適切なフォントの句読点を使用するように、mathspec を調整しています。ただし、省略記号の後にコンマが続くと、省略記号の間隔が適切に調整されません。もちろん、LaTeX では問題ありません。MWE (pdftex では ^^^^ 文字でエラーが発生しますが、これは問題ではありません。Old Standard はフリーフォントです):
\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}
何をすべきか、誰か提案はありますか?
答え1
おそらくあなたが探しているのはこれです:
\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}
は…
として定義されていません\mathinner
が、\mathellipsis
は として定義されています…
(既定)。そこで、\mathellipsis
と のアクションも再定義する…
と、すべてのケースで正しいものになるはずです。