회고록, babel[french] 및 @makecaption

회고록, babel[french] 및 @makecaption

memoir, the babel및 패키지 에 문제가 있습니다 caption. 문서를 컴파일할 때 로그에서 경고를 반환합니다.

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.

문제는 프랑스인은 활동적인 문자를 babel만들어야 하고 :, 결과적으로 그 앞뒤에 공백을 두는 것입니다. 그러나 @makecaption매크로가 어떻게든 재정의되었으므로 공백이 손실됩니다. 주변의 타이포그래피 동작을 :올바르게 강제하는 방법은 무엇입니까?

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}

답변1

솔루션 1

우리는 프랑스어 타이포그래피에서 콜론 앞에 일반적인 단어 간 공백이 와야 한다는 사실을 사용합니다.

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

솔루션 2

우리는 memoir다음과 같이 재정의된 콜론을 사용하도록 가르칩니다 babel. 이것은 \selectlanguage{english}발행되거나 우리가 \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}

여기에 이미지 설명을 입력하세요

에 대한 경고는 \@makecaption보관하거나 패키지를 사용하여 silence제거해야 하는 것이 유감스럽습니다.

관련 정보