使用 LuaTeX 和 fontspec 时的直引号文字

使用 LuaTeX 和 fontspec 时的直引号文字

这个问题与如何获得直引号?,但就我而言,我希望文字 ' 和 " 标记保持原样,因为当我需要花引号时,我会使用 Unicode 花引号。是否有一个简单的标题选项可以实现这一点?我正在使用 LuaTeX 和fontspec

(背景:我正在使用 Emacs 将现有的 Org 文档(不是我写的,只有直引号)导出为 PDF。当我使用默认的 PDFLaTeX 设置执行此操作时,Unicode 特殊字符(不是引号,而是其他特殊字符)不会呈现。所以我将编译器更改为 LuaTeX,并找到了一种方法来将\usepackage{fontspec}和添加\setmainfont{Linux Libertine O}到我的文档的标题选项中,现在 Unicode 特殊字符可以使用,但每个直引号都会呈现为右花引号。这对我的自闭症情感来说实在是太过分了!)

答案1

fontspec如果的Ligatures=TeX选项处于活动状态(默认情况下处于活动状态),则会生成“智能”的结束单引号和双引号。要关闭它,只需在运行或时指定选项Ligatures=TeXOff-- 或等效地--即可。请注意,这种方法适用于所有字体,而不仅仅是。[RawFeature=-tlig]\setmainfont\setsansfontLinux Libertine O

请注意,该设置Ligatures=TeXOff还将阻止-----自动转换为短破折号和长破折号。如果这可能会给您的文档带来问题,请告知。(鉴于您的文档已经是 Unicode 大引号,我倾向于认为它也可能使用 Unicode 短破折号和长破折号字符;但是,我可能是错的。)

在此处输入图片描述

\documentclass{article}
\usepackage{fontspec}
\newcommand\dummysentence{A sentence with straight 'single' and  "double" quotes.}

\begin{document}
\setmainfont{Linux Libertine O}[Ligatures=TeXOff] % or [RawFeature=-tlig]
\dummysentence

\setmainfont{EB Garamond}[Ligatures=TeXOff,
                          Scale=MatchLowercase % same x-height as preceding font
                         ]
\dummysentence 

\setsansfont{Helvetica Neue}[Ligatures=TeXOff,Scale=MatchLowercase]
\textsf{\dummysentence}

\setsansfont{Myriad Pro Cond}[Ligatures=TeXOff,Scale=MatchLowercase]
\textsf{\dummysentence}
\end{document}

`

相关内容