对于我的参考书目,我需要通过引用“整个”集合来设置集合,如下所示:
因此 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
crossref
biblatex-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}
使用标准版本,您可以获得参考书目中父著作的“引用”。
这意味着书目中的参考资料看起来或多或少像普通引文,不包括“(Hrsg.)”或版本标签之类的内容。如果该卷已经是父卷的一部分,它也不会包含卷号。
可以在“引用”中包含更多详细信息,但必须提供数据,并且必须有一种方法来自动决定打印什么和不打印什么。