好吧,问题的标题几乎说明了一切。更准确地说:我想知道 (1) 哪种字体在视觉上适合与 Linux Libertine 和/或 Linux Biolinum 一起使用作为主文本字体(我还没有决定使用其中哪一种)以及 (2) 如何在 XeTeX 中启用它(作为数学字体)。
答案1
Thierry Bouche 的混合字体指南可以很好地指导你考虑哪些因素数学字体的多样性文章于拖船,第19卷(1998),第2期。
最重要的一点是,文本和数学字母(以及字母符号,如\partial
或\infty
)使用相同的字体。这样做有缺点,因为有些字母会出现间距问题,但与另一种选择(使用完全不同的数学字母)相比,这确实是两全其美。当然,如果您不能接受这一点,那么您应该先选择数学字体,然后对文本使用相同的字体,但这会极大地限制您的字体选择。
将文本字体分配给数学字母后,您面临的剩余选择就是几何符号、分隔符和大运算符(\sum
、\int
等\bigcup
)。主要考虑的是颜色(符号的粗细程度)和符号的形状(主要是和或积分符号的形状,特别是如果您经常使用它们)。与 Libertine 相比,XITS 和 Asana 有点太粗(尤其是和符号),Latin Modern 有点太浅(特别是 、+
等\otimes
),而 Cambria 的\sum
符号非常大,非常大\otimes
,而且\oplus
非常粗\bigcup
。因此,哪种字体看起来更好取决于您输入的数学类型,没有一种字体是完美的。
下面是一个示例,展示了此字体与 Libertine 混合的结果。请注意,由于这是我们用于数学的文本字体,f(r_k)
因此f 周围的间距问题。我没有将所有字母符号都设置为来自 Libertine(仅),因此仍有改进空间。(另请注意拉丁现代数学公式中缺少括号。)\Sigma_c f(r)
\infty
\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont{Linux Libertine O}
\newcommand{\setlibertinemath}{%
% use Libertine for the letters
\setmathfont[range=\mathit/{latin,Latin,num,Greek,greek}]{Linux Libertine O Italic}
\setmathfont[range=\mathup/{latin,Latin,num,Greek,greek}]{Linux Libertine O}
\setmathfont[range=\mathbfup/{latin,Latin,num,Greek,greek}]{Linux Libertine O Bold}
%\setmathfont[range={"2202}]{Linux Libertine O}% "02202 = \partial % doesn't work
\setmathfont[range={"221E}]{Linux Libertine O}% "0221E = \infty
% etc. (list should be completed depending on needs)
}
\newcommand{\sample}{%
When computing the sums $\sum_{k=0}^{+\infty}{f(r_k)}$ of $f$ the integral representation of $K_0(x)$ may be used.
\[
\eta(r)\frac{\partial f}{\partial r} + 2\Sigma_cf(r)
= \sum_{k=0}^{+\infty}{K_0\mathopen{}\left(\frac{\lvert r - r_k \rvert}{L}\right)}
= \int_{0}^{\infty}{e^{-\left(z+\frac{r^2}{4L^2\pi}\right)} \frac{dz}{2z}}.
\]
We then use
\[
\bigcup_{\lambda \in \Lambda}{U_\lambda} \cap \bigsqcup_{\delta > 0}{G_\delta} = \bigcap_{i \in I}{\mathbf{A}_i}
\quad \text{so that} \quad
u \otimes w \oplus v = 0.
\]
}
\pagestyle{empty}
\begin{document}
\section{Libertine + Latin Modern}
\setmathfont{Latin Modern Math}\setlibertinemath
\sample
\section{Libertine + Cambria}
\setmathfont{Cambria Math}\setlibertinemath
\sample
\section{Libertine + XITS}
\setmathfont{XITS Math}\setlibertinemath
\sample
\section{Libertine + Asana}
\setmathfont{Asana Math}\setlibertinemath
\sample
\end{document}
答案2
答案3
在下面的 MWE 中,全字母表首先以文本斜体显示(使用 Linux Libertine),然后以四种不同的数学字母显示——Asana Math、Cambria Math(并非完全免费,但相当便宜)、XITS Math 和 Latin Modern Math。使用 Linux Biolinum 和相同的四种数学字母重复此练习,这次采用无衬线模式。
我认为总体上最接近(但绝不完美)的是 Linux Libertine 和 Asana Math。但是,如果您希望非常重视字母f
、p
和的形状q
,XITS Math 可能是您的最佳选择。或者,如果您非常关心字母形状的兼容性w
(但不太关心字母f
和g
),Cambria Math 可能最适合您。无论如何,Latin Modern 在视觉上与 Linux Libertine 不兼容。
% !TEX program = xelatex
\documentclass[letterpaper]{article}
\usepackage[no-math]{fontspec}
\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}
\usepackage{unicode-math}
\setmathfont[version=asana]{Asana Math}
\setmathfont[version=cambria]{Cambria Math}
\setmathfont[version=xits]{XITS Math}
\setmathfont[version=lm]{Latin Modern Math}
\newcommand{\qbf}{The\ quick\ brown\ fox\ jumps\ over\ the\ lazy\ dog.}
\begin{document}
\noindent
\emph{\qbf} --- Linux Libertine O, italics\newline
\mathversion{asana} $\qbf$ --- Asana Math\newline
\mathversion{cambria} $\qbf$ --- Cambria Math\newline
\mathversion{xits} $\qbf$ --- XITS Math\newline
\mathversion{lm} $\qbf$ --- Latin Modern Math
\bigskip\noindent
\textsf{\qbf} --- \textsf{Linux Biolinum O}\newline
\mathversion{asana} $\mathsf{\qbf}$ --- Asana Math-sf\newline
\mathversion{cambria} $\mathsf{\qbf}$ --- Cambria Math-sf\newline
\mathversion{xits} $\mathsf{\qbf}$ --- XITS Math-sf\newline
\mathversion{lm} $\mathsf{\qbf}$ --- Latin Modern Math-sf
\end{document}
顺便说一句,第一行中奇怪的“tz”字符(文本斜体,Linux Libertine)似乎是 Linux Libertine 和 XeLaTeX 之间不良交互的产物。如果使用 Linux Libertine 以外的字体或 MWE 在 LuaLaTeX 下运行,则不会出现此问题。
附录要了解有关各种数学字体提供的各种数学符号的更多信息,请参阅 Will Robertson 的文章,每个符号定义为unicode-math
。您很快就会发现,几乎所有 Unicode 数学字体都提供了所有“标准”数学符号。但是,数学字体包在它们提供的专用符号集(例如箭头)方面往往存在重大差异。显然,具有最多数学符号的字体(就我所知,XITS Math
目前)不一定是最适合您的字体,因为您可能不需要功能最丰富的软件包提供的大多数符号。
最后,假设你最终决定使用该XITS Math
字体,因为它带有你需要的所有特殊符号(而其他数学字体包没有)。在这种情况下,你应该愿意使用XITS
文本字体,而不是Linux Libertine O
,因为XITS
与字体非常协调(按设计!)XITS Math
。
答案4
你应该等到 TUG 发布 Lucida Math OpenType 字体。我想至少要到今年年底了。