![Memorias, babel[francés] y @makecaption](https://rvso.com/image/272012/Memorias%2C%20babel%5Bfranc%C3%A9s%5D%20y%20%40makecaption.png)
Tengo un problema con los paquetes , memoir
the babel
y 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 babel
deben crear :
un carácter activo y, como resultado, poner un espacio antes y después. Pero como la @makecaption
macro 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 memoir
a 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}
En cuanto a la advertencia sobre \@makecaption
, me temo que debes conservarla o utilizar el silence
paquete para eliminarla.