von Aldeyn » So 19. Feb 2012, 15:24
Hallo Forum,
ich habe ein kleines Problem mit authoryear bzw mit meinen Änderungen daran. Es stört mich, daß bei Einträgen mit xref das Verweisziel "normal" zitiert wird:
Author, Auth (2010a). "Title 1". In: Book Title 1. Ed. by Ed Editor, pp. 1-2.
Editor, Ed (2010a). Book Title 1.
Stattdessen hätte ich lieber:
Author, Auth (2010a). "Title 1". In: Editor, Ed (ed.) (2010a), pp. 1-2.
Editor, Ed (2010a). Book Title 1.
Bisher schaffe ich nur:
Author, Auth (2010a). "Title 1". In: Editor, Ed (ed.) (), pp. 1-2.
Editor, Ed (2010a). Book Title 1.
Quelltext dazu:
\RequirePackage{filecontents}
\begin{filecontents*}{Bib.bib}
@incollection{article1,
xref = {book1},
author = {Author, Auth},
title = {Title 1},
pages = {1--2},
editor = {Editor, Ed},
booktitle = {Book Title 1},
year = {2010}
}
@incollection{article2,
xref = {book2},
author = {Author, Auth},
title = {Title 2},
pages = {1--2},
editor = {Editor, Ed},
booktitle = {Book Title 2},
year = {2010}
}
@book{book1,
author = {Editor, Ed},
year = {2010},
title = {Book Title 1}
}
@book{book2,
author = {Editor, Ed},
year = {2010},
title = {Book Title 2}
}
\end{filecontents*}
\documentclass{scrreprt}
\usepackage[backend=bibtex8,sortlocale=de,style=authoryear,dashed=false,mincrossrefs=1]{biblatex}
\bibliography{Bib}
% Verknüpfung als Quellenangabe
\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:}%
\printnames{editor} (\bibstring{editor}) ()
\usebibmacro{chapter+pages}%
\usebibmacro{finentry}}
\begin{document}
\parencite{article1}\parencite{article2}
\printbibliography
\end{document}
Mein Problem ist, daß ich nicht weiß, was ich in der Zeile
\printnames{editor} (\bibstring{editor}) ()
in die Klammer schreiben muß, damit das angezeigt wird, was ich will. Oder gibt es einen einfacheren Weg? Mache ich schon vorher irgendeinen Fehler?
Hallo Forum,
ich habe ein kleines Problem mit authoryear bzw mit meinen Änderungen daran. Es stört mich, daß bei Einträgen mit xref das Verweisziel "normal" zitiert wird:
[quote]
Author, Auth (2010a). "Title 1". In: Book Title 1. Ed. by Ed Editor, pp. 1-2.
Editor, Ed (2010a). Book Title 1.
[/quote]
Stattdessen hätte ich lieber:
[quote]
Author, Auth (2010a). "Title 1". In: Editor, Ed (ed.) (2010a), pp. 1-2.
Editor, Ed (2010a). Book Title 1.
[/quote]
Bisher schaffe ich nur:
[quote]
Author, Auth (2010a). "Title 1". In: Editor, Ed (ed.) (), pp. 1-2.
Editor, Ed (2010a). Book Title 1.
[/quote]
Quelltext dazu:
[code]
\RequirePackage{filecontents}
\begin{filecontents*}{Bib.bib}
@incollection{article1,
xref = {book1},
author = {Author, Auth},
title = {Title 1},
pages = {1--2},
editor = {Editor, Ed},
booktitle = {Book Title 1},
year = {2010}
}
@incollection{article2,
xref = {book2},
author = {Author, Auth},
title = {Title 2},
pages = {1--2},
editor = {Editor, Ed},
booktitle = {Book Title 2},
year = {2010}
}
@book{book1,
author = {Editor, Ed},
year = {2010},
title = {Book Title 1}
}
@book{book2,
author = {Editor, Ed},
year = {2010},
title = {Book Title 2}
}
\end{filecontents*}
\documentclass{scrreprt}
\usepackage[backend=bibtex8,sortlocale=de,style=authoryear,dashed=false,mincrossrefs=1]{biblatex}
\bibliography{Bib}
% Verknüpfung als Quellenangabe
\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:}%
\printnames{editor} (\bibstring{editor}) ()
\usebibmacro{chapter+pages}%
\usebibmacro{finentry}}
\begin{document}
\parencite{article1}\parencite{article2}
\printbibliography
\end{document}
[/code]
Mein Problem ist, daß ich nicht weiß, was ich in der Zeile
[quote]
\printnames{editor} (\bibstring{editor}) ()
[/quote]
in die Klammer schreiben muß, damit das angezeigt wird, was ich will. Oder gibt es einen einfacheren Weg? Mache ich schon vorher irgendeinen Fehler?