![biblatex backref – 如何在破折号周围添加空格?](https://linux22.com/image/249015/biblatex%20backref%20%E2%80%93%20%E5%A6%82%E4%BD%95%E5%9C%A8%E7%A0%B4%E6%8A%98%E5%8F%B7%E5%91%A8%E5%9B%B4%E6%B7%BB%E5%8A%A0%E7%A9%BA%E6%A0%BC%EF%BC%9F.png)
我正在使用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~}
}