![Memoiren, babel[french] und @makecaption](https://rvso.com/image/272012/Memoiren%2C%20babel%5Bfrench%5D%20und%20%40makecaption.png)
Ich habe ein Problem mit den Paketen memoir
, den babel
und 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 babel
darstellen soll :
und daher davor und danach ein Leerzeichen setzen soll. Da das @makecaption
Makro 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}
Was die Warnung zu betrifft \@makecaption
, fürchte ich, dass Sie sie behalten oder das silence
Paket zum Entfernen verwenden müssen.