Verbose-trad2:获取“cit.”而不是“op.cit”

Verbose-trad2:获取“cit.”而不是“op.cit”

正如标题所述,对于重复引用,我得到了:

Shedroff, Design is the problem: the future of design must be sustainable, cit., pp. xxxiv–xxxv.

相反,我希望

Shedroff, Design is the problem: the future of design must be sustainable, op. cit., pp. xxxiv–xxxv.

我的书目设置如下:

\usepackage[autostyle,italian=guillemets]{csquotes}
\usepackage{xpatch} 
\usepackage[style=verbose-trad2,            
            language=italian,
            backend=biber,  
            ibidpage=true,
            backref=true,
            backrefstyle=none,
            bibstyle=authoryear,
        ]{biblatex} 
        
\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{family-given}
\DeclareLabeldate{\field{date}\field{eventdate} \field{origdate}\literal{nodate}}


\NewBibliographyString{ibidemloccit,ibidemnoloccit}
\DefineBibliographyStrings{italian}{%
  idem           = {\textit{\autocap{i}d}},
  ibidemloccit   = {\mkbibemph{\textit{\autocap{i}bid\adddot}}},
  ibidemnoloccit = {\mkbibemph{\textit{\autocap{i}vi}}},
}

\xpatchbibmacro{author}
  {\printnames{author}}
  {\iffootnote
     {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
       {\usebibmacro{cite:idem}}
       {\printnames{author}}}
     {\printnames{author}}}
  {}{}
\xpatchbibmacro{bbx:editor}
  {\printnames{editor}}
  {\iffootnote
     {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
        {\usebibmacro{cite:idem}}
        {\printnames{editor}}}
     {\printnames{editor}}}
  {}{}
\xpatchbibmacro{bbx:translator}
  {\printnames{translator}}
  {\iffootnote
     {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
        {\usebibmacro{cite:idem}}
        {\printnames{translator}}}
     {\printnames{translator}}}
  {}{}

\renewbibmacro*{cite:ibid}{%
  \printtext{%
    \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{%
      \ifloccit
        {\bibstring[\mkibid]{ibidemloccit}%
         \global\toggletrue{cbx:loccit}}
        {\bibstring[\mkibid]{ibidemnoloccit}}}}}

答案1

italian.lbxbibstring中opcit被翻译为“cit.”如果您想要“op. cit.”,请尝试类似

\DefineBibliographyStrings{italian}{%
  idem           = {\textit{\autocap{i}d}},
  ibidemloccit   = {\mkbibemph{\textit{\autocap{i}bid\adddot}}},
  ibidemnoloccit = {\mkbibemph{\textit{\autocap{i}vi}}},
  opcit          = {op\adddotspace cit\adddot},
}

相关内容