なぜ?

なぜ?

もう諦めかけている私の戦いのためにMnシンボルユニコード数学すでに多くの欠落した文字や不具合のある文字を置き換えてしまったため、MnSymol はほとんど残っていないことに気づきました。そのため、今後はおそらく逆のことをして、別の数学フォントを使用し、気に入らない記号を MnSymbol に置き換えることになるでしょう。


しかし、MnSymbol を墓場まで運ぶ前に、最後にもう 1 つ質問させてください。

明らかに、MnSymbol には終止符がありません。

$\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].$

ここに画像の説明を入力してください

ピリオドを別のフォントに置き換えると、すべての括弧の後に\cdot:が続きます。

\setmathfont[range={"002E} ]{XITS Math} 

ここに画像の説明を入力してください

数式フォント全体を置き換えれば、このようなことは起こりません。

\setmathfont{XITS Math}

ここに画像の説明を入力してください


解決策を探すだけでなく、私は実際に知りたいのです

なぜ?

特定のUnicode文字を置き換えていますが、他の文字も影響を受けます。それは意味をなさない?


完全なMWE:

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}

\setmathfont{MnSymbol}
\setmathfont[range=\mathup/{num,latin,Latin,greek,Greek}]{Minion Pro}
\setmathfont[range={"005B,"005D,"0028,"0029,"007B,"007D} ]{XITS Math} % brackets

\begin{document}

$\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].$
\setmathfont[range={"002E} ]{XITS Math}
$\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].$
\setmathfont{XITS Math}
$\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].$

\end{document}

今後の参考のために:

完全な解決策は見つかりますここ、 しかし

\Udelcodenum`.=1073741824 

に変更する必要がある

\Udelcodenum`.=0

答え1

フォントを変更しましたが、問題はフォント固有のものではありません。

出力\showlistsは、最初のケースでは が から.取得するように設定されていることを示しています。従来の TeX 設定では、は や の友達に使用されるローマ字フォントとしてテキストに使用されますが、 では、ローマ字は の Unicode フォントの上部プレーンのローマ字アルファベットから取得され、 は実際には文字がないとして表示されます。.\fam0\fam0\logunicode-math\fam1\texfont0\nullfont

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}

\setmathfont{MnSymbol}
\setmathfont[range=\mathup/{num,latin,Latin,greek,Greek}]{Arial}
\setmathfont[range={"005B,"005D,"0028,"0029,"007B,"007D} ]{XITS Math} % brackets

\begin{document}
\showoutput
\showthe\textfont0
$\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].\showlists$

\setmathfont[range={"002E} ]{XITS Math} 

$\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].\showlists$

\setmathfont{XITS Math}

$\Bigg[\bigg(\big[ 42 \big]\bigg)\Bigg].$

\end{document}

関連情報