为什么不间断空格会使用 babel 和 \og 产生双倍空格,以及如何同时使用 \og 和不间断空格?

为什么不间断空格会使用 babel 和 \og 产生双倍空格,以及如何同时使用 \og 和不间断空格?

我想知道这是一个正常情况还是一个错误!

\documentclass{article}
\usepackage[french]{babel}
\begin{document}

Ceci est \og entre guillemets \fg.

Ceci est aussi \og~entre guillemets~\fg, mais avec des espaces insécables.

\end{document}

这使

在此处输入图片描述

有没有办法同时使用不间断空格和符号 \og?


附言:

Ceci est aussi \og{}~entre guillemets~\fg{}, mais avec des espaces insécables.

给出相同的结果。

答案1

这似乎非常合乎逻辑:\og\fg确实添加了不可中断的空格。因此,如果您明确指定它们,它会认为您希望在每一侧都有两个。我认为您也可以在代码中直接使用“和”,只要您不要忘记添加\usepackage[T1]{fontenc}(和 8 位字体,而不是 cm 字体)。有关 ,请参阅文档的 §9 frenchb

答案2

这是 tex 如何解释其输入的问题。在 中\og \og后跟空格,最后一个空格被当作命令的终止符,不会打印空格。在\og~中将~空格插入到输出中。这类似于\og{} \og{}后跟空格,后者也会插入空格:

示例输出

\documentclass{article}
\usepackage[french]{babel}
\begin{document}

Ceci est \og{} entre guillemets\fg.

\end{document}

现在,您是否需要在后面插入一个不可换行的空格\og?否。 \og在后面立即插入不允许换行的惩罚。

相关内容