十字槽周围的间距错误

十字槽周围的间距错误

我使用 UTF-8 编码来输入法语文档,其中 guillemets 的定义如下:

\DeclareUnicodeCharacter{AB}{\og}
\DeclareUnicodeCharacter{BB}{\fg\xspace}

以及 Babel 包:

\usepackage[francais]{babel}

但是,当我输入类似的文本时ceci cela «~quoted~» ceci cela,开头的空格是错误的:

在此处输入图片描述

请注意,打开的 guillemet 之前的间距太小,而之后的间距太大。关闭的 guillemet 间距正确。我该如何修复它?

答案1

空格已由\og和插入\fg,因此您不应输入~。您可以考虑将 Unicode 字符的定义更改为

\DeclareUnicodeCharacter{AB}{\og\ignorespaces}
\DeclareUnicodeCharacter{BB}{\unskip\fg}

这样输入

Ces simulations «directes» sont ainsi

Ces simulations « directes » sont ainsi

将是等效的。

在此处输入图片描述

请注意,这\xspace什么也不做。

如果你坚持要输入«~directes~»,那么开放的 guillemets 字符的定义可能是

\makeatletter
\DeclareUnicodeCharacter{AB}{%
  \og\@ifnextchar~{\@gobble}{}}
\makeatother

随便你怎么说,但我觉得这种间距很糟糕。;-)

相关内容