如何在 XeLaTeX 中获得粗体、斜体和无点的 i 和 j?

如何在 XeLaTeX 中获得粗体、斜体和无点的 i 和 j?

在 pdfLaTeX 中,我可以通过\bm{\hat{\imath}}和获取它们\bm{\hat{\jmath}}

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage{bm}
\usepackage{amsmath}

\begin{document}

$\bm{\hat{\imath}} \quad \bm{\hat{\jmath}}$

$\hat{\bm{\imath}} \quad \hat{\bm{\jmath}}$

\end{document}

这将产生以下输出:

输出1

如何在 XeLaTeX 中获得上述结果?我试过了,但没有用。

\documentclass{article}

\usepackage{bm}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmathfont[math-style=ISO, bold-style=ISO]{latinmodern-math.otf}

\begin{document}

$\symbf{\hat{\imath}} \quad \symbf{\hat{\jmath}}$

$\hat{\symbf{\imath}} \quad \hat{\symbf{\jmath}}$

\end{document}

这将产生以下输出:

输出2

在 XeLaTeX 中使用\bm会产生编译错误。我如何获取第一个输出?我还希望像第一个输出中那样使用插入符号或大写字母。

编辑:

(在 Taiki 的评论中)说 Unicode 中没有粗体、斜体无点 i 和 j。有没有办法在 XeLaTeX 中导入 pdfLaTeX 符号?

答案1

您可以从具有这些符号的文本字体中借用这些符号,例如拉丁现代罗马字体:

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}
\newcommand{\ii}{\hat{\textbf{\itshape\i}}}
\newcommand{\jj}{\hat{\textbf{\itshape\j}}}
\begin{document}

Unit vectors $\ii$ and $\jj$

\end{document}

单位向量 i 和 j

(适当调整帽子的位置。)

答案2

您可以使用旧式字形。

\documentclass{article}

\usepackage{amsmath,bm}
\usepackage{unicode-math}
\setmathfont[math-style=ISO, bold-style=ISO]{Latin Modern Math}

\DeclareSymbolFont{legacyletters}{OML}{cmm}{m}{it}
\SetSymbolFont{legacyletters}{bold}{OML}{cmm}{b}{it}

\AtBeginDocument{%
  \let\imath\relax\let\jmath\relax
  \DeclareMathSymbol{\imath}{\mathord}{legacyletters}{"7B}%
  \DeclareMathSymbol{\jmath}{\mathord}{legacyletters}{"7C}%
}
\newcommand{\imathb}{\bm{\imath}}
\newcommand{\jmathb}{\bm{\jmath}}

\begin{document}

$\imath\jmath$

$\hat{\imathb}+\hat{\jmathb}$

\end{document}

在此处输入图片描述

相关内容