同じ参考文献が別のページで引用されている場合は、「Ibid.」文字列を「Ivi」文字列に置き換えます。

同じ参考文献が別のページで引用されている場合は、「Ibid.」文字列を「Ivi」文字列に置き換えます。

私は でスタイルを使ってbiblatexext-verbose-trad1ますmemoir

同じ参考文献を別のページで引用する場合は「ivi」という略語を使用する必要がありますが、同じ参考文献を同じページで引用する場合は、通常の「ibid.」という略語を使用する必要があります。

この問題は、tex.stackexchange.com/q/418701/35864、パッチが提案されます。

次の MWE が示すように、ext-verbose-trad1パッチが提案するスタイルを使用すると完璧に機能します。

\documentclass[12pt, a4paper]{memoir}
\usepackage[italian]{babel}
\usepackage[style=ext-verbose-trad1]{biblatex}

 %patch to use ibid and ivi
 \usepackage{xpatch}     
 \NewBibliographyString{ibidemloccit,ibidemnoloccit}
 \DefineBibliographyStrings{italian}{%
   idem           = {\autocap{i}d},
   ibidemloccit   = {\mkbibemph{\autocap{i}bid\adddot}},
   ibidemnoloccit = {\mkbibemph{\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}}}}}
 
  \addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \footcite{aristotle:anima}
Lorem \footcite[14]{aristotle:anima}
Lorem \footcite[198]{aristotle:anima}
ipsum \footcite[198]{aristotle:anima}

\printbibliography
\end{document}

出力は次のようになります:

このスタイルを使用すると、ext-verbose-trad2別の結果が表示されます。最後の引用は前の引用の単純な繰り返しですが、文字列「Ibid」が表示されるはずです。

ここに画像の説明を入力してください

答え1

リンクされた質問の回答は、 にも適用されます(ext-)verbose-trad2。回答の最も重要な要素 (最初の文で言及されています) が抜けていました。オプション を設定する必要がありますibidpage=true,

\documentclass[12pt, a4paper]{memoir}
\usepackage[italian]{babel}
\usepackage[style=ext-verbose-trad2, ibidpage=true]{biblatex}

%patch to use ibid and ivi
\usepackage{xpatch}     
\NewBibliographyString{ibidemloccit,ibidemnoloccit}
\DefineBibliographyStrings{italian}{%
  idem           = {\autocap{i}d},
  ibidemloccit   = {\mkbibemph{\autocap{i}bid\adddot}},
  ibidemnoloccit = {\mkbibemph{\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}}}}}

\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \footcite{aristotle:anima}
Lorem \footcite[14]{aristotle:anima}
Lorem \footcite[198]{aristotle:anima}
ipsum \footcite[198]{aristotle:anima}

\printbibliography
\end{document}

4 同上

関連情報