套餐选择——全球效应

套餐选择——全球效应

如果我在 XeLaTeX 中使用 Libertine 字体,我可以通过将其作为选项包含在设置主字体时来指定使用比例数字/图形,如下所示:

\setmainfont[Numbers={Lining,Proportional}]{Linux Libertine O} 

但是,我也对使用 pdfLaTeX 时能够使用比例数字感兴趣。下面是一个 MWE,它展示了一种实现此目的的方法。但我的“解决方案”看起来非常丑陋。有没有更好的方法来实现这一点?

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{libertine}

\begin{document}
% this seems necessary to get proportional numbers in Libertine
% when using pdflatex. Comment / uncomment to see the difference    
\usefont{T1}{fxlf}{m}{n}\selectfont    

I would like the following numbers to be proportional so that 11, 
doesn't take up as much space as 17. See what I mean?    

\end{document}

答案1

这是针对 2014/11/25 当前版本的答案libertine,因为 lockstep 的答案不再适用于当前版本(可能是由于自 2011 年以来维护者和概念的变化)。


一般来说,Linux Libertine 的数字是任何一个比例(不同宽度)或者表格(宽度相同),并且要么老式(不同高度)或者衬里(相同高度):

默认情况下,如果您不进行任何更改,则libertine使用表格衬里数字。

您可以通过三种不同的方式指定数字的样式,它们具有不同的范围。

套餐选择——全球效应

  • oldstyle(或osf)表示旧式数字
  • lining(或nflf)用于绘制数字
  • proportional(或p)用于宽度不等的数字
  • tabular(或t)表示固定宽度的数字

这些适用于整个文档。当然,只有指定 或 和 或 才有oldstyle意义liningproportional例如tabular

\usepackage[oldstyle, proportional]{libertine}

\fontfamily{…}– 局部效应

文档中没有描述这种方式libertine

  • 比例旧式数字:\fontfamily{LinuxLibertineT-OsF}\selectfont 123
  • 比例衬线数字:\fontfamily{LinuxLibertineT-LF}\selectfont 123
  • 表格旧式数字:\fontfamily{LinuxLibertineT-TOsF}\selectfont 123
  • 表格内衬数字:\fontfamily{LinuxLibertineT-TLF}\selectfont 123

这些命令位于文档正文中,而不是前言中,它们会从放置它们的位置开始更改字体。有关如何使用这些命令的更多详细信息,请查看LaTeX 答案如何在文档中的一小部分文本中使用特定字体?。 例子:

123 tabular lining figures (default) up to here
\fontfamily{LinuxLibertineT-LF}\selectfont
123 proportional lining figures from now on

宏观 – 小规模、选择性效应

  • \oldstylenums{123}
  • \liningnums{123}
  • \proportionalnums{123}
  • \tabularnums{123}

这些宏仅改变参数中数字的样式。例如:

123 tabular lining figures (default), but then \oldstylenums{123
(still tabular) oldstyle figures} and back to 123 tabular lining
figures

答案2

正如 Mico 所评论的那样,“为了实现这种效果,在包的加载时似乎没有现成的选项。”但是,如果您想将规范放在序言中,则可以使用\AtBeginDocument{\usefont{T1}{fxlf}{m}{n}\selectfont}。另一种可能性是重新定义libertine内部命令:

\documentclass[12pt]{article}

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

\makeatletter
  \def\libertine@param{fxlf}% comment / uncomment to see the difference
  \def\biolinum@param{fxbf}
\makeatother

\begin{document}

I would like the following numbers to be proportional so that 11, 
doesn't take up as much space as 17. See what I mean?    

\end{document}

相关内容