我在文档中使用 Linux Libertine 字体。该字体提供不同的数字集、高度相同的“正常”数字,以及高度不同的中世纪/小写数字。
默认情况下,LaTeX 使用普通数字,但我更喜欢中世纪数字的外观。
我如何告诉 LaTeX 使用哪个数字集?
PS:我正在使用 LuaLaTeX
答案1
在 LuaLaTeX 和 XeLaTeX 中,你可以使用fontspec
包裹。
Numbers
/功能RawFeature
包括
Lining
和Uppercase
/lnum
:普通/大写数字OldStyle
和Lowercase
/onum
:中世纪/微小人物Proportional
/pnum
Monospaced
/tnum
(t
代表表格)SlashedZero
/zero
:给出斜线 0
您可以通过以下方式激活这些功能
\addfontfeatures{Numbers={OldStyle,Proportional}}
或者
\addfontfeatures{RawFeature=+onum;+pnum}
如果你使用libertineotf
包(它还提供了在文档中更改这些设置的快捷方式,参见包手册),您可以直接将这些参数作为包选项给出:
\usepackage[
libertine={Ligatures=TeX,RawFeature=+onum;+pnum},
biolinum={Ligatures=TeX,RawFeature=+onum;+pnum},
mono={Scale=MatchLowercase,RawFeature=+zero}]
{libertineotf}
如果没有,您仍然可以在指定字体时直接设置选项:
\setmainfont[RawFeature=+onum;+pnum]{Linux Libertine O}
\setsansfont[RawFeature=+onum;+pnum]{Linux Biolinum O}
以下是一个示例代码:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\def\numbers{0123456789}
\begin{document}
\begin{tabular}{lrrr}
\textbf{Normal Zero} & Monospaced & Proportional & \\
Lining & \addfontfeatures{Numbers={Lining,Monospaced}}\numbers & \addfontfeatures{Numbers={Lining,Proportional}} \numbers & \\
OldStyle & \addfontfeatures{Numbers={OldStyle,Monospaced}}\numbers & \addfontfeatures{Numbers={OldStyle,Proportional}}\numbers & \\
\end{tabular}
\vspace{1ex}
\addfontfeatures{Numbers=SlashedZero}
\begin{tabular}{lrrr}
\textbf{Slashed Zero} & Monospaced & Proportional & \\
Lining & \addfontfeatures{Numbers={Lining,Monospaced}}\numbers & \addfontfeatures{Numbers={Lining,Proportional}} \numbers & \\
OldStyle & \addfontfeatures{Numbers={OldStyle,Monospaced}}\numbers & \addfontfeatures{Numbers={OldStyle,Proportional}}\numbers & \\
\end{tabular}
\end{document}
答案2
使用Numbers=OldStyle
:
\setmainfont[Numbers={OldStyle}]{Linux Libertine O}
来自fontspec
的文档,表 4:
Feature Option Tag
Numbers = Uppercase/Lining lnum
Lowercase/OldStyle onum
Proportional pnum
Monospaced tnum
SlashedZero zero
Arabic anum
答案3
\documentclass{article}
\usepackage[libertine={Ligatures=TeX,RawFeature=+onum}]{libertineotf}
\begin{document}
0123456789
\end{document}
或者也可以使用无衬线字体 Biolinum
\usepackage[libertine={Ligatures=TeX,RawFeature=+onum},
biolinum={Ligatures=TeX,RawFeature=+onum}]{libertineotf}