pdflatex 与 lualatex:Libertinus 和 overline 与 bar

pdflatex 与 lualatex:Libertinus 和 overline 与 bar

我理解,如果我希望相应的字符表示“不同的东西”,我应该在数学模式中使用\bar而不是,因为实际上是一种重音符号(类似于,素数,等等)。与之相反,它应该用作运算符,比如动词变位或类似物。\overline\bar\dot\hat\overline

但是,对于 Libertinus 和 PdfLaTeX,我通常使用\overline,因为它能给我更好的视觉效果。

梅威瑟:

\documentclass{article}
\usepackage{libertinus}

\begin{document}
\begin{tabular}{cc}\hline
\texttt{\textbackslash overline}  &  \texttt{\textbackslash bar} \\\hline
$\overline{c}$     &  $\bar{c}$ \\
$\overline{d}$     &  $\bar{d}$ \\
$\overline{f}$     &  $\bar{f}$ \\
$\overline{\i}$    &  $\bar{\i}$ \\\hline
\end{tabular}
\end{document}

PdfLaTeX 的结果:

PdfLaTeX 的结果

以我个人的观点来看,\overline这样更好,因为“重音”更宽,覆盖了字母的整个宽度,因此更容易被发现。

最近,我改用了 LuaLaTex。使用 LuaLaTeX 编译的相同 MWE:

使用 LuaLaTeX 的结果

  • 优点\overline:总体来说,“重音”仍然更宽,更容易辨别,尤其是 d 和 f
  • 优点\bar:重音符号“墨水”的厚度与字母的厚度相匹配
  • 缺点\overline:f 和 d 的上划线水平位置错误。在这两种情况下,“重音”都过于偏向左侧。\overline没有考虑到字符倾斜且其上升字干向右突出。
  • 缺点\bar:就 d 而言,小节似乎太短或位置奇怪。如果小节仍然这么短,重音应该更靠近 d 上升符干的右侧。

问题:

1) 是否可以修复\bard 字母,使其变得更宽并覆盖 d 的整个主体的宽度,或者像 f 一样放置在 d 的词干上?

2)是否可以修复\barf 字母,使其变得稍微宽一些,并且看起来更类似于上划线,就像 PdfLaTeX 的情况一样?

答案1

fontspec这要么是 LuaTeX 中的错误(也可能是 luaotfload),要么是字体本身的问题,与或无关unicode-math。这是一个普通的 TeX 示例:

%!TEX TS-program = XeTeX

\ifx\XeTeXversion\undefined
  \input luaotfload.sty
  \def\otf#1{[#1.otf]}
\else
  \def\otf#1{[#1.otf]}
\fi

\parindent=0pt\relax
\hsize=8.5cm\relax
\hrule
\bigskip

{\bf Default \TeX}

Regular symbols:
$$
 a + b + c \quad \alpha + \beta + \gamma
$$

Testing overline:
$$
 \overline{a} + \overline{b} + \overline{c} + \overline{d} + \overline{e} + \overline{f} + \overline{\alpha} + \overline{\beta} + \overline{\gamma}
$$

\hrule
\bigskip

{\bf Loading new OpenType maths font (red glyphs)}

\font\mymm = "\otf{LibertinusMath-Regular}:color=FF0000" at 10pt\relax

\textfont1\mymm

\def\alpha{α}
\def\beta{β}
\def\gamma{γ}

\def\codemathhigh{%
 \Umathcode`\a = 7 1 "1D44E\relax
 \Umathcode`\b = 7 1 "1D44F\relax
 \Umathcode`\c = 7 1 "1D450\relax
 \Umathcode`\d = 7 1 "1D451\relax
 \Umathcode`\e = 7 1 "1D452\relax
 \Umathcode`\f = 7 1 "1D453\relax
 \Umathcode"03B1 = 7 1 "1D6FC\relax
 \Umathcode"03B2 = 7 1 "1D6FD\relax
 \Umathcode"03B3 = 7 1 "1D6FE\relax
}
\codemathhigh

Regular symbols:
$$
 a + b + c \quad \alpha + \beta + \gamma
$$

Testing overline:
$$
 \overline{a} + \overline{b} + \overline{c} + \overline{d} + \overline{e} + \overline{f} + \overline{\alpha} + \overline{\beta} + \overline{\gamma}
$$


\bye

相关内容