使用 时\usepackage{fontspec}
,\hbar
无法正确显示。已在LaTeX2e <2018-04-01> patch level 5
和上测试fontspec.sty 2018/07/30 vv2.6h
。
\documentclass{article}
\usepackage{fontspec}
\begin{document}
[$\hbar$]
\end{document}
使用 XeLaTeX:
我找到
- 添加
\usepackage{unicode-math}
或者
\usepackage[no-math]{fontspec}
可以解决这个问题,但我不确定哪个更好。
答案1
答案2
旧式数学字体中用于条形的字符在 Unicode 中具有不同的代码。
\documentclass{article}
\usepackage{fontspec}
\renewcommand{\hbar}{{\mathchar"AF\mkern-9mu h}}
\begin{document}
[$h$]
[$\hbar$]
\sbox0{$h$}\the\wd0
\sbox0{$\hbar$}\the\wd0
\end{document}
宽度的差异略大于 0.00004 毫米,小于 的差异pdflatex
。不过,横杆要高一点。
标准定义\hbar
是
\def\hbar{{\mathchar'26\mkern-9muh}}
并\mathchar'26
指的是数学组 0(标准文本字体)中八进制 26 号槽(十进制 22)中的字符。这与用于长音符的字符相同,在 OpenType 字体中,该字符位于槽0xAF
。根据字体的不同,它可能更高或更低。
请注意,Unicode 有一个专门用于普朗克常数的插槽
U+201E 普朗克常数
U+201F 两个 PI 上的普朗克常数
并将unicode-math
定义\hbar
选择后者。