1

For my bibliography I need to set incollections by referring to the ‘whole’ collection like here:enter image description here

So Grassi and Telmon have written an article in Sobrero’s collection. My question is how do I get the superscript edition and the year after the editor (after "Sobrero (Hg.)")? I frankly can’t figure out the convenient data field. Or does even exist something like a reference between bibliography entries that makes it work?

Here a MWE:

\documentclass[a4paper, 12pt]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[french, ngerman]{babel}
\usepackage[T1]{fontenc}

\usepackage[autostyle]{csquotes}
\usepackage[backend=biber, style=ext-authoryear, innamebeforetitle=true, innameidem=true, maxcitenames=2, dashed=false]{biblatex} %citestyle=authoryear-ibid, sorting=none

\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}
\DefineBibliographyStrings{ngerman}{
   andothers = {{et\,al\adddot}},
}

\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{ineditor}{sortname}

\DeclareDelimFormat[bib]{multinamedelim}{\addspace\slash\space}
\DeclareDelimAlias*[bib]{finalnamedelim}{multinamedelim}

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldAlias{translatortype}{editortype}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}

\renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
    {}
    {\setunit{\addcomma\addspace}%
     \usebibmacro{byeditor+othersstrg}%
     \setunit{\addspace}%
     \printnames[byeditor]{editor}%
     \clearname{editor}%
     \setunit{\addspace}%
     \newunit}%
  \usebibmacro{byeditorx}%
  \usebibmacro{bytranslator+others}}

\DeclareDelimFormat[bib]{nametitledelim}{\adddot\space}

\renewbibmacro{begentry}{%
  \printfield{shorthand}%
  \setunit*{\addspace=\space}%
}

\DeclareDelimFormat{multinamedelim}{\slash}
\DeclareDelimFormat{finalnamedelim}{\slash}

\renewbibmacro*{in:}{%
  \setunit{\addcomma\space}%
  \bibstring{in}%
  \printunit{\intitlepunct}}

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit*{\addnbthinspace}% NEW (optional); there's also \addnbthinspace
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}
\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}

