Biblatex 中的自定义破折号

Biblatex 中的自定义破折号

我的参考书目有问题。我查看了一下,但找不到任何解决方案。问题是:当引用带有页码范围的内容时,我使用短破折号,但当我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单独处理)。这在biblatex3.11 中发生了变化,https://github.com/plk/biblatex/issues/293.biblatex现在可以自行规范化页面范围,并将对 执行此操作postnote。然后您的 MWE 将在两个页面范围中都出现短划线。

如果你总是想要短划线,那就用

\DefineBibliographyExtras{italian}{%
  \protected\def\bibrangedash{%
    -\penalty\hyphenpenalty}}

这将适用于 的当前版本和未来版本biblatex。 的定义\bibrangedash特定于所使用的语言,这就是为什么您需要\DefineBibliographyExtras{italian}

相关内容