收藏中的短標題和交叉引用

收藏中的短標題和交叉引用

使用交叉引用時,我無法獲得集合的短標題(我在第一次引用後需要它)。

該範例並不完全是最小的(至少對於參考書目而言),因為我不想清除可能影響問題的自訂設置

  % !BIB TS-program = biber
% !BIB program = biber
% !TEX encoding = UTF-8 Unicode
% !TeX TS-program = xelatexmk

\RequirePackage{filecontents}
\begin{filecontents}{pippo.bib}

@collection{Gag:Fil,
    Address = {Città del Vaticano},
    Date-Modified = {2018-06-08 17:40:35 +0000},
    Editor = {Mauro Gagliardi},
    Publisher = {Libreria Editrice Vaticana},
    Shorttitle = {Il Filioque},
    Title = {Il Filioque. A mille anni dal suo inserimento nel credo a Roma (1014-2014)},
    Year = {2015}}

@incollection{Oss:Mas,
    Author = {Carlo dell'Osso},
    Pages = {147-64},
    Crossref = {Gag:Fil},
    Title = {Il \textit{Filioque} in Massimo il Confessore}}


@incollection{Cip:Pro,
    Author = {Nello Cipriani},
    Pages = {99-116},
    Title = {La processione dello Spirito Santo in sant'Agostino},
    Crossref = {Gag:Fil}}

\end{filecontents}




\documentclass[A4, 11pt]{book}
\usepackage{fontspec}
\usepackage{polyglossia}                        % Per le sillabazioni
    \setmainlanguage{italian}

%%%%%%%%%%%%%%%%%%%COMANDI DI BILIOGRAFIA%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[autostyle,italian=guillemets]{csquotes}
\usepackage{xpatch}     
\usepackage[style=verbose-trad2,            
            language=italian,
            useprefix=true,                 
            citepages=omit,                 
            backend=biber,  
            ibidpage=true,
        ]{biblatex} 

\NewBibliographyString{ibidemloccit,ibidemnoloccit}
\DefineBibliographyStrings{italian}{%
     idem   = {Id\adddot},
    idemsm = {Id\adddot},
    idemsf = {Ead\adddot},
    idemsn = {Id\adddot},
    idempm = {Id\adddot},
    idempf = {Id\adddot},
    idempn = {Id\adddot},
    idempp = {Id\adddot},
  ibidemloccit   = {\mkbibemph{\autocap{i}bidem}},
  ibidemnoloccit = {Ivi},
}

\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}}}}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%


\renewcommand*{\newunitpunct}{\addcomma\space}                              % Virgola tra le unità
\renewcommand*{\mkibid}{\emph}                                          % ibid, op cit e latinitates in enfatico

\renewbibmacro*{cite:title}{%                           Ciò che segue è per avere lo shorttitle alla seconda citazione (funge solo in trad2)
  \printtext[bibhyperlink]{%
    \printfield[citetitle]{labeltitle}%
    \setunit{\addspace}%
    \bibstring[\mkibid]{opcit}}}

    \DeclareFieldFormat[article, inbook, incollection, inproceedings]{citetitle}{\mkbibemph{#1}}        % e che resti in corsivo


\addbibresource{pippo.bib}


%%%%%%%%%%%%%%%%%%% INIZIO DOCUMENTO %%%%%%%%%%%%%%%%%%%%%%

\begin{document}

I want the short title of the collection from the second citation on   \\

Cito la collezione\footcite{Gag:Fil}\\

Dopo cito il contributo nella collezione\footcite{Oss:Mas}\\

E infine un altro contributo nella medesima collezione\footcite{Cip:Pro}


\end{document}

答案1

不久前有一個類似的問題biblatex:避免冗餘訊息一個精彩的回答保羅·史丹利被變成了一個包馬約爾(biblatex-opcit-booktitle)。

加載該套件後,您的 MWE 將變為

\documentclass[a4paper,11pt]{book}
\usepackage{fontspec}
\usepackage{polyglossia}
    \setmainlanguage{italian}

\usepackage[autostyle,italian=guillemets]{csquotes}
\usepackage{xpatch}
\usepackage[style=verbose-trad2,
            useprefix=true,
            citepages=omit,
            backend=biber,
            ibidpage=true,
        ]{biblatex}
\usepackage{biblatex-opcit-booktitle}

\NewBibliographyString{ibidemloccit,ibidemnoloccit}
\DefineBibliographyStrings{italian}{%
    idem   = {Id\adddot},
    idemsm = {Id\adddot},
    idemsf = {Ead\adddot},
    idemsn = {Id\adddot},
    idempm = {Id\adddot},
    idempf = {Id\adddot},
    idempn = {Id\adddot},
    idempp = {Id\adddot},
  ibidemloccit   = {\mkbibemph{\autocap{i}bidem}},
  ibidemnoloccit = {Ivi},
}

\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}}}}}


\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\mkibid}{\emph}

\renewbibmacro*{cite:title}{%
  \printtext[bibhyperlink]{%
    \printfield[citetitle]{labeltitle}%
    \setunit{\addspace}%
    \bibstring[\mkibid]{opcit}}}

    \DeclareFieldFormat[article, inbook, incollection, inproceedings]{citetitle}{\mkbibemph{#1}}

\begin{filecontents}[force]{\jobname.bib}
@collection{Gag:Fil,
    Address = {Città del Vaticano},
    Date-Modified = {2018-06-08 17:40:35 +0000},
    Editor = {Mauro Gagliardi},
    Publisher = {Libreria Editrice Vaticana},
    Shorttitle = {Il Filioque},
    Title = {Il Filioque. A mille anni dal suo inserimento nel credo a Roma (1014-2014)},
    Year = {2015}}
@incollection{Oss:Mas,
    Author = {Carlo dell'Osso},
    Pages = {147-64},
    Crossref = {Gag:Fil},
    Title = {Il \textit{Filioque} in Massimo il Confessore}}
@incollection{Cip:Pro,
    Author = {Nello Cipriani},
    Pages = {99-116},
    Title = {La processione dello Spirito Santo in sant'Agostino},
    Crossref = {Gag:Fil}}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
I want the short title of the collection from the second citation on

Cito la collezione\footcite{Gag:Fil}

Dopo cito il contributo nella collezione\footcite{Oss:Mas}

E infine un altro contributo nella medesima collezione\footcite{Cip:Pro}

Cito la collezione\footcite{Gag:Fil}
\end{document}

1 Mauro Gagliardi,cur.,《Il Filioque》。 A mille anni dal suo inserimento nel credo a Roma (1014-2014), Città del Vaticano: Libreria Editrice Vaticana, 2015.//2 Carlo dell'Osso, «Il Filioque in Massimo il Confessore», in Il Fiquelio, cl Fiquelio di Mauro Gagliardi,引述,第147–64 頁。 //4 Gagliardi,《Il Filioque》,引自。

相關內容