\ 和 babel 之间的间距很奇怪

\ 和 babel 之间的间距很奇怪

当使用 XeLaTeX 和 babel“francais”时,我有时会得到奇怪的间距:例如 \,使得间距比常规间距更宽(看看这里第二行发生的情况)。

\documentclass[12pt,a4paper]{article}
\usepackage{xltxtra}
\usepackage[francais]{babel}
\usepackage[margin=3cm]{geometry}
\usepackage{hyperref}

\setromanfont[Mapping=tex-text,Numbers={OldStyle},Ligatures={Common},Contextuals=Alternate]{Garamond Premier Pro}

\newcommand{\teng}[1]{\emph{#1}}

\begin{document}
\noindent (par exemple Z3 de Microsoft ou Yices de SRI)\,; ce dernier donne une solution qui correspond à une trace d'exécution menant de la précondition à une des postconditions dont on désire déterminer l'accessibilité (par exemple, des conditions d'erreur comme la division par zéro).
\end{document}

答案1

frenchb(法语中的babel)在 之前添加了不可分割的普通空格;。因此,您的\,被添加到已经添加的空格中babel(或者甚至可能被忽略并被普通的不可分割空格替换)。

如果您希望避免frenchb在之前添加空格;,您可以执行以下操作:

\shorthandoff{;}

之后\begin{document}

\AtBeginDocument{\shorthandoff{;}}

在你的序言中。

相关内容