我正在尝试使用 XeTeX 获取常规撇号,如下所示:
然而我输入的who's
内容.tex
都是
(注意斜撇号)
我怎样才能获得第一个理想的渲染结果?
答案1
最初的评论:你没有在邮件中提到如何加载家庭,所以我假设它是通过以下指令\setmainfont
(由字体规格包)。我之所以做出这样的假设,是因为加载字体相关的包(例如lmodern
或 )libertine
将自动激活“智能”单引号和双引号的使用。
要指示 XeLaTeX (实际上 LuaLaTeX 也是如此)使用印刷撇号而不是单个“打字机风格”直引号,请加载包并在指定文档要使用的字体系列时fontspec
使用该选项,例如通过指令。Ligatures=TeX
\setmainfont
设置此选项还将激活将--
和---
(双破折号和三破折号)自动转换为印刷短破折号和长破折号以及将双反勾和双单引号自动转换为印刷左引号和右引号。
% !TEX TS-program = xelatex
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\setmainfont[Ligatures=TeX]{EB Garamond}
who's I'm that'll. She asked, ``Who's there?''
\setmainfont{EB Garamond} % Note: 'Ligatures=TeX' not specified
who's I'm that'll. She asked, ``Who's there?''
\end{document}
答案2
这取决于您的字体设置。对于 Latin Modern 或 Libertine,这是默认设置:
\documentclass{article}
\usepackage{fontspec}
\usepackage{libertine}
\begin{document}
\Huge who's
\end{document}
默认情况下,软件包libertine
设置Ligatures=TeX
是这里需要的。也许还有其他设置\setmainfont[Ligatures=TeX]{DejaVu Serif}
。