在法语中,如何删除冒号前的空格?

在法语中,如何删除冒号前的空格?

我想在使用时删除冒号前的空格[french]babel。我只想在本地进行更改(不是在文档的任何地方,而是在某个地方)。

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

\begin{document}
Il est 20:20.
\end{document}

在此处输入图片描述

答案1

我不确定这是用法语表示时间的常用方式;这里有一个解决方法:

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

\edef\hc{\string:} % \hc prints a normal colon

\begin{document}
Il est 20\hc20.
\end{document}

或者,使用datetime

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

\newcommand\heure[2]{\formattime{#1}{#2}{00}}

\begin{document}
Il est \heure{20}{20}
\end{document}

在此处输入图片描述

答案2

你的问题在于 Babel 的简写:。要禁用此简写,请使用\shorthandoff{:} 里面你的\begin{document}。在序言中加载时它将不起作用。

要重新启用速记,请使用\shorthandon{:}

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

\begin{document}
\shorthandoff{:}
Il est 20:20.

\shorthandon{:}
Il est 20:20.
\end{document}

在此处输入图片描述

答案3

根据建议帕特里克·T并提到法语国际化,覆盖 babel 默认间距\NoAutoSpacing是现代(2011 年后)TeX 发行版中最简单的解决方案。

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

\begin{document}
Il est {\NoAutoSpacing 20:20}.
\end{document}

相关内容