数学模式下法语分号的间距

数学模式下法语分号的间距

在法语文档中写数学时,应使用分号而不是逗号来分隔矢量或点的坐标(例如)。问题是,在数学模式下,即使使用\usepackage[french]{babel},分号周围的间距也是错误的(它前面没有空格),您必须添加~\,

如何使分号在数学模式下正常工作?

答案1

如果在这些上下文中总是在数学中使用分号,则可能需要将分号变成二元运算符。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}

\AtBeginDocument{\mathcode`\;=\numexpr\mathcode`\;-\string"4000\relax}

\begin{document}

Point-virgule; une formule $(a;b)$.

\end{document}

在此处输入图片描述

另一种方法(可能是向的维护者提出的功能请求babel-french)是修改在数学模式下分号的工作方式。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}

\makeatletter
\declare@shorthand{french}{;}{%
  \ifhmode
    \ifdim\lastskip>\z@
      \unskip\penalty\@M\FBthinspace
    \else
      \FDP@thinspace
    \fi
  \else
    \ifmmode
      \mskip\thinmuskip
    \fi
  \fi
  \string;}
\makeatother


\begin{document}

Point-virgule; une formule $(a;b)$.

\end{document}

在此处输入图片描述

相关内容