
У меня когда-то былоэтот вопроснекоторое время назад, спрашивал о том, как установить буквуджвсегда не курсивомджв математическом режиме без использования \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?
Надеюсь, это было правильным действием — задать новый вопрос. Я не хотел изменять старый вопрос, так как это сделало бы ответ недействительным.
Редактировать:
Не зная, что это будет важно, мне также нужно включитьamssymbпакет, который вместе срешение egregдает следующий результат:
\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}