![Biblatex 中的自定义破折号](https://linux22.com/image/371301/Biblatex%20%E4%B8%AD%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E7%A0%B4%E6%8A%98%E5%8F%B7.png)
我的参考书目有问题。我查看了一下,但找不到任何解决方案。问题是:当引用带有页码范围的内容时,我使用短破折号,但当我biblatex
在 bib 条目中对页码范围进行排序时,破折号很长,即使我在 bibentry 中输入了短破折号。所以最后我得到了两个破折号,一个是我做的短破折号,一个是 做的长破折号biblatex
。我只想使用短破折号。
有任何想法吗?
以下是 MWE
% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode
\begin{filecontents}{archivio.bib}
@article{Stu:Pat,
Author = {Despina Stratoydaki-White},
Date-Added = {2015-11-18 12:39:01 +0000},
Date-Modified = {2015-11-18 12:40:01 +0000},
Journal = {The Greek Orthodox Theologica Review},
Number = {2},
Pages = {195-205},
Title = {Patriarch Photios - A Christian Humanist},
Volume = {25},
Year = {1980}}
\end{filecontents}
\documentclass[11pt, twoside]{book} %openany
\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{italian}
\setotherlanguages{latin, english, french}
%%% bibliografia
\usepackage[babel,italian=guillemets]{csquotes}
\usepackage[ style=verbose-trad2,
language=italian,
useprefix=true,
firstinits=true,
backend=biber,
]{biblatex}
\addbibresource{archivio.bib}
\begin{document}
\cite[197-198]{Stu:Pat}
\end{document}
答案1
意大利语本地化文件将biblatex
页面和年份范围使用的范围分隔符 ( \bibrangedash
) 定义为短破折号(长破折号)。这让我想到,对两个页面范围都使用长短破折号更为常见。
Biber 规范化字段中给出的页面范围pages
,并将所有 替换-
为\bibrangedash
,但在 3.11 版之前biblatex
, 中的页面范围postnote
未规范化(它们不会传递给 Biber 并由biblatex
单独处理)。这在biblatex
3.11 中发生了变化,https://github.com/plk/biblatex/issues/293.biblatex
现在可以自行规范化页面范围,并将对 执行此操作postnote
。然后您的 MWE 将在两个页面范围中都出现短划线。
如果你总是想要短划线,那就用
\DefineBibliographyExtras{italian}{%
\protected\def\bibrangedash{%
-\penalty\hyphenpenalty}}
这将适用于 的当前版本和未来版本biblatex
。 的定义\bibrangedash
特定于所使用的语言,这就是为什么您需要\DefineBibliographyExtras{italian}
。