LuaLatex + Unicode-math,无法使用“\up*”命令获取正统希腊文

LuaLatex + Unicode-math,无法使用“\up*”命令获取正统希腊文

我试图在 LaTex 中输入直立的希腊字母,有人建议我使用带有 Unicode-math 包的 LuaLaTex 来实现这一点。

然而我遇到了一个奇怪的问题。如果我想输入直立字母$\upmu$,它将显示为斜体。我只能通过输入来获得它 \mathrm{\mu}。下面是一个示例及其输出。我是否遗漏了这里显而易见的东西?

感谢您的帮助。

在此处输入图片描述

\documentclass{article}
\usepackage{upgreek}
\usepackage{amsmath}
\usepackage{unicode-math}

\begin{document}
This will not work: $\upmu$ $\mitAlpha$

But this will work: $\mathrm{\mu}$ $\mathit{\Alpha}$
\end{document}

答案1

希腊字母的排版方式取决于选项math-style。例如,french\upmu都是\mu直立的,和ISO都是斜体的。(我也觉得这很令人困惑,\upXXX最后都是斜体的……)。如果您想强制单个实例使用直立模式,请使用标记命令,例如\mathup

\documentclass{article}
\usepackage{amsmath}
\usepackage[math-style=ISO]{unicode-math} %or french, TeX, literal, upright

\begin{document}
$\upmu \mu x  $ 
$\mathup{\mu}$ 
$\mathit{\Alpha}$
\end{document}

答案2

\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmathfont{XITS Math}
\setmathfont[math-style=literal,range={"00F0-"03D6}]{XITS Math}

\begin{document}
This will work: $\upmu\upalpha x$ $\mitAlpha$

But this will work: $\mathrm{\mu}$ $\mathit{\Alpha}$
\end{document}

答案3

我假设之前的答案在发布时是正确的,但在 2021 年,您真正想要的\symup{\alpha}是 等。使用\mathrm将获得 设置的字体\setmathrm,默认情况下不包含希腊字母。但是,您可以传递包unicode-math选项来为和mathup=sym创建\mathup一个别名。\symupmathrm=sym

从 2021 年起,\upmu应该可以工作,并且\mupmu具有相当于输入 μ 的旧行为。

相关内容