我想使用unicode-math
ISO 样式的字体来编写公式。但是,我想使用\pi
而不是\uppi
来创建直立的 pi。不幸的是,我用 重新定义\renewcommand
不起作用。
\pi
我怎样才能重新定义给出直立 pi的含义,math-style=ISO
同时保留bold-style=ISO
其余字母?
目前我有以下 MWE:
\documentclass{article}
\usepackage[T1]{fontenc}
% Mathematics
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
% Font
\usepackage{fontspec}
\usepackage[math-style=ISO,bold-style=ISO]{unicode-math}
\setmathfont{Latin Modern Math}
\renewcommand{\pi}{\uppi} % doesn't work
\begin{document}
\begin{align}
\alpha \beta \Alpha \Beta\\
\pi \uppi % these commands should show the same glyph
\end{align}
\end{document}
答案1
在范围特征修复之前,您可以使用间接重定义:
\documentclass{article}
% Mathematics
\usepackage{amsmath}
% Font
\usepackage{fontspec}
\usepackage[math-style=ISO,bold-style=ISO]{unicode-math}
\setmathfont{Latin Modern Math}
\AtBeginDocument{%
\let\umathpi\pi
\renewcommand\pi{\symup\umathpi}%
}
\begin{document}
\begin{gather}
\alpha \beta \Alpha \Beta
\\
\pi \uppi \mitpi
\end{gather}
\end{document}
笔记
我不建议这样做;最好将
\cpi
“常数 pi”定义为\newcommand{\cpi}{\symup{\pi}}
加载
amssymb
是amsfonts
无用的,因为所有符号和字体都已由unicode-math
不要
fontenc
随fontspec
/一起加载unicode-math
,除非你有很好的理由切勿使用
minimal
类(参见为什么要避免使用最小类?)