“guillemets” 后缺少空格

“guillemets” 后缺少空格

\og我对用于打开和关闭“guillemet”的和字符有问题\fg。关闭的 guillemet 总是离后面的内容太近,换句​​话说,和后面的下一个单词之间缺少空格\fg。我使用的是 TeXmaker,出现问题的典型代码是

\documentclass[11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\begin{document}
Lalala \og blabla \fg lalala.
\end{document}

答案1

如果想要获得\fg与其后跟单词之间的正确间距,则必须{}在其后添加一个空语句。

这是因为 的定义\fg依赖于的frenchb.ldf定义\FB@fg

\DeclareRobustCommand*{\FB@fg}{\ifdim\lastskip>\z@\unskip\fi
                           \FBguill@spacing\guillemotright\xspace}

如您所见,此命令不带任何参数,因此如果您没有使用{}(或 ,\这是不可取的)明确中断命令,它后面就不会插入空格。

其行为与定义不带参数的新命令相同

\newcommand{\qqq}{qqq}

并将其用作

\qqq word

平均能量损失

\documentclass[11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\begin{document}
Lalala \og blabla \fg{} lalala.
\end{document} 

在此处输入图片描述

您还可以注意到 的定义在末尾\FB@fg包含\xspace。这意味着,如果您不想在{}每次使用 时都插入\fg,您可以简单地加载包xspace

以下 MWE 给出与上图相同的结果:

\documentclass[11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{xspace}
\begin{document}
Lalala \og blabla \fg lalala.
\end{document} 

答案2

由于某些我无法理解的原因,使用键盘 guillemets«以及包 »中的以下选项babel

\frenchbsetup{og=«,fg=»}  

解决了这个问题(而且很优雅)。当然,需要访问 utf8 字符。这是一个完整的示例。

\documentclass{article}
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\frenchbsetup{og=«,fg=»}

\begin{document}

Ceci est du «texte» entre guillemets.

\end{document}  

使用 guillemets 排版文本
(来源:univ-mlv.fr

相关内容