如何在文档中选择数学字体

如何在文档中选择数学字体

我想在一个文档中展示不同数学字体的字体示例,例如 Latin Modern、Times 和 Charter。

我知道该命令\usefont{T1}{lmr}{m}{n},但不知道如何将其与数学环境结合起来。

答案1

在 LaTeX 中这有点复杂。请注意,数学符号的定义很复杂。数学字体与文本字体有很大不同。

你可能想阅读NFSS的文档:LaTeX2

答案2

2013 年 8 月更新:自 2011 年 9 月发布此答案的初始版本以来,(至少)又有两种 Unicode 数学字体加入了 TeX/LaTeX 领域:TeX Gyre Termes Math(与 TeX Gyre Termes 搭配使用,后者是 Times Roman 的克隆)和 Tex Gyre Pagella Math(与 TeX Gyre Pagella 搭配使用,后者是 Palatino 的克隆)。我已编辑下面的示例代码以包含这两种数学字体;显示的数学字体总数现在多达六种1


2018 年 5 月更新:在过去五年左右的时间里,已经出现了几种额外的 Unicode 数学字体系列。我更新了下面显示的代码和屏幕截图,以包括以下额外的数学字体:Stix、、和。我故意没有包括它,因为它的开发状态是“废弃”。我也没有包括它,因为它是一种商业字体Stix Two,不能免费使用。LibertinusDejvaVuNeo EulerMinion Math


正如其他答案和评论已经指出的那样,pdfLaTeX从一个数学字体组(例如,Computer/Latin Modern)切换到另一个。我所熟悉的具有匹配文本和数学字体的软件包是默认的 Computer/Latin Modern 组(如果未指定其他字体组,则加载)、mathptmx(Times Roman 外观)和mathpazo(Palatino)。还有txfontspxfonts软件包,它们为您提供 Times 和 Palatino,但提示和字形替换不如和好mathptmxmathpazo就在过去的几个月里,newtxmath(和newtxtext)软件包问世了;它们几乎纠正了软件包的所有缺点txfonts,还添加了很多新功能。我不熟悉专门为配合使用而设计的数学字体宪章文本字体。

尽管不是在同一文档中直接(甚至可能?!)切换整个数学字体系列如果 您使用,在和pdfLaTeX中这样做实际上非常容易。以下 MWE 演示了十种不同的匹配文本和数学字体:Latin Modern、XITS/XITS Math、TeXGyre Termes、TeXGyre Pagella、Palatino/Asana Math 和 Cambria Math,以及(2018 年 5 月添加)Stix、Stix Two、Libertinus 和 DejaVu。XeLaTeXLuaLaTeX

另请参阅网页TeX 和 LaTeX 的免费数学字体调查比较可供 (pdf)LaTeX 用户使用的各种免费数学字体。


在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

% !TeX program = lualatex
\documentclass{article}
\usepackage{xfrac,unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}

%% Load 10 math fonts; 1 of them with and without some "stylistic sets"
\setmathfont{Latin Modern Math}[version=lm]
\setmathfont{XITS Math}[version=xits]
\setmathfont{Stix Math}[version=stix]
\setmathfont{Stix Two Math}[version=stix2]  % https://github.com/stipub/stixfonts/
\setmathfont{Stix Two Math}[StylisticSet={1,2,8}, version=stix2_128] 
\setmathfont{TeX Gyre Termes Math}[version=termes]
\setmathfont{Cambria Math}[version=cambria]
\setmathfont{TeX Gyre Pagella Math}[version=pagella]
\setmathfont{Asana Math}[version=asana]
\setmathfont{Libertinus Math}[version=libertinus]
\setmathfont{TeX Gyre DejaVu Math}[version=dejavu]
%%\setmathfont{Neo Euler}[version=euler] % status: "abandoned"

\setlength\parindent{0pt} % just for this example
\newcommand{\abc}{abcdefghijklmnopqrstuvwxyz}
\newcommand{\ligs}{\ ff fi fl ffi ffl}
\newcommand{\abctextrm}{Text roman:  \abc\ligs}
\newcommand{\abctextit}{Text italic: \ \ \textit{\abc\ligs}}
\newcommand{\abcmathit}{Math italic: \ $\abc$}
\newcommand{\formulas}{%
  $\displaystyle
   \int_{0}^{1}\! x^{2}\,\mathrm{d}x = \sfrac{1}{3} 
   \qquad
   \sum_{k=0}^{\infty} \frac{1}{k^{2}}=\frac{\pi^{2}}{6}
   \qquad 
   \mathcal{ABC}\ \mathfrak{ABC}\ \mathbb{CNQR}$}
\newcommand{\doall}{\abctextrm\par\abctextit\par\abcmathit\par\formulas}

\begin{document}

%% Latin Modern (the default on most systems)
\setmainfont{Latin Modern Roman}
\mathversion{lm}
\section*{Latin Modern Roman, Latin Modern Math}
\doall

%% Various Times Roman clones
\setmainfont{XITS}
\mathversion{xits}
\section*{XITS, XITS Math}
\doall

\setmainfont{STIX}
\mathversion{stix}
\section*{STIX, STIX Math}
\doall

\clearpage
\setmainfont{Stix Two Text}
\mathversion{stix2}
\section*{Stix Two Text, Stix Two Math}
\doall

\setmainfont{Stix Two Text}
\mathversion{stix2_128}
\section*{Stix Two Text, Stix Two Math w/ stylistic sets 1, 2 \& 8}
\doall

\setmainfont{TeX Gyre Termes}
\mathversion{termes}
\section*{Termes, Termes Math}
\doall

\clearpage
%% Palatino clones
\setmainfont{TeX Gyre Pagella}
\mathversion{pagella}
\section*{Pagella, Pagella Math}
\doall

\setmainfont{Palatino nova}[UprightFont=*-Regular,
             BoldFont=*-Bold, ItalicFont=*-Italic]
\mathversion{asana}
\section*{Palatino nova, Asana Math}
\doall

%% Others

\setmainfont[Ligatures={TeX,Common}]{Cambria}
\mathversion{cambria}
\section*{Cambria, Cambria Math}
\doall

\clearpage
\setmainfont{Libertinus Serif}
\mathversion{libertinus}
\section*{Libertinus Serif, Libertinus Math}
\doall

\setmainfont{DejaVu Serif}
\mathversion{dejavu}
\section*{DejaVu Serif, DejaVu Math}
\doall


%%  Neo Euler Math has status "abandoned"
%\setmainfont{Palatino Linotype}
%\mathversion{euler}
%\section*{Palatino Linotype, Neo Euler Math}
%\doall
\end{document}

相关内容