1

Here I have another problem with the incollection driver: I can't get the shorttitle + "cit." from the second occurrence on of the same incollection.

For instance, in the second footnote of my MWE I get this output:

M. Gagliardi, Il Filioque: teologia speculativa, in Id. (a cura di), Il Filioque. A mille anni dal suo inserimento nel credo a Roma (1014-2014), Libreria Editrice Vaticana, Città del Vaticano 2015, pp. 247–283.

while I would like to have this:

M. Gagliardi, Il Filioque: teologia speculativa, in Id. (a cura di), Il Filioque, cit., pp. 247–283.

MWE:

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

\begin{filecontents}{archivio.bib}

@incollection{Gag:Teo,
    Address = {Città del Vaticano},
    Author = {Mauro Gagliardi},
    Crossref = {Gag:Fil},
    Pages = {247-283},
    Title = {Il \textit{Filioque}: teologia speculativa},
    Year = {2015}}


@incollection{Bux:Fil,
    Address = {Città del Vaticano},
    Author = {Nicola Bux},
    Crossref = {Gag:Fil},
    Pages = {309-21},
    Title = {Il \textit{Filioque} nei documenti del dialogo cattolico-ortodosso e nelle dichiarazioni congiunte}}


@collection{Gag:Fil,
    Booktitle = {Il Filioque. A mille anni dal suo inserimento nel credo a Roma (1014-2014)},
    Editor = {Mauro Gagliardi},
    Location = {Città del Vaticano},
    Publisher = {Libreria Editrice Vaticana},
    Shorttitle = {Il Filioque},
    Title = {Il Filioque. A mille anni dal suo inserimento nel credo a Roma (1014-2014)},
    Year = {2015}}


\end{filecontents}

\documentclass[11pt, openany]{book}
\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{italian}
\setotherlanguages{latin, english, french}


\usepackage[]{csquotes}
\usepackage{xpatch}
\usepackage[style=verbose-trad2,
            language=auto,
            ibidpage=true,
            autolang=other,% use new option name
            useprefix=true,
            giveninits=true,
            indexing=true,% or cite?
            citepages=separate,%
            dateabbrev=false,
            backend=biber,
        ]{biblatex}

\addbibresource{archivio.bib}
\DeclareFieldFormat[article, inbook, incollection, inproceedings]{title}{\mkbibemph{#1}}
\DeclareFieldFormat[book, inbook, incollection, inproceedings]{volume}{#1}


% the colon/comma issues for pages together with citepages=separate
\renewbibmacro*{cite:postnote:pages}{%
  \setunit{\addcolon\space\nopunct}%
  \printfield{postnote}}

\renewbibmacro*{byeditor+others}{%
 \ifnameundef{editor}
   {}
   {\ifnamesequal{author}{editor}
      {\bibstring[\mkibid]{idem\thefield{gender}}}
      {\printnames[byeditor]{editor}}%
    \setunit{\addspace}%
    \usebibmacro{editor+othersstrg}%
    \clearname{editor}%
    \newunit}%
 \usebibmacro{byeditorx}%
 \usebibmacro{bytranslator+others}}

\xpatchbibdriver{incollection}{%
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
}%
  {%
  \usebibmacro{byeditor+others}%
  \setunit{\addcomma\space}\newblock
  \usebibmacro{maintitle+booktitle}%
  }%
  {}{}%


% This is to kill a comma between Editor and (Ed.)
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{translatortypedelim}{\addspace}
\DeclareFieldFormat{translatortype}{\mkbibparens{#1}}
\renewcommand*{\newunitpunct}{\addcomma\space}
\xpatchbibmacro{name:andothers}{%
  \bibstring{andothers}%
}{%
  \bibstring[\emph]{andothers}%
}{}{}


\renewbibmacro{in:}{\bibstring{in}\nopunct\space} %\nopunct aggiunto 30 mag 18 per evitare virgola in incollection

\NewBibliographyString{ibidemloccit,ibidemnoloccit}

\newcommand*{\mklangidem}[1]{%
  \DefineBibliographyStrings{#1}{%   era \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}bid\adddot}},
    ibidemnoloccit = {Ivi},
    opcit  = {cit\adddot}, %tolto \nopunct per avere la virgola 30 mag 2018
    loccit = {loc\adddotspace cit\adddot},
  }}

\forcsvlist{\mklangidem}{english,italian, german}

%%%%%%%%%%%%%%%%%%%%%%%%%%%CAMPO EDITOR TRA PARENTESI CON EDD%%%%%%%%%%%

\DefineBibliographyStrings{italian}{                    
    editor = {a cura di},
    editors={a cura di},
    byeditor = {a cura di}
}



\xpatchbibmacro{author}
  {\printnames{author}}
  {\ifcitation
     {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
       {\usebibmacro{cite:idem}}
       {\printnames{author}}}
     {\printnames{author}}}
  {}{}
\xpatchbibmacro{bbx:editor}
  {\printnames{editor}}
  {\ifcitation
     {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
        {\usebibmacro{cite:idem}}
        {\printnames{editor}}}
     {\printnames{editor}}}
  {}{}
\xpatchbibmacro{bbx:translator}
  {\printnames{translator}}
  {\ifcitation
     {\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}}}}}


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

\renewbibmacro*{publisher+location+date}{%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \printlist{location}%
  \setunit*{\space}%
  \usebibmacro{date}%
  \newunit}

\renewbibmacro*{series+number}{%
  \iffieldundef{series}
    {}
    {\setunit{\addspace}%
     \printtext[parens]{%
       \printfield{series}%
       \setunit*{\addspace}%
       \printfield{number}}}%
  \newunit}





\begin{document}
First, I'm citing the first incollection\footcite{Bux:Fil}\\
The I would like to a cit. here\footcite{Gag:Teo} for the same collection

\end{document}
Teodoro
  • 587
  • 2
  • 9
  • 1
    Related: https://tex.stackexchange.com/q/172669/35864 – moewe Jun 03 '18 at 20:25
  • Yes, it works between \makeatletter \makeatother. – Teodoro Jun 03 '18 at 20:45
  • Does that solve your question so that we can close this as a duplicate or do you need or want something else? – moewe Jun 03 '18 at 21:36
  • Apparently it solved my issue. It is a very long code so I was just taking a look whether it affects something else in my neverending bibliography :) – Teodoro Jun 04 '18 at 15:07
  • OK, I closed this as a duplicate. If you have trouble with the code, just ask a new question. – moewe Jun 04 '18 at 15:09

0 Answers0