我最近听说有一个名为的软件包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
带有与libertine
Libertine 文本匹配的选项,使用 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 没有正确的字母作为数学符号的参数,因此在某些情况下需要进行一些调整,请参阅手册数学规范。