更改 LaTeX 中的数字字体不起作用

更改 LaTeX 中的数字字体不起作用

我使用了在这里找到的代码来更改 LaTeX 中的数字字体,但是它不起作用 :( 我的字体名称是“MiLetra”。我已经尝试输入“MiLetra.ttf”和“MiLetra.otf”(使用它的 ttf 和 otf 版本)但它没有任何改变。

这是我放的:

\documentclass{article}
  \DeclareSymbolFont{numbers}{T1}{MiLetra}{m}{n}
  \SetSymbolFont{numbers}{bold}{T1}{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}

\begin{document}
abc

$a=123$

\mathversion{bold}

$a=345$
\end{document}

如果有人知道发生了什么,我将非常感激您的帮助。谢谢!

答案1

使用 XeLaTeX 或 LuaLaTeX:

\documentclass{article}
\usepackage[no-math]{fontspec}

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

\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}

\begin{document}

abc $a=123$

\mathversion{bold}

$a=345$

\end{document}

您的字体设置可能需要略有不同。这是针对MILETRA.ttf与主文件相同的目录(使用伪粗体,因为我找到的版本中没有粗体版本)。

在此处输入图片描述

相关内容