我正在使用 Linux Libertine,到目前为止,就数学模式而言一切都运行正常,字体看起来非常好,与文本完美匹配。
但是,我发现我不喜欢这种\overrightarrow
排版方式,因为箭头的尖端太大,会碰到下面的字母。我发现解决这个问题的方法是使用unicode-math
,我可能无论如何都应该这样做,打开它确实解决了我的问题:箭头将尖端更改为可管理的程度。
问题是,\setminus
消失了;此外,粗体符号不再是粗体,而我确实需要它们作为矢量。因此,我的主要问题是我怎样才能得到一个更好看的箭而不会丢失\setminus
并且有效\bm
?
MWE:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Linux Libertine}
\usepackage{amsmath}
\usepackage{bm}
\usepackage{unicode-math}
\begin{document}
Overarrow: $\overrightarrow{u, v}$
Setminus: $U\setminus V$
Vector: $x$, $\bm{x}$
\end{document}
编辑:正如@egreg指出的那样,缺失问题\setminus
是已知的。然而,即使解决了,我还需要大胆的在我的方程式中,unicode-math
除了使用 之外,有效地阻止了它们的使用FakeBold
,看这里。
\overrightarrow
因此,有没有一种无需使用就能改变的方法unicode-math
?
答案1
将 Latin Modern Math 与 Linux Libertine 一起使用是有争议的:它们是不同的字体。
还请注意bm
不适用于unicode-math
(目前,工作正在进行中)。但您可以使用\mathbfit
。
\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
\setmathfont{TeX Gyre Termes Math}
% the redefinition for the missing \setminus must be delayed
\AtBeginDocument{\renewcommand{\setminus}{\mathbin{\backslash}}}
\begin{document}
Overarrow: $\overrightarrow{u, v}$
Setminus: $U\setminus V$
Bold vector: $\mathbfit{x}$
\end{document}
所有文档字体都与 Latin Modern 相同:
Linux Libertine 用于文本,Latin Modern 用于数学,同样如此:
我看不到箭头的接触,但文本和数学字体之间也有视觉冲突。