Antykwa Torunska 字体:如何在 LuaLaTeX 中获取正确的 \hbar

Antykwa Torunska 字体:如何在 LuaLaTeX 中获取正确的 \hbar

我使用的是 TeX Live 2014 和lualatex。使用字体 Antykwa Torunska ( anttor) 进行数学运算时,\hbar显示不正确。默认的 LaTeX 设置在所有比例下都无法获得良好的效果:

\documentclass{scrartcl}

\usepackage[math]{anttor}
\usepackage[no-math]{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Antykwa Torunska}
\usepackage{polyglossia}
\setdefaultlanguage{german}

\usepackage{amsmath}

\begin{document}

$h \hbar \frac{1}{\hbar}$

\end{document}

\hbar 不带 amssymb

使用该amssymb包,可以获得一个有效的\hbar符号,尽管(当然)字体不正确:

\documentclass{scrartcl}

\usepackage[math]{anttor}
\usepackage[no-math]{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Antykwa Torunska}
\usepackage{polyglossia}
\setdefaultlanguage{german}

\usepackage{amsmath}
\usepackage{amssymb}

\begin{document}

$h \hbar \frac{1}{\hbar}$

\end{document}

\hbar 与 amssymb

Antykwa Torunska 确实包含专用\hbar字形(文档中显示了它),但不容易访问。t2a-anttr并且wncy-anttr似乎包含它,但我无法从那里获取数学字体。当字体提供数学符号,但没有(简单?)LaTeX 界面来访问它们时,如何使用数学符号\hbar

编辑:更改并添加minimalscrartclTeX 分布信息。

答案1

这显然是 LuaTeX 的一个错误。

如果按照你的设置,我

\sbox0{$\mkern9mu$}\showthe\wd0
\scriptspace=0pt
\sbox0{$_{\mkern9mu}$}\showthe\wd0

我得到第一个宽度为 5.4749pt,第二个宽度为 5.9749pt。

newtxmath如果我使用或fourier数学字体,情况也类似,或者即使字体包(包括fontspec)被加载时,LuaLaTeX 的行为应该类似于pdflatex

相反,如果我对 XeLaTeX 执行相同操作,第一个宽度为 5.4749pt,第二个宽度为 3.99998pt,这解释了使用 XeLaTeX 获得的正确输出。如果我省略\scriptspace=0pt,第二个宽度为 4.49998pt。

这意味着两件事:

  1. LuaTeX 没有正确设置mu下标的单位
  2. LuaTeX 忽略了该设置\scriptspace

\scriptspaceLuaTeX 手册中有一些关于何时\Umathspaceafterscript描述的描述,因此第 2 点的状态尚不清楚(但在我看来,它仍然是一个错误)。

顺便说一句,中也有一个错误fontspec,因为\hbar它被视为文本符号,但事实并非如此。


您在 T2A 编码版本的字体表中看到的 hbar 实际上是塞尔维亚西里尔字符(在塞尔维亚语的拉丁音译中,它对应于 ć)。

您可以\hbar使用以下 kludge 来访问它:

\documentclass{scrartcl}

\usepackage{amsmath}
\usepackage[T2A]{fontenc}
\usepackage[math]{anttor}
\usepackage[no-math]{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Antykwa Torunska}
\usepackage{polyglossia}
\setdefaultlanguage{german}

\AtBeginDocument{%
  \let\hbar\relax
  \DeclareRobustCommand{\hbar}{\text{\normalfont\fontencoding{T2A}\fontfamily{antt}\itshape\symbol{163}}}%
}


\begin{document}
$h \hbar \frac{1}{\hbar}$
\end{document}

在此处输入图片描述

有关该问题的新闻

在一个LuaTeX 邮件列表中的消息LuaTeX 团队成员 Luigi Scarso 指出,mu单位问题已经修复,因此应该会在下一个版本的 TeX Live(2015)中得到解决。

相关内容