'(撇号)后缺少空格

'(撇号)后缺少空格

这是我的代码:

\documentclass[12pt]{memoir}
\usepackage{polyglossia}
\setdefaultlanguage{french}

\usepackage{fontspec,xltxtra,xunicode}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont[Mapping=tex-text]{Hoefler Text}
\setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Gill Sans}
\setmonofont[Scale=MatchLowercase]{Andale Mono}

\begin{document}

L'arbre. L'enfant.

D'ailleurs. M'aborder comme ça !

\end{document}

输出结果如下: 在此处输入图片描述

“L'”后面缺少一个空格,但“D'”或“M'”没问题。

我正在使用 TeXShop 为 XeTeX 提供的默认字体声明,如果我跳过它们,问题就会消失。但我想使用 Hoefler Text!

答案1

这是字体设计师做出的精确决定:撇号与大写字母 L 的字距对齐。

如果您不想要这种字距,请\/在两个字符之间插入。

顺便说一句,您使用的是旧式字体声明,最好更改为当前的字体声明。

\documentclass[12pt]{memoir}
\usepackage{polyglossia}
\setmainlanguage{french}

%\usepackage{fontspec} % polyglossia loads it
\setmainfont{Hoefler Text}
\setsansfont[Scale=MatchLowercase]{Gill Sans}
\setmonofont[Scale=MatchLowercase]{Andale Mono}

\begin{document}

L\/'arbre. L\/'enfant.

D'ailleurs. M'aborder comme ça!

\texttt{---}% no ligatures

\end{document}

请注意,应将其Mapping=tex-text称为Ligatures=TeX,但没有必要,因为fontspec默认情况下会应用它(字体除外mono)。不要加载xunicode;您可以加载xltxtra,但它并没有真正添加任何有用的功能(在某些情况下可能会造成危害)。

还要注意,前面不应该有空格!

在此处输入图片描述

相关内容