Definieren Sie im Mathematikmodus bestimmte Buchstaben so, dass sie immer nicht kursiv sind – mithilfe von Unicode-Mathematik in Lualatex

Definieren Sie im Mathematikmodus bestimmte Buchstaben so, dass sie immer nicht kursiv sind – mithilfe von Unicode-Mathematik in Lualatex

Ich hatte einmaldiese Fragevor einiger Zeit gefragt, wie man den Buchstaben einstelltJimmer nicht kursivJim Mathematikmodus ohne zu verwenden \mathrm.

Die bereitgestellte Lösung war:

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

Seit ich jedoch zuAbonnierenUndUnicode-MathematikDie obige Zeile hat entweder

Kein Effekt:

\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}

Bildbeschreibung hier eingeben

oder wenn ich z.B. MinionPro und MnSymbol als meine Mathe-Schriftarten definiere,J

verschwindet vollständig:

\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}

Bildbeschreibung hier eingeben

Ich habe versucht, das Unicode-Zeichen zu deklarierenJgetrennt, was nicht geklappt hat.

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

Es ließ den Anschein erwecken,Jnochmal, aber es war immer noch kursiv.


Gibt es neue Lösungen für das alte Problem, falls Unicode-Mathematik verwendet wird?

Ich hoffe, es war die richtige Maßnahme, eine neue Frage zu stellen. Ich wollte die alte Frage nicht ändern, da dies die Antwort ungültig gemacht hätte.


Bearbeiten:

Da ich nicht wusste, dass es wichtig sein würde, musste ich auch dieamssymbolPaket, das zusammen mitEgregs Lösungergibt folgendes Ergebnis:

\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}

Bildbeschreibung hier eingeben

Antwort1

\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}

Ich habe kein MinionPro. Aber hier ist Ihre erweiterte Version mit Arial (Sie möchten 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}

Bildbeschreibung hier eingeben

Antwort2

Verwenden Sie die entsprechende Familiennummer für 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}

Bildbeschreibung hier eingeben

verwandte Informationen