数式モードで特定の文字を常に非斜体として定義する - lualatex で Unicode-math を使用する

数式モードで特定の文字を常に非斜体として定義する - lualatex で Unicode-math を使用する

私はかつてこの質問少し前に、文字の配置方法について質問しました常にイタリック体ではないを使用せずに数式モードで\mathrm

提供された解決策は次のとおりです。

\DeclareMathSymbol{j}{\mathalpha}{operators}{`j}

しかし、私はルアラテックスそしてユニコード数学上記の行には

無効:

\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}          
\usepackage{unicode-math}

\DeclareMathSymbol{j}{\mathalpha}{operators}{`j}

\begin{document}

\begin{equation}
j ~~\text{is not}~~ \mathrm{j}
\end{equation}

\end{document}

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

あるいは、例えば、MinionProとMnSymbolを数学フォントとして定義した場合、

完全に消える:

\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}          
\usepackage{unicode-math}

\setmainfont{Minion Pro}
\setmathfont{MnSymbol}
\setmathfont[range=\mathup/{num,latin,Latin,greek,Greek}]{Minion Pro}
\setmathfont[range=\mathbfup/{num,latin,Latin,greek,Greek}]{MinionPro-Bold}
\setmathfont[range=\mathit/{num,latin,Latin,greek,Greek}]{MinionPro-It}
\setmathfont[range=\mathbfit/{num,latin,Latin,greek,Greek}]{MinionPro-BoldIt}
\setmathfont[range=\mathscr,StylisticSet={1}]{XITS Math}
\setmathrm{Minion Pro}

\DeclareMathSymbol{j}{\mathalpha}{operators}{`j}
  
\begin{document}

\begin{equation}
j ~~\text{is not}~~ \mathrm{j}
\end{equation}
But actually $j$ is not there at all.

\end{document}

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

ユニコード文字を宣言しようとしました別々に実行しましたが、うまくいきませんでした。

\setmathfont[range={"006A} ]{Minion Pro}

それは、再度、しかしそれはまだ斜体でした。


Unicode-math が使用される場合、古い問題に対する新しい解決策はありますか?

新しい質問をするのが適切な行動だったことを願っています。古い質問を変更すると回答が無効になってしまうので、変更したくありませんでした。


編集:

それが重要だとは知らなかったが、私はまた、アムスシンブパッケージは、エグレの解決策次の結果が得られます。

\documentclass{article}

\usepackage{amsmath}
\usepackage{amssymb}            
    
\usepackage{fontspec}          
\usepackage{unicode-math}
\usepackage{etoolbox}

\setmainfont{Minion Pro}
\setmathfont{MnSymbol}
\setmathfont[range=\mathup/{num,latin,Latin,greek,Greek}]{Minion Pro}
\setmathfont[range=\mathbfup/{num,latin,Latin,greek,Greek}]{MinionPro-Bold}
\setmathfont[range=\mathit/{num,latin,Latin,greek,Greek}]{MinionPro-It}
\setmathfont[range=\mathbfit/{num,latin,Latin,greek,Greek}]{MinionPro-BoldIt}
\setmathfont[range=\mathscr,StylisticSet={1}]{XITS Math}
\setmathrm{Minion Pro}

\AfterEndPreamble{ %
\Umathcode`j="0"4"6A
}


\begin{document}

\begin{equation}
j ~~\text{is not}~~ \mathrm{j}
\end{equation}
But actually $j$ is not there at all.

\end{document}

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

答え1

\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}          
\usepackage{unicode-math}

\AtBeginDocument{\Umathcode`j="0"0"6A }

\begin{document}




\begin{equation}
j ~~\text{is}~~ \mathrm{j}
\end{equation}

\end{document}

私は MinionPro を持っていません。しかし、Arial を使用した拡張バージョンがここにあります (6 が必要です)

\documentclass{article}

\usepackage{amsmath}
\usepackage{amssymb}            

\usepackage{fontspec}          
\usepackage{unicode-math}
\usepackage{etoolbox}

\setmainfont{Arial}
\setmathfont{MnSymbol}
\setmathfont[range=\mathup/{num,latin,Latin,greek,Greek}]{Arial}
\setmathfont[range=\mathbfup/{num,latin,Latin,greek,Greek}]{Arial}
\setmathfont[range=\mathit/{num,latin,Latin,greek,Greek}]{Arial}
\setmathfont[range=\mathbfit/{num,latin,Latin,greek,Greek}]{Arial}
\setmathfont[range=\mathscr,StylisticSet={1}]{XITS Math}
\setmathrm{Arial}

\AfterEndPreamble{ %
\Umathcode`j="0"6"6A
}


\begin{document}
\showoutput
\begin{equation}
j ~~\text{is}~~ \mathrm{j}
\end{equation}
But actually $j$ is not there at all.

\end{document}

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

答え2

以下の場合には適切な家族番号を使用してくださいj:

\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}

\setmainfont{Minion Pro}
\setmathfont{MnSymbol}
\setmathfont[range=\mathup/{num,latin,Latin,greek,Greek}]{Minion Pro} % this is number 4
\setmathfont[range=\mathbfup/{num,latin,Latin,greek,Greek}]{MinionPro-Bold}
\setmathfont[range=\mathit/{num,latin,Latin,greek,Greek}]{MinionPro-It}
\setmathfont[range=\mathbfit/{num,latin,Latin,greek,Greek}]{MinionPro-BoldIt}
\setmathfont[range=\mathscr,StylisticSet={1}]{XITS Math}

\AtBeginDocument{\Umathcode`j="0"4"6A }

\begin{document}

\begin{equation}
j \text{ is } \mathrm{j}\ne\mathbf{j}\ne\mathit{j}
\end{equation}

\end{document}

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

関連情報