我希望\hbar
我的文档中有一个直立的字形,我正在使用unicode-math
。示例https://tex.stackexchange.com/a/527104/218142当我加载时似乎不起作用unicode-math
。杆显然相对于移动h
。为什么会发生这种情况,我如何\hbar
在加载时将其直立unicode-math
?
我的 MWE:
% !TEX program = lualatexmk
% !TEX encoding = UTF-8 Unicode
\documentclass{article}
\usepackage{unicode-math}
\begin{document}
\renewcommand*{\hbar}{{\mathpalette\hbaraux\relax\symup{h}}}
\newcommand*{\hbaraux}[2]{\sbox0{\mathsurround=0pt$#1\mathchar"AF$}\mkern-1mu\lower.07\ht0\box0\mkern-8mu}
\( \hbar \scriptstyle\hbar \scriptscriptstyle\hbar \)
\end{document}
该 MWE 产生以下输出:
答案1
答案2
你可以创作角色,但必须以正确的方式进行:
\documentclass{article}
\usepackage{unicode-math}
\makeatletter
\AtBeginDocument{%
\DeclareRobustCommand{\hbar}{{\mathpalette\hbar@\relax\symup{h}}}%
}
\newcommand*{\hbar@}[2]{%
\makebox[0pt][l]{\raisebox{-0.07\height}{$\m@th#1\mkern-1mu\mathchar"AF$}}%
}
\makeatother
\begin{document}
\( \hbar \scriptstyle\hbar \scriptscriptstyle\hbar \)
\end{document}