参考书目:编辑年份

参考书目:编辑年份

对于我的参考书目,我需要通过引用“整个”集合来设置集合,如下所示:在此处输入图片描述

因此 Grassi 和 Telmon 在 Sobrero 的合集中写了一篇文章。我的问题是如何获得上标版本和编辑之后的年份(在“Sobrero (Hg.)”之后)?坦白说,我搞不清楚这个方便的数据字段。或者是否存在类似参考书目条目之间的引用来让它发挥作用?

这里是 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

crossrefbiblatex-ext和的功能一起citexref似乎是一个很好的开始。

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

使用标准版本,您可以获得参考书目中父著作的“引用”。

格拉西,科拉多(2008)。 “Italiano e dialetti”,载:Sobrero 2008,279–310。

这意味着书目中的参考资料看起来或多或少像普通引文,不包括“(Hrsg.)”或版本标签之类的内容。如果该卷已经是父卷的一部分,它也不会包含卷号。

可以在“引用”中包含更多详细信息,但必须提供数据,并且必须有一种方法来自动决定打印什么和不打印什么。

相关内容