在 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}
这将产生以下输出:
如何在 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}
这将产生以下输出:
在 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}
(适当调整帽子的位置。)
答案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}