0

enter image description here

How do I suppress the comma after the editor's name when citing collections or proceedings, and when these get listed in bibliography?

The question is the same as in:

BibLaTeX: Suppress comma after editor names

Remove comma after editor name in biblatex

biblatex-verbose: Comma after editor instead of period

Unfortunately none of the presented solutions work for for me.


MWE

\documentclass[11pt, twoside, openany]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} 
\usepackage[italian]{babel}
\usepackage[autostyle,italian=guillemets]{csquotes}
\usepackage{xpatch}
\usepackage[style=verbose-trad2,
            useprefix=true,                 
            citepages=omit,                 
            backend=biber,  
            ibidpage=true,
        ]{biblatex} 
\usepackage{biblatex-opcit-booktitle}

\defbibheading{sc-comp}[\bibname]{%
  \chapter*{#1}\markboth{#1}{}%
  \addcontentsline{toc}{chapter}{\bibname}%
}

\ExecuteBibliographyOptions{giveninits=false, dashed=false, dateabbrev=false}
\DeclareNameAlias{sortname}{family-given}
\NewBibliographyString{ibidemloccit,ibidemnoloccit}
\DefineBibliographyStrings{italian}{%
  bibliography   = {Bibliografia},
  editor         = {a cura di},
  editors        = {a cura di},
  idem           = {\textsc{Id}},
  ibidemloccit   = {\mkbibemph{\autocap{i}bid\adddot}},
  ibidemnoloccit = {Ivi},
}

\renewbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \global\toggletrue{cbx:fullcite}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\toggletrue{abx@bool@giveninits}%
       \DeclareNameAlias{sortname}{default}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

\renewbibmacro*{publisher+location+date}{%
  \iflistundef{publisher}
    {\setunit*{\addcomma\space}}
    {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \printlist{location}%
  \setunit*{\addspace}%
  \usebibmacro{date}%
  \printfield{edition}%
  \newunit}

\DeclareFieldFormat{edition}{%
  \ifinteger{#1}
    {\textsuperscript{#1}}
    {#1\isdot\setunit{\addcomma\space}}}

\newcommand{\replaceedition}[1]{%
  \xpatchbibdriver{#1}
    {\printfield{edition}%
     \newunit}
    {}%
    {}
    {\typeout{failed to patch driver #1}}%
}
\replaceedition{book}
\replaceedition{collection}
\replaceedition{inbook}
\replaceedition{incollection}
\replaceedition{manual}

\renewbibmacro*{date}{%
  \printdate
  \iffieldundef{origyear}{%
  }{%
    \setunit*{\addspace}%
    \printtext[parens]{ed. or. \printorigdate}%
  }%
}

\DeclareDelimFormat{finalnamedelim}{%
  \addspace\addcomma\space}

%volumi riviste
\renewbibmacro*{volume+number+eid}{%
 \setunit*{\addcomma\space}% 
  \printfield{volume}%
 %invece di \setunit*{\adddot}% 
  \setunit*{\addslash}% 
  \printfield{number}%
}

\renewcommand*{\revsdnamepunct}{}
\renewcommand*{\intitlepunct}{\space}
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\mkbibcompletename}{\textsc}
\newbibmacro*{in:}{%
  \ifentrytype{article}
    {}
    {\bibstring{in}%
     \printunit{\intitlepunct}}}

\DeclareFieldFormat{journaltitle}{\enquote{#1\isdot}}
\DeclareFieldFormat[article]{title}{\textit{#1}}
\DeclareFieldFormat[article]{volume}{\textsc{#1}}
\DeclareFieldFormat[incollection]{title}{\textit{#1}}
\DeclareFieldFormat[inproceedings]{title}{\textit{#1}}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}

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

\begin{filecontents}{\jobname.bib}
@proceedings{granitoschiavino,
editor        = {Granito, Eugenia and Schiavino, Mariateresa and Foscari, Giuseppe},
title         = {Il Principato Citeriore tra \emph{Ancien Régime} e conquista francese: il mutamento di una realtà periferica del Regno di Napoli}, 
note        = {Atti del convegno (Salerno, 14-16 maggio 1991)},
date          = {1993},
location      = {Salerno},
}
@collection{delorenzo,
editor        = {De Lorenzo, Renata},
title         = {L'organizzazione dello Stato al tramonto dell'Antico Regime},
date          = {1990},
location      = {Napoli},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{delorenzo}. Text\footcite{granitoschiavino}
\printbibliography[heading=sc-comp]
\end{document}
1

With a current version of biblatex, you would use

\DeclareDelimFormat{editortypedelim}{\addspace}

to remove the comma (see also Remove comma after editor name in biblatex that you linked).

But I think we established in an earlier question of yours that you are using a very outdated version of biblatex (biblatex (verbose-trad2) - Initials in citations and full name in bibliography), so if the code above does not work, you unfortunately need to go about modifying the relevant bibmacros directly.

\makeatletter
\renewbibmacro*{bbx:editor}[1]{%
  \ifboolexpr{
    test \ifuseeditor
    and
    not test {\ifnameundef{editor}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\printnames{editor}%
        \setunit{\addspace}%
        \usebibmacro{bbx:savehash}}%
     \usebibmacro{#1}%
     \clearname{editor}}
    {\global\undef\bbx@lasthash}}
\makeatother

I would have expected that in this case BibLaTeX: Suppress comma after editor names should also work, but maybe something else is going on.

It tested this approach with some older TeX Live instances running on Overleaf and it worked there. (In general it is very tricky for people here to test their suggestions with the exact package versions you are running, when you are using an outdated system. Many people here have a fairly up-to-date system, so the code is usually tested with that.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.