Kurzverweis bei @incollection
Hallo zusammen!
Ich habe mehrere Artikel aus einem Sammelband (@collection), die jeweils als @incollection mit crossref in der .bib-Datei stehen. Im Literaturverzeichnis soll bei der Ausgabe der @incollection-Einträge jeweils nur ein Kurzverweis auf die @collection erscheinen, z.B.
Müller, Peter (2014): Titel. In: Meyer/Schröder 2014, S. 123–456.
Das kriege ich allerdings leider nicht hin. Ich bin schon so weit, dass ich in meiner .bbx-Datei eine Abfrage eingebaut habe, die prüft, ob das crossref-Feld vorhanden ist, leider weiß ich nicht, was ich als Ausgabe da reinschreiben muss, damit von den Herausgebern nur die Nachnamen und zusätzlich das Jahr ausgageben werden.
Hoffentlich funktioniert dieses Minimalbeispiel:
\documentclass[%
11pt,
a4paper,
parskip,
onepage,
BCOR5mm,
bibliography=totoc,
footsepline,
bookmarksopen=true,
pdfusetitle]{scrreprt}
\usepackage[a4paper]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english,ngerman]{babel} % globale Verwendung im Dokument
\usepackage[babel,german=guillemets,maxlevel=3]{csquotes} % Anführungszeichen nach Sprache wählen
%%%%%BIBER
\usepackage[%
backend=biber,
maxbibnames=4,
maxcitenames=2,
% Pfad: /usr/share/texmf/tex/latex/biblatex/bbx/
style=steflo, %uni-wtal-lin // authoryear-icomp
babel=other,
hyperref=true,
sortcites=true, % Sortierung von Präfix-Namen
citestyle=authoryear-ibid,
%bibstyle=authoryear,
url=false,
isbn=false,
idemtracker=context,
ibidpage,
mincrossrefs=2
]{biblatex}
\renewcommand{\postnotedelim}{\addcolon\addabbrvspace} % Doppelpunkt zwischen Jahr und Seite: (Meier 1999:~S. 23)
\DeclareFieldFormat{postnote}{#1} %einleitendes S. weg
\renewcommand{\labelnamepunct}{\addcolon\addabbrvspace} %doppelpunkt statt punkt in literaturliste
\renewcommand*{\multicitedelim}{\addsemicolon\addabbrvspace} %Semikolon bei mehreren Zitatverweisen (Müller 1994:~45; Meyer 1994: 34)
\DefineBibliographyStrings{ngerman}{
andothers = {{et\addabbrvspace al\adddot}},
andmore = {{et\addabbrvspace al\adddot}}, %et. al auch bei Orten
urlseen = {},
%urlseen = {letzter Zugriff am}
}
% für Präfix-Sortierung (Zitate im Text: with prefix, in der Bibliografie: noprefix)
\makeatletter
\AtBeginDocument{\toggletrue{blx@useprefix}}
\AtBeginBibliography{\togglefalse{blx@useprefix}}
\makeatother
% prints author names as small caps
\renewcommand{\mkbibnamefirst}[1]{\textsc{#1}}
\renewcommand{\mkbibnamelast}[1]{\textsc{#1}}
\renewcommand{\mkbibnameprefix}[1]{\textsc{#1}}
\renewcommand{\mkbibnameaffix}[1]{\textsc{#1}}
\addbibresource{lit.bib} %biber-durchläufe nicht vergessen!
\begin{document}
\autocite[12]{Peter2014}
\autocite[12]{Meyer2014}
\autocite[12]{Muller2014}
\autocite[12]{Werner2014}
\printbibliography[title=Literaturverzeichnis]
\end{document}
lit.bib:
@INCOLLECTION{Peter2014,
author = {Hans Peter},
title = {Irgendein Titel},
pages = {123–456},
crossref = {Sammelband2014}
}
@INCOLLECTION{Meyer2014,
author = {Klaus Meyer},
title = {Irgendein Titel},
pages = {12–45},
crossref = {Sammelband2014}
}
@INCOLLECTION{Muller2014,
author = {Sebastian Müller},
title = {Irgendein Titel},
pages = {1–5},
crossref = {Sammelband2014}
}
@INCOLLECTION{Werner2014,
author = {Sarah Werner},
title = {Irgendein Titel},
pages = {121–455},
crossref = {Sammelband2014}
}
@COLLECTION{Sammelband2014,
editor = {Peter Schröder and Peter Pan},
title = {Dieser Titel soll nur einmal erscheinen.},
publisher = {Verlag},
address = {Ort},
date = {2014}
}
steflo.bbx (sicher an einigen Stellen Kraut und Rüben, ich verstehe die Syntax fast null und habe nur rumprobiert, bis es aussah, wie ich es wollte):
% uni-wtal-lin.bbx, v 0.2 2013-08-09, Carsten A. Dahlmann (Ace@Dahlmann.net)
% based on authoryear
%% requires authoryear
\RequireBibliographyStyle{authoryear-icomp}
%% Book
\DeclareBibliographyDriver{book}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{maintitle+title}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\iffieldundef{series} %falls es eine Serie gibt …
{}%
{\nopunct} % … keinen Punkt nach dem Verlag, also vor die Klammer setzen
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit
\printfield{pagetotal}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\newblock
\newunit\newblock
\iffieldundef{series}
{}%
{\usebibmacro{series+number}}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\setunit{\bibpagespunct}
\usebibmacro{finentry}}
%% InBook
\DeclareBibliographyDriver{inbook}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{bybookauthor}%
\setunit{\titleaddonpunct}\newblock
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\iffieldundef{series} %falls es eine Serie gibt …
{}%
{\nopunct} % … keinen Punkt nach dem Verlag, also vor die Klammer setzen
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\newunit\newblock
\iffieldundef{series}
{}%
{\usebibmacro{series+number}}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\setunit{\bibpagespunct}
\usebibmacro{finentry}}
%% Collection
\DeclareBibliographyDriver{collection}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{editor+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{maintitle+title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\iffieldundef{series} %falls es eine Serie gibt …
{}%
{\nopunct} % … keinen Punkt nach dem Verlag, also vor die Klammer setzen
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit
\printfield{pagetotal}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\newblock
\newunit\newblock
\iffieldundef{series}
{}%
{\usebibmacro{series+number}}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\setunit{\bibpagespunct}%
\usebibmacro{finentry}}
%% InCollection
\DeclareBibliographyDriver{incollection}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
\iffieldundef{crossref}{
\usebibmacro{byeditor+others}
\setunit{\titleaddonpunct}\newblock
\usebibmacro{maintitle+booktitle}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\iffieldundef{series} %falls es eine Serie gibt …
{}%
{\nopunct} % … keinen Punkt nach dem Verlag, also vor die Klammer setzen
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\iffieldundef{series}
{}%
{\usebibmacro{series+number}}
\newunit\newblock
\usebibmacro{addendum+pubstate}%
}
{\usebibmacro{byeditor+others} % KNACKPUNKT!! Wie nur Nachnamen von Herausgebern? Meyer/Peters (2013)
\newunit\newblock
\usebibmacro{citeyear}
}
\newblock
\usebibmacro{chapter+pages}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\setunit{\bibpagespunct}%
\usebibmacro{finentry}}
%% Article
\DeclareBibliographyDriver{article}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{bytranslator+others}%
\newunit\newblock
\printfield{version}%
\newunit\newblock
\usebibmacro{journal+issuetitle}%
\newunit
\usebibmacro{note+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{issn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}
%% Unpublished
\DeclareBibliographyDriver{unpublished}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\printfield{howpublished}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\iftoggle{bbx:url}
{\usebibmacro{url+urldate}}
{}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagespunct}%
\usebibmacro{location+date}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\usebibmacro{finentry}}
%% use option edsuper for turning superscripted edition on/off
\newbool{bbx:editionstring}
\newbool{bbx:edsuper}
\DeclareBibliographyOption{editionstring}[true]{%
\csuse{bool#1}{bbx:editionstring}}
\DeclareBibliographyOption{edsuper}[true]{%
\csuse{bool#1}{bbx:edsuper}}
%% DeclareFieldFormat edition
\DeclareFieldFormat{edition}{%
\ifinteger{#1}
{\mkbibordedition{#1}~\bibstring{edition}}
{\ifbool{bbx:editionstring}
{#1\addspace\bibstring{edition}\isdot}
{#1\isdot}}}
%% DeclareFieldFormat edition:super
\DeclareFieldFormat{edition:super}{%
\ifinteger{#1}
{\mkbibsuperscript{#1}}
{\blxdw@warning@noline{%
The 'edition' field of entry\MessageBreak
'\abx@field@entrykey' is not an integer.\MessageBreak
The edition will not be printed as\MessageBreak
superscript. Instead, the 'edition'\MessageBreak
field is printed completely}}}
%% Test, if field is integer
\newcommand{\bbx@iffieldinteger}[1]{%
\iffieldundef{#1}
{\@secondoftwo}
{\edef\@tempa{\strfield{#1}}%
\expandafter\ifinteger\expandafter{\@tempa}}}
%% for position of edition at the end:
%% if option edsuper true and
%%%% if field integer, do nothing
%%%% else print edition
%% else print edition
%%
\renewbibmacro*{publisher+location+date}{%
\printlist{location}%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\ifbool{bbx:edsuper}
{\bbx@iffieldinteger{edition}
{}%
{\printfield{edition}%
\newunit}}%
{\printfield{edition}%
\newunit}}
%% for position of edition (superscripted) at the beginning:
%% if option edsuper true and
%%%% if field integer, print edition superscripted
%%%% else do nothing
%% else do nothing
%%
\renewbibmacro*{date+extrayear}{%
\iffieldundef{year}
{}%
{\printtext[parens]{%
\printfield{issue}%
\setunit*{\addspace}%
{\printdateextra}%
{\ifbool{bbx:edsuper}%
{\bbx@iffieldinteger{edition}%
{\printfield[edition:super]{edition}}%
{}}%
{}}%
}}}%
%% put series and number into parenthesis
\renewbibmacro*{series+number}{%
\iffieldundef{series}
{}
{\printtext[parens]{%
\iffieldundef{number}
{}
{= \addhpthinspace}%
\printfield{series}%
\setunit*{\addsemicolon\addspace{}Bd.~}%
\printfield{number}%
}}\newunit}
%% no comma before (eds.)
\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}%
\setunit{\addspace}}%
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\addspace}}%
\usebibmacro{date+extrayear}}%
% \usebibmacro{year}}%
%% byeditor: first-last (eds.)
\renewbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
{\printnames[byeditor]{editor}%
\setunit{\addspace}%
\usebibmacro{editorstrg}%
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
%% deactivate series for journal
\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addspace}%
\usebibmacro{volume+number+eid}%
\setunit{\addspace}%
\usebibmacro{issue+date}%
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\newunit}
%% renew volume+number: colon as delimiter
\newbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit*{\addcolon\space}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
%% listing of names: name/name/final name
\renewcommand{\multinamedelim}[0]{\addslash}%
\renewcommand*{\finalnamedelim}[0]{\addslash}%
%% change of german abbreviations
\DefineBibliographyStrings{german}{%
and={\&},
editor={\addspace\mkbibparens {Hrsg\adddot}},
editors={\addspace\mkbibparens {Hrsg\adddot}},
byeditor={Hrsg\addcolon\thinspace},
andothers={et\addabbrvspace al\adddot},
}
%% change of english abbreviations
\DefineBibliographyStrings{english}{%
and={\&},
editor={\addspace\mkbibparens {ed\adddot}},
editors={\addspace\mkbibparens {eds\adddot}},
byeditor={ed\addcolon\thinspace},
andothers={et\addabbrvspace al\adddot},
}
%% no quotation marks for article, inbook, ...
\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,thesis,unpublished]
{title}{#1\isdot}
%% stattdessen kursiv
\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,thesis,unpublished]
{title}{\mkbibemph{#1}}
%% colon after the word "in"
\renewbibmacro*{in:}{%
\printtext{%
\bibstring{in}\addcolon\space}}
%% colon for "editor:" after "in:"
\newcommand*{\titleaddonpunct}{\addcolon\space}
%% no "visited:" before urldate
\DeclareFieldFormat{urldate}{\mkbibparens{#1}}
%% vertical spacing between entrys
\setlength{\bibitemsep}{0.8\baselineskip}
%% load style defaults
\ExecuteBibliographyOptions{%
maxnames=2,
maxbibnames=99,
dashed=true,
edsuper=true,
}%
\endinput
Ich bedanke mich im Voraus :)