以下memoir
文档包括french
选项babel
。
是否可以 -没有使用caption
包 - 强制使用我指定的标题标签分隔符\captiondelim
?
\documentclass{memoir}
\usepackage[french,main=english]{babel}
\captionstyle[\centering]{}
\captionnamefont{\sffamily}
\captiondelim{\textsf{.\,}} % note delimiter!
\indentcaption{0pt}
\begin{document}
\mainmatter
\noindent\hrulefill
{\changecaptionwidth\captionwidth{3in}%
\begin{figure}[htb]
\centering
\framebox[8.25cm][c]{\rule{0pt}{2cm}}
\caption{A very long caption. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah}
\end{figure}
}
\normalcaptionwidth
\begin{figure}[htb]
\centering
\framebox[10cm][c]{\rule{0pt}{2cm}}
\caption{A very short caption.}
\end{figure}
\end{document}
正如输出所示,标题分隔符已从我指定的句点更改为冒号,我知道这是因为babel
有该french
选项。
我知道caption
可以使用该软件包来纠正这个问题。但是,我不知道是否或如何caption
允许动态更改标题宽度,就像使用memoir
内置命令\changecaptionwidth
和一样\normalcaptionwidth
。
答案1
这是我的疏忽:babel-french 忽略了您对 的重新定义\captiondelim{}
。koma-script 和 beamer 类也出现了同样的情况。
这个问题已在 3.5i 版本中修复,我将在今晚或明天将其推送到 CTAN。感谢您的报告。
请注意,\captiondelim{.\,}
因为您已经选择\sffamily
了,所以这就足够了\captionnamefont
。