\DeclareFieldFormat{superedition}{\textsuperscript{#1}}
\makeatletter
\renewbibmacro*{date+extradate}{%
  \iffieldundef{origyear}{%
  }{%
    \setunit*{\addspace}%
    \printtext{\mkbibbrackets{\printorigdate}}%
    \setunit*{\addspace}
  }%
  \iffieldundef{labelyear}
    {}
    {\printtext[\blx@delimcontext labeldate]{%
       \printfield[superedition]{edition}%
       \global\clearfield{edition}%
       \iflabeldateisdate
         {\printdateextra}
         {\printlabeldateextra}}}}
\makeatother

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

\urlstyle{same}
\DeclareFieldFormat{url}{URL: <\url{#1}>}
\DeclareFieldFormat{urldate}{\mkbibbrackets{#1}}
%\DeclareFieldFormat{urldate}{\mkbibbrackets{\bibstring{urlseen}\space#1}}
%\DefineBibliographyStrings{english}{
%  urlseen = {Accessed}    
%}

\DeclareFieldFormat{pages}{#1}

\DefineBibliographyStrings{german}{
  editor  = {Hrsg\adddot},
  editors = {Hrsg\adddot},
}

\begin{filecontents}{literatur.bib}
@incollection{Grassi,
author = {Grassi, Corrado},
title = {Italiano e dialetti},
year = {2008},
editor = {Sobrero},
pages = {279--310},
}

@incollection{Telmon,
author = {Telmon, Tullio},
title = {Varietà regionali},
year = {2008},
editor = {Sobrero},
pages = {93--149},
}

@book{Sobrero,
editor = {Sobrero, {Alberto A.}},
maintitle = {Introduzione all’italiano contemporaneo},
title = {La variazione e gli usi},
year = {2008},
edition = {13},
volume = {2},
series = {Manuali Laterza},
number = {43},
adress = {Rom/Bari},
publisher = {Laterza},
}
\end{filecontents}
\bibliography{literatur}

\begin{document}

\cite{Grassi} and \cite{Sobrero} and \cite{Telmon}
\printbibliography

\end{document}
1

crossref together with biblatex-ext's citexref feature seem like a good start for this.

\documentclass[a4paper, 12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[french, ngerman]{babel}
\usepackage[T1]{fontenc}

\usepackage[autostyle]{csquotes}
\usepackage[
  backend=biber,
  style=ext-authoryear,
  innamebeforetitle=true,
  innameidem=true,
  maxcitenames=2,
  citexref=true,
  dashed=false,
]{biblatex}

\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}
\DefineBibliographyStrings{ngerman}{
  andothers = {et\,al\adddot},
  editor  = {Hrsg\adddot},
  editors = {Hrsg\adddot},
}

\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{ineditor}{sortname}

\DeclareDelimFormat[bib]{multinamedelim}{\addspace\slash\space}
\DeclareDelimAlias[bib]{finalnamedelim}{multinamedelim}

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldAlias{translatortype}{editortype}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}

\renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
    {}
    {\setunit{\addcomma\addspace}%
     \usebibmacro{byeditor+othersstrg}%
     \setunit{\addspace}%
     \printnames[byeditor]{editor}%
     \clearname{editor}%
     \setunit{\addspace}%
     \newunit}%
  \usebibmacro{byeditorx}%
  \usebibmacro{bytranslator+others}}

\DeclareDelimFormat[bib]{nametitledelim}{\adddot\space}

\renewbibmacro{begentry}{%
  \printfield{shorthand}%
  \setunit*{\addspace=\space}%
}

\DeclareDelimFormat{multinamedelim}{\slash}
\DeclareDelimFormat{finalnamedelim}{\slash}

\renewbibmacro*{in:}{%
  \setunit{\addcomma\space}%
  \bibstring{in}%
  \printunit{\intitlepunct}}

\renewcommand*{\volnumdelim}{\addnbthinspace}
\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}

\DeclareFieldFormat{superedition}{\textsuperscript{#1}}
\makeatletter
\renewbibmacro*{date+extradate}{%
  \iffieldundef{origyear}{%
  }{%
    \setunit*{\addspace}%
    \printtext{\mkbibbrackets{\printorigdate}}%
    \setunit*{\addspace}
  }%
  \iffieldundef{labelyear}
    {}
    {\printtext[\blx@delimcontext labeldate]{%
       \iffieldxref{edition}
         {}
         {\printfield[superedition]{edition}%
          \global\clearfield{edition}}%
       \iflabeldateisdate
         {\printdateextra}
         {\printlabeldateextra}}}}
\makeatother

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

\urlstyle{same}
\DeclareFieldFormat{url}{URL: <\url{#1}>}
\DeclareFieldFormat{urldate}{\mkbibbrackets{#1}}

\DeclareFieldFormat{pages}{#1}

\begin{filecontents}{\jobname.bib}
@incollection{Grassi,
  author   = {Grassi, Corrado},
  title    = {Italiano e dialetti},
  crossref = {Sobrero},
  pages    = {279--310},
}
@incollection{Telmon,
  author   = {Telmon, Tullio},
  title    = {Varietà regionali},
  crossref = {Sobrero},
  pages    = {93--149},
}
@collection{Sobrero,
  editor    = {Sobrero, Alberto A.},
  maintitle = {Introduzione all’italiano contemporaneo},
  title     = {La variazione e gli usi},
  year      = {2008},
  edition   = {13},
  volume    = {2},
  series    = {Manuali Laterza},
  number    = {43},
  adress    = {Rom/Bari},
  publisher = {Laterza},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\cite{Grassi} and \cite{Sobrero} and \cite{Telmon}
\printbibliography
\end{document}

With the standard version you get a "citation" to the parent work in the bibliography.

Grassi, Corrado (2008). „Italiano e dialetti“, in: Sobrero 2008, 279–310.

This means that the reference in the bibliography looks more or less like a normal citation and does not include things like "(Hrsg.)" or the edition label. It also does not include the volume number if the volume is already part of the parent.

It would be possible to include additional details in the "citation", but the data would have to be available and there would have to be a way to decide automatically what to print and what not to print.

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.