π 符号未出现

π 符号未出现

我正在写一本简单的数学书,但我对圆周率符号有疑问。我使用的字体没有圆周率符号,因此它看起来像这样:

圆周率问题

我是这样写的:

\textbf{Perímetro:} $2\pi r$\\
\textbf{Área:} $r\pi^2$\\+

以下是我应用字体的方式:

\newfontfamily{\miletra}{MILETRA}[
  NFSSFamily=MiLetra,
  Path=./,
  Extension=.ttf,
  UprightFont=*,
  BoldFont=*,
  BoldFeatures={FakeBold=3},
]

\renewcommand{\familydefault}{MiLetra}

\DeclareSymbolFont{numbers}{TU}{MiLetra}{m}{n}
\SetSymbolFont{numbers}{bold}{TU}{MiLetra}{bx}{n}
\DeclareMathSymbol{0}\mathalpha{numbers}{"30}
\DeclareMathSymbol{1}\mathalpha{numbers}{"31}
\DeclareMathSymbol{2}\mathalpha{numbers}{"32}
\DeclareMathSymbol{3}\mathalpha{numbers}{"33}
\DeclareMathSymbol{4}\mathalpha{numbers}{"34}
\DeclareMathSymbol{5}\mathalpha{numbers}{"35}
\DeclareMathSymbol{6}\mathalpha{numbers}{"36}
\DeclareMathSymbol{7}\mathalpha{numbers}{"37}
\DeclareMathSymbol{8}\mathalpha{numbers}{"38}
\DeclareMathSymbol{9}\mathalpha{numbers}{"39}

\DeclareSymbolFont{operators}{TU}{MiLetra}{m}{n}
\DeclareSymbolFontAlphabet{\mathsf}{operators}

\DeclareSymbolFont{letters}{TU}{MiLetra}{m}{n}
\DeclareSymbolFontAlphabet{\mathsf}{letters}

如何在不改变字体的情况下让 LaTeX 使用其数学字体中的 π 符号?

提前致谢。

答案1

一个更合理的例子是

\documentclass{article}

\usepackage{fontspec}
\newfontfamily{\miletra}{Comic Sans MS}[
  NFSSFamily=MiLetra,
  UprightFont=*,
  BoldFont=*,
  BoldFeatures={FakeBold=3},
]

\DeclareSymbolFont{letters}{TU}{MiLetra}{m}{n}
\begin{document}

\textbf{Perímetro:} $2\pi r$

\textbf{Área:} $\pi r^2$
\end{document}

(我选择了一种不带希腊语的知名字体)

您可以使用经典的 tex 数学编码定义符号字体,然后重新定义\pi以使用该字体(从fontmath.ltx刚更改lettersgrletters

在此处输入图片描述

\documentclass{article}

\usepackage{fontspec}
\newfontfamily{\miletra}{Comic Sans MS}[
  NFSSFamily=MiLetra,
  UprightFont=*,
  BoldFont=*,
  BoldFeatures={FakeBold=3},
]

\DeclareSymbolFont{letters}{TU}{MiLetra}{m}{n}
\DeclareSymbolFont{grletters}{OML}{cmm} {m}{it}

\DeclareMathSymbol{\pi}{\mathord}{grletters}{"19}

\begin{document}

\textbf{Perímetro:} $2\pi r$

\textbf{Área:} $\pi r^2$
\end{document}

答案2

如果你可以使用\newfontfamily,那么你也可以使用unicode-math,例如:

\usepackage[math-style=upright]{unicode-math}

\defaultfontfeatures{Scale=MatchLowercase, Ligatures=TeX}
\setmainfont{Miletra}[Scale=1.0]
\setmathfont{Fira Math} % Or your math font of choice
\setmathfont{Miletra}[range=up/{Latin,latin,digits}]

虽然我没有你的字体来测试,但对于除拉丁字母和数字之外的所有符号,这都会恢复为 Fira Math 字体。

相关内容