mathspec을 사용하는 XeLaTeX의 \mathellipsis

mathspec을 사용하는 XeLaTeX의 \mathellipsis

솔루션에 따라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

여기에 이미지 설명을 입력하세요

관련 정보