是否可以使用 Linux Libertine 作为数学字体?

是否可以使用 Linux Libertine 作为数学字体?

我最近听说有一个名为的软件包unicode-math,它可以使用普通的 TTF/OTF 字体进行数学排版。Linux Libertine 在多大程度上可以做到这一点?我喜欢这个字体,只是缺少数学支持有点烦人,尽管在我看来欧拉是一个很好的匹配。

答案1

为了提供更及时的答案,现在自由主义者,Linux Libertine 的一个分支,修复了一些错误,并提供了相当不错的数学支持(请查看本示例文档)。

\documentclass[varwidth,border=1mm]{standalone}

\usepackage[
    math-style=ISO,
    bold-style=ISO,
    partial=upright,
    nabla=upright
]{unicode-math}

\setmainfont{Libertinus Serif}
\setsansfont{Libertinus Sans}
\setmathfont{Libertinus Math}


\begin{document}
The formula \(E=mc^2\) is arguably the most famous formula in physics.

In mathematics, it could be \(\mathrm{e}^{\mathrm{i}\uppi}-1=0\).

\(\displaystyle \sum_{k=0}^\infty \frac{1}{k^2} = \frac{\uppi^2}{6}\), and
\(\displaystyle \int\displaylimits_{-\infty}^\infty 
   \exp\left(-\frac{x^2}{2}\right) = \sqrt{2\uppi}\).

\(\alpha\beta\gamma\delta\epsilon\zeta\eta\theta\iota\kappa\lambda\mu\nu\xi\pi\rho\sigma\tau\upupsilon\phi\chi\psi\omega \varepsilon\vartheta\varrho\varsigma\varphi\varkappa\)

\(\upalpha\upbeta\upgamma\updelta\upepsilon\upzeta\upeta\uptheta\upiota\upkappa\uplambda\upmu\upnu\upxi\uppi\uprho\upsigma\uptau\upupsilon\upphi\upchi\uppsi\upomega \upvarepsilon\upvartheta\upvarrho\upvarsigma\upvarphi\upvarkappa\)

\(\Alpha\Beta\Gamma\Delta\Epsilon\Zeta\Eta\Theta\Iota\Kappa\Lambda\Mu\Nu\Xi\Pi\Rho\Sigma\Tau\Upsilon\Phi\Chi\Psi\Omega\)

\(\upAlpha\upBeta\upGamma\upDelta\upEpsilon\upZeta\upEta\upTheta\upIota\upKappa\upLambda\upMu\upNu\upXi\upPi\upRho\upSigma\upTau\upUpsilon\upPhi\upChi\upPsi\upOmega\)
\end{document}

截屏

答案2

有一个新的 LaTeX 数学包叫做newtx带有与libertineLibertine 文本匹配的选项,使用 Libertine Roman italic 和 Greek 以及旧txfonts包中的符号,重新度量以便不那么拥挤,并带有数学斜体和符号的光学版本。0.93 之前的版本存在问题,但 0.93(应该很快就会出现在 CTAN 上)似乎运行良好。

答案3

使用它来处理变量和常量(字母)并不太难。对于 XeLaTeX,您可以使用 mathspec 包。对于常规 PDFLaTeX,您可以使用该mathastext包,例如:

\usepackage[T1]{fontenc}
\usepackage{libertine}
\usepackage[italic]{mathastext}

这将为您提供带有 Libertine 字母和数字的 Computer Modern 符号。请参阅数学文本有关希腊语等选项的文档。如果您在加载这些符号之前加载另一种符号字体(eulervm 等),您将获得带有自由字母的符号。我个人喜欢先加载txfonts符号,然后再加载这些符号。

如果您想要它包含的几个符号(比大多数字体都多,但肯定也不够),我不知道该如何让它工作,您可能可以使用unicode-math,但您必须切换回其他字体才能找到它缺少的许多符号。

答案4

包裹unicode 数学需要 XeLaTeX 或 LuaLaTeX 和具有特殊数学表的字体,目前,Linux Libertine 系列中没有这样的字体。

使用 XeLaTeX 你可以尝试

\usepackage{mathspec}
\setmathsfont(Digits,Latin,Greek)
  [Numbers={Lining,Proportional}]{Linux Libertine O}

但由于 Linux Libertine O Italic 没有正确的字母作为数学符号的参数,因此在某些情况下需要进行一些调整,请参阅手册数学规范

相关内容