상호 참조를 사용할 때 컬렉션의 짧은 제목(첫 번째 인용 이후에 필요함)을 가져오는 데 실패했습니다.
문제에 영향을 미칠 수 있는 사용자 정의 설정을 지우고 싶지 않았기 때문에 예제는 (적어도 참고 문헌의 경우) 아주 작지는 않습니다.
% !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}