如何使用 libertine 字体的倾斜变体?

如何使用 libertine 字体的倾斜变体?

在 Debian 7 (Wheezy) 上的 Texlive 发行版的标准包中,我能够使用Linux 浪子通过将文本调用为 来制作字体\textsl{slanted text here}

我已经升级到 Debian 8 (Jessie),Libertine 软件包似乎不再支持倾斜文本。我调用的所有\textsl{}输出都只是斜体。我已经在我的操作系统上安装了 Libertine 的所有变体(作为 OTF),并且可以访问Linux Libertine 显示倾斜的 O通过 LibreOffice 和其他程序。

这是非常令人遗憾的,因为我在大型科学文献中的关键词中大量使用倾斜文本。

有没有什么方法可以让我配置 LaTeX,以便我可以使用倾斜的 Libertine,或者适合常规 Libertine 文本的类似字体?

MWE 使用 pdflatex 编译时仅产生斜体:

\documentclass{article}
\usepackage{libertine}

\begin{document}

Here is some \textit{italic} text,
and what should be \textsl{slanted} text.

\end{document}

在此处输入图片描述

答案1

Linux Libertine 发行版中没有倾斜字体。您可以像 LibreOffice 那样以几何方式伪造倾斜。

\documentclass{article}
\usepackage{libertine}

\makeatletter
\setmainfont[
  Extension=.otf,
  Numbers        = {\libertine@figurealign,\libertine@figurestyle},
  UprightFont    = *_R,
  ItalicFont     = *_RI,
  BoldFont       = *_\libertine@boldstyle,
  BoldItalicFont = *_\libertine@boldstyle I,
  SlantedFont    = *_R,
  SlantedFeatures = {FakeSlant=0.25},
]{\libertine@base}
\makeatother

\begin{document}

Here is some \textit{italic} text,
and what should be \textsl{slanted} text.

\end{document}

在此处输入图片描述

答案2

另一个选择是使用 Bruno 的\slantbox剪切变换一个“盒子”)来替代\textsl。我已将默认倾斜度设置为0.2

\documentclass{article}
\newsavebox\foobox
\newcommand{\slantbox}[2][.2]{\mbox{%
        \sbox{\foobox}{#2}%
        \hskip\wd\foobox
        \pdfsave
        \pdfsetmatrix{1 0 #1 1}%
        \llap{\usebox{\foobox}}%
        \pdfrestore
}}
\def\textsl#1{\slantbox{#1}}
\usepackage{libertine}

\begin{document}

Here is some \textit{italic} text,
and what should be \textsl{slanted} text.

\end{document}

在此处输入图片描述

答案3

解决方案是安装libertine-legacy(TeX)包,正如@user51830指出的那样。当前(2015-08)libertine包是一个指向libertineotflibertine-type1依赖于调用它的编译器的虚拟包,但即使它“满足目的” libertine-legacy,它也不能完全替代它,特别是它不包含倾斜的文本。

如果您想要倾斜的自由文本,但只想使用pdflatex,则需要libertine-legacy。Debian 8 上没有deb此软件包,需要手动安装。这不需要从系统中删除任何现有的 TeX 或 Debian 软件包。

以下步骤对我有用(尽管有些步骤可能是可有可无的):

  1. 下载libertine-legacy.tds.zip来自旧镜像的存档。(不,libertine-legacy.zip来自 CTAN 的包将不是工作!)我找到了我的在芝加哥大学网站上通过 Google。将其所有文件提取到您的本地 TEXMF 路径中(我的路径是/usr/local/share/texmf/)。
  2. 在这些新文件中,将所有字体安装fonts/type1/public/libertine-legacy到您的操作系统中(通过双击它们或将它们复制到您的~∕.fonts/文件夹中)。
  3. 检查您的新 libertine-legacy 包是否优先于系统上的任何其他 libertine 实例,方法是输入该命令kpsewhich libertine.sty,该命令应返回您新添加的文件的路径。如果没有,请删除所有入侵者。
  4. 运行mktexlsr然后updmap-sys enable Map libertine.map(您可能需要管理员权限)。

您现在应该能够使用 pdflatex 编译以下文件:

\documentclass{article}
\usepackage[T1]{fontenc} % note this addition: else libertine will default
                         % to OT1 fonts, and will fail
\usepackage{libertine}

\begin{document}

Here is some \textit{italic} text,
and what should be \textsl{slanted} text.

\end{document}

相关内容