更新
该错误已在 0.18.9 版本中得到修复cleveref
,目前已在 上发布ctan
。
问题
Babel
并且cleveref
当它们共享相同的语言选项时,似乎无法完美地协同工作。在 MWE 中,Some text\leftmark
主文本中的输出应等于部分文字1章,但前面有一个额外的空格第一章。在标题中,这会导致其文本不与正文文本内联。有趣的是,当 babel 使用其他语言选项时,此问题就会消失,例如english
。。
平均能量损失
\documentclass{scrbook}
\usepackage[spanish]{babel}
\usepackage[spanish]{cleveref}
\begin{document}
\chapter{Chapter}
\clearpage
\noindent Some text\leftmark
\end{document}
答案1
这是 中的一个错误cleveref
。如果我将 的第 4516 行cleveref.sty
从
4516 \PackageInfo{cleveref}{loaded `spanish' language definitions}
进入
4516 \PackageInfo{cleveref}{loaded `spanish' language definitions}%
空间消失了。
这在所有其他语言中都很常见,并且需要修复错误。
作为临时的解决方法,你可以说
\documentclass{scrbook}
\usepackage[spanish]{babel}
\usepackage[spanish]{cleveref}
\usepackage{etoolbox}
\AtBeginDocument{
\patchcmd{\extrasspanish}
{\PackageInfo {cleveref}{loaded `spanish' language definitions} }
{\PackageInfo {cleveref}{loaded `spanish' language definitions}}
{}{}
}
\begin{document}
\chapter{Chapter}
\clearpage
\noindent Some text\leftmark
\end{document}
非常小的例子
\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[spanish]{cleveref}
\begin{document}
X\foreignlanguage{spanish}{X}X
\end{document}
未经校正的输出为
十 十
经过修正后
XXX