Memorias, babel[francés] y @makecaption

Memorias, babel[francés] y @makecaption

Tengo un problema con los paquetes , memoirthe babely caption: al compilar un documento, el registro devuelve la advertencia:

Package frenchb.ldf Warning: The definition of \@makecaption has been changed,
(frenchb.ldf)                frenchb will NOT customise it;
(frenchb.ldf)                reported on input line 8.

El caso es que se supone que los franceses babeldeben crear :un carácter activo y, como resultado, poner un espacio antes y después. Pero como la @makecaptionmacro se redefine de algún modo, los espacios se pierden. ¿Cómo forzar el comportamiento para que la tipografía :sea correcta?

Aquí hay un MWE:

\documentclass[a4paper,12pt,twoside,openright,final]{memoir}
\usepackage[T1]{fontenc}
\usepackage[english,francais]{babel}
\begin{document}

Blah blah blah (\ref{fig:Figure})

\begin{figure}
\caption{Xxxxx}
\label{fig:Figure}
\end{figure}
\end{document}

Respuesta1

Solución 1

Usamos el hecho de que los dos puntos en la tipografía francesa deben ir precedidos y seguidos por un espacio normal entre palabras.

\documentclass[a4paper,12pt,twoside,openright,final]{memoir}
\usepackage[T1]{fontenc}
\usepackage[english,francais]{babel}

\captiondelim{ : }

\begin{document}

Blah blah blah (\ref{fig:Figure})

\begin{figure}
\caption{Xxxxx}
\label{fig:Figure}
\end{figure}
\end{document}

Solución 2

Enseñamos memoira usar los dos puntos tal como se redefinen en babel; esto tiene la ventaja de que dará los dos puntos normales si \selectlanguage{english}se emite o estamos en el alcance de \begin{otherlanguage}{english}.

\documentclass[a4paper,12pt,twoside,openright,final]{memoir}
\usepackage[T1]{fontenc}
\usepackage[english,francais]{babel}

\AtBeginDocument{%
  \begingroup\lccode`~=`:
  \lowercase{\endgroup\captiondelim{~ }}%
}

\begin{document}

Blah blah blah (\ref{fig:Figure})

\begin{figure}
\caption{Xxxxx}
\label{fig:Figure}
\end{figure}
\end{document}

ingrese la descripción de la imagen aquí

En cuanto a la advertencia sobre \@makecaption, me temo que debes conservarla o utilizar el silencepaquete para eliminarla.

información relacionada