我正在使用biblatex
with backref=true
,它生成范围如34–37
。我怎样才能使它成为34 – 37
?空格应该是不可破坏的。
我曾尝试重新定义\bibrangedash
,但没有成功。
答案1
尽管 OP 的问题是关于添加不可破坏的空间,但我建议的解决方案在两个方面有所不同:
由于由(完整)空格包围的短划线表示插入的开始/结束而不是范围,因此我会使用细空格。
因为“参考书目的换行通常比正文更难,而且 [...] 你不能改写一个句子”(
biblatex
手册,第 3.8.4 节),短划线后面的空格应该与高但有限(对于 TeX,即 <10,000)的惩罚相关联,而不是牢不可破的。
对应的biblatex
命令为\addnbthinspace
和\addhpthinspace
,详情见手册4.7.4节。
\DefineBibliographyExtras{english}{
\renewcommand*{\bibrangedash}{\addnbthinspace\textendash\addhpthinspace}
}
答案2
我粗心大意,误解了一些文档。如果有人需要,可以使用以下方法:
\DefineBibliographyExtras{english}{
\renewcommand*{\bibrangedash}{~\textendash~}
}