unicode-math 符号未出现(Luatex)

unicode-math 符号未出现(Luatex)

正如标题所述,Unicode 字符不会出现在数学模式中。根据我的理解,“unicode-math”包应该会让它们出现。

我的问题是,为什么它们不出现以及我如何才能让它们工作。

一个最小的工作示例是这样的:

\documentclass[a4paper,12pt,DIV=15, ngerman, parskip=half]{scrartcl}  % parskip=half or parskip=full

\usepackage{csquotes}
\usepackage[ngerman]{babel}


%% The AMS-Packages
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathtools}

\usepackage{ifluatex}
\ifluatex%
  % Lua(La)TeX
  \usepackage{fontspec}
  \usepackage[math-style=ISO, bold-style=ISO]{unicode-math}

\else
  %default: pdf(La)TeX
  \usepackage{lmodern} % load vector font
  \usepackage[T1]{fontenc} % font encoding
  \usepackage[utf8]{inputenc} % input encoding
\fi


\usepackage[stretch=10,shrink=10]{microtype}


\begin{document}

Latex: \(\hbar\) vs. Unicode: \(ħ\) (Unicode normal: ħ)

Latex: \(\mu\) vs. Unicode: \(µ\) (Unicode normal: µ)

\end{document}

输出结果如下:

Unicode 数学演示

如您所见,在 Mathmode 中使用时,符号根本不会出现。我正在使用 Texlive 2021 和 luatex,但找不到任何相关的警告或错误。

答案1

您输入的内容有误。数学上的 ℏ 是 U+210F,而不是 ħ (U+0127)。mu 也类似:

答案2

存在误解,因为 Unicode 表中有一些形状相似但含义不同的字符。

ħ U+0127  Latin Small Letter H With Stroke
ℏ U+210F  Planck Constant Over Two Pi, \hslash, \let\hbar=\hslash
µ U+00B5  Micro Sign
μ U+03BC  Greek Small Letter Mu        \mu

答案3

很容易产生误解。

通过对字体的目视检查可以解释如何。

数学字体(例如 TeX Gyre Pagella - Math)包含全部按照 MAS Unicode 块定义的符号(粗体、斜体等):

马航 1

马航 2

相比之下,文本字体(例如 TeX Gyre Pagella)不需要 MAS 字形:

没有 MAS

文本字体也会有斜体、粗体、粗体斜体等不同的字体文件。数学字体通常只有一个字体文件(约 1k 粗体、斜体等)符号在里面)。

文本字体可能有或可能没有拉丁和希腊文本字母(TeX Gyre Pagella 都有),独立于 MAS,并且为常规、斜体、粗体等。同样,数学字体(TeX Gyre Pagella - Math 也有拉丁和希腊文本(但仅为常规))。

unicode-math包将所有这些连接在一起(通过映射和范围),并在顶部添加 ISO 格式。

三峡工程

考虑案例 2,其中数学字体在数学模式下使用(蓝色),并且在文本模式下用作文本字体(红色):即 MAS 字形在两种模式下都会出现。

因此,字形的来源以及它在文本/数学模式下的显示方式取决于多个相互关联和重叠的因素。

平均能量损失

\documentclass{article}  
\usepackage{xcolor}
%\usepackage[math-style=ISO, bold-style=ISO]{unicode-math}
\usepackage{unicode-math}
\setmainfont{TexGyrePagella}
\setmathfont{TexGyrePagella-Math}[Colour=blue]
\newfontface\fonttgpm{TexGyrePagella-Math}[Colour=red]
\newcommand\tqbf{The quick brown fox jumps over the lazy dog.}
\newcommand\texta{[Aa] }
\newcommand\textb{\textit{italic} \textbf{bold} \textbf{\textit{bolditalic}} \textsc{Small Caps} }
\newcommand\mas{\texta 

相关内容