如何在数学模式下默认将大写希腊字母设置为斜体?

如何在数学模式下默认将大写希腊字母设置为斜体?

这是一个后续问题这里

推荐的解决方案对我来说不起作用。因此,我让所有数学包都放在 MWE 中。结果是直立的 Psi 后面跟着斜体的 Psi。我希望公式中的所有大写希腊字母都为斜体。将一个字符设置为直立(对于常数、运算符……)的可能性会很棒。因此,我想知道是否有更漂亮的解决方案。

\documentclass[]{scrreprt}

\usepackage[final]{microtype}
\usepackage{luatextra}
\usepackage{fontenc}
    \defaultfontfeatures{Ligatures={TeX}}
\usepackage[ngerman, english]{babel}
\useshorthands{"}
\addto\extrasenglish{\languageshorthands{ngerman}}
\usepackage{amsmath}
\let\Gamma\varGamma
\let\Delta\varDelta
\let\Theta\varTheta
\let\Lambda\varLambda
\let\Xi\varXi
\let\Pi\varPi
\let\Sigma\varSigma
\let\Upsilon\varUpsilon
\let\Phi\varPhi
\let\Psi\varPsi
\let\Omega\varOmega
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{commath}
\usepackage[
per-mode=symbol-or-fraction,
locale=DE,
sticky-per
]{siunitx} 
\usepackage{xfrac}
%
\begin{document}
$\Psi \varPsi$
\end{document}

编辑 我对使用的数学包了解甚少。不知道我是否会使用它们(amssymbmathtools)。如果它们已过时或不推荐用于德国排版(英语和德语),或者典型公式设置中缺少某些内容,我将非常乐意提供任何建议。

答案1

我的建议是使用unicode-math

\documentclass{scrreprt}
\usepackage[ngerman, english]{babel}

\usepackage{amsmath}
\usepackage[math-style=ISO]{unicode-math}
\usepackage[final]{microtype}

\usepackage[table]{xcolor}
\usepackage[
  per-mode=symbol-or-fraction,
  locale=DE,
  sticky-per
]{siunitx}

\useshorthands{"}
\addto\extrasenglish{\languageshorthands{ngerman}}

\begin{document}
$\Psi \symup{\Psi}$
\end{document}

在此处输入图片描述

您可以看到默认的字母是倾斜的,但是使用\symup可以得到直立的字母。


unicode-math不需要amssymbmathtools如果需要,请加载 ,以代替amsmath unicode-math

不要加载commath:它有缺陷。


笔记:在以前版本的代码中\mathup使用过,但unicode-math经过了一些修改,现在\symup是用于此目的的命令。

相关内容