Memoiren, babel[french] und @makecaption

Memoiren, babel[french] und @makecaption

Ich habe ein Problem mit den Paketen memoir, den babelund caption: Beim Kompilieren eines Dokuments gibt das Protokoll die folgende Warnung zurück:

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.

Die Sache ist, dass das Französische ein aktives Zeichen babeldarstellen soll :und daher davor und danach ein Leerzeichen setzen soll. Da das @makecaptionMakro aber irgendwie neu definiert wird, gehen die Leerzeichen verloren. Wie kann man das Verhalten der Typografie um das herum :korrekt machen?

Hier ist ein 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}

Antwort1

Lösung 1

Wir machen uns die Tatsache zunutze, dass in der französischen Typografie vor und nach einem Doppelpunkt ein normaler Wortzwischenraum stehen sollte.

\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}

Lösung 2

Wir lehren memoir, den Doppelpunkt so zu verwenden, wie er von neu definiert wurde babel. Dies hat den Vorteil, dass der normale Doppelpunkt zurückgegeben wird, wenn \selectlanguage{english}ausgegeben wird oder wir uns im Gültigkeitsbereich von befinden \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}

Bildbeschreibung hier eingeben

Was die Warnung zu betrifft \@makecaption, fürchte ich, dass Sie sie behalten oder das silencePaket zum Entfernen verwenden müssen.

verwandte Informationen