正如所述这个答案、常数应直立排版,而不是斜体。但是,简化普朗克常数的符号(, \hbar
)默认为斜体。当在一个方程中同时使用h
和时,这一点尤其明显\hbar
。如何让 LaTeX 直立排版 ħ?
编辑:我试过了\mathrm
,,,\text
但是\textup
都没有用。
答案1
我不会深入探讨是否应该这样做的问题。
LaTeX 内核定义
\def\hbar{{\mathchar'26\mkern-9muh}}
因此\mathrm{\hbar}
应该给出一个直立的\hbar
。但是,9 个数学单位的负空间对于直立字母来说有点太多了;8mu
看起来更好,所以你可以使用
\renewcommand*{\hbar}{{\mkern-1mu\mathchar'26\mkern-8mu\mathrm{h}}}
加载字体包时应小心,因为其中许多字体包包含\hbar
符号。明显的例子: 。在这种情况下,将发出 bustamssymb
的重新定义\hbar
后加载任何字体包。为了安全起见,可以将上述重新定义放入钩子\AtBeginDocument
中
\AtBeginDocument{\renewcommand*{\hbar}{{\mkern-1mu\mathchar'26\mkern-8mu\mathrm{h}}}}
编辑我认为,要稍微降低横杆,最安全的方法是将其放入一个盒子中,然后根据盒子的高度降低一定量。
\documentclass{article}
\begin{document}
\renewcommand*{\hbar}{{\mkern-1mu\mathchar'26\mkern-8mu\mathrm{h}}}
$\hbar \scriptstyle\hbar \scriptscriptstyle\hbar$
\renewcommand*{\hbar}{{\mathpalette\hbaraux\relax\mathrm{h}}}
\newcommand*{\hbaraux}[2]{\sbox0{\mathsurround=0pt$#1\mathchar'26$}\mkern-1mu\lower.07\ht0\box0\mkern-8mu}
$\hbar \scriptstyle\hbar \scriptscriptstyle\hbar$
\end{document}