Linux libertine、{\l} 字符、连字和 T1 fontenc

Linux libertine、{\l} 字符、连字和 T1 fontenc

如果我理解正确的话这个问题,默认的 OT1 编码不会为正确的\l字符提供足够的“字体空间”。另一方面,如果启用此选项,我似乎无法使连字(如 Th 或 Qu)工作。\l但是我需要显示字符,并且想知道是否有办法同时显示两者(使用纯 LaTeX 或 PDFLaTeX 作为编译器,不想要 XeLaTeX,因为在我看来它的整体布局更差,或者至少与纯 LaTeX 不同,这让我很怀疑)。

MNWE:

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

\title{This is Quantifiably finally ligatured text}
\begin{document}
\maketitle
I need the character \l too though.  
\end{document}

对于 T1,并非所有连字符都显示: 在此处输入图片描述

如果没有 T1,\l角色就不会显示: 在此处输入图片描述

注释掉该fontenc行后,我得到了连字,但没有正确的\l(预期行为,cfr。这个问题)。但我真的想要两者。我该怎么做?我会接受改变我获取角色的方式的解决方案\l,因为它在非必要文本中出现的次数很少。

答案1

在 OT1 之前加载 T1,取消声明\l为 OT1 命令并将其默认值声明为 T1:

\documentclass{article}
\usepackage[T1,OT1]{fontenc}
\usepackage{libertine}

\UndeclareTextCommand{\l}{OT1}
\DeclareTextSymbolDefault{\l}{T1}

\title{This is Quantifiably finally ligatured text}
\begin{document}

\maketitle
I need the character \l{} too though.
\end{document}

在此处输入图片描述

当然,在包含的单词中,您会丢失一些字距对和连字符\l,但我不认为这是一个大问题。

这是我从 PDF 查看器窗口复制字形并将其粘贴到 Unicode 检查器后得到的结果

在此处输入图片描述

更新

libertine自2017/03/20 发布的版本起,\l\L命令也能对 OT1 编码执行正确的操作。

\documentclass{article}
\usepackage{libertine}

\title{This is Quantifiably finally ligatured text}
\begin{document}
\maketitle
I need the characters \l{} and \L{} too though.
\end{document}

在此处输入图片描述

答案2

另一种方法是通过重新声明字体\l编码T1

\documentclass{article}
\usepackage[OT1]{fontenc}
\usepackage{libertine}

\let\oldl\l
\renewcommand{\l}{\begingroup\fontencoding{T1}\selectfont\oldl\endgroup}

\title{This is Quantifiably finally ligatured text}
\begin{document}

\maketitle
I need the character \l{} too though.
\end{document} 

输出:

在此处输入图片描述

相关内容