我目前正在撰写我的学士论文,并且必须使用以下风格@incollection
:
Mulkay, MJ,1977:《英国科学社会学》。第 224-257 页,收录于:RK Merton 和 J. Gaston (Hrsg.),《欧洲科学社会学》。Carbondale:南伊利诺伊大学出版社。
目前,它看起来有点像这样:
Mulkay, MJ,1977:《英国科学社会学》。收录于:《欧洲科学社会学》。RK Merton & J. Gaston (Hrsg.)。Carbondale:南伊利诺伊大学出版社,第 224-257 页。
我怎样才能改变它的顺序?
举一个简单的例子:
\documentclass{article}
\usepackage{lmodern} %
\usepackage[ngerman]{babel} %
\usepackage[utf8]{inputenc} %
\usepackage[T1]{fontenc} %
\usepackage[backend=bibtex, style=authoryear-comp, dashed=false,
sorting=nyt, hyperref=true, firstinits=true, indexing=cite]{biblatex}
% So that editors in incollections stand after the names
\renewbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
{\printnames[byeditor]{editor}%
\setunit{\addspace}%
\usebibmacro{byeditor+othersstrg}%
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
\usepackage{xpatch}
\xpatchbibmacro{byeditor+othersstrg}{\printtext}{\printtext[parens]}{}
{}
\begin{filecontents*}{lit.bib}
@incollection{maazschuler,
title={Sch{\"u}ler als Informanten? Die Qualit{\"a}t von
Sch{\"u}lerangaben zum sozialen Hintergrund},
author={Maaz, Kai and Kreuter, Frauke and Watermann, Rainer},
editor={Baumert, J{\"u}rgen and Stanat, Petra and Watermann,
Rainer},
booktitle={Herkunftsbedingte Disparit{\"a}ten im Bildungswesen:
Differenzielle Bildungsprozesse und Probleme der
Verteilungsgerechtigkeit},
pages={31--59},
year={2006},
publisher={Springer VS},
address={Wiesbaden}
}
\end{filecontents*}
\addbibresource{lit.bib}
\begin{document}
\cite{maazschuler}
\printbibliography
\end{document}
输出如下:
Maaz, K., Kreuter, F. & Watermann, R. (2006). Schüler als Informanten?
Die Qualität von Schülerangaben zum sozialen Hintergrund. In:
Herkunftsbedingte Disparitäten im Bildungswesen: Differenzielle
Bildungsprozesse und Probleme der Verteilungsgerechtigkeit. J.
Baumert, P. Stanat & R. Watermann (Hrsg.). Wiesbaden: Springer VS, S.
31–59.
在此先感谢您的帮助!
答案1
稍微改变一下书中事物的顺序\DeclareBibliographyDriver
,将书页移到书名之前
\documentclass{article}
\usepackage{lmodern} %
\usepackage[ngerman]{babel} %
\usepackage[utf8]{inputenc} %
\usepackage[T1]{fontenc} %
\usepackage[backend=bibtex, style=authoryear-comp, dashed=false,
sorting=nyt, hyperref=true, firstinits=true, indexing=cite]{biblatex}
% So that editors in incollections stand after the names
\renewbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
{\printnames[byeditor]{editor}%
\setunit{\addspace}%
\usebibmacro{byeditor+othersstrg}%
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
\usepackage{xpatch}
\xpatchbibmacro{byeditor+othersstrg}{\printtext}{\printtext[parens]}{}{}
\DeclareBibliographyDriver{incollection}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock % <- change
\usebibmacro{chapter+pages}% <- change
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\begin{filecontents*}{lit.bib}
@incollection{maaz2006schuler,
title={Sch{\"u}ler als Informanten? Die Qualit{\"a}t von
Sch{\"u}lerangaben zum sozialen Hintergrund},
author={Maaz, Kai and Kreuter, Frauke and Watermann, Rainer},
editor={Baumert, J{\"u}rgen and Stanat, Petra and Watermann,
Rainer},
booktitle={Herkunftsbedingte Disparit{\"a}ten im Bildungswesen:
Differenzielle Bildungsprozesse und Probleme der
Verteilungsgerechtigkeit},
pages={31--59},
year={2006},
publisher={Springer VS},
address={Wiesbaden}
}
\end{filecontents*}
\addbibresource{lit.bib}
\begin{document}
\cite{maaz2006schuler}
\printbibliography
\end{document}
答案2
非常感谢您的回复,我已经可以修复很多问题了。我在代码中更改了两处小地方,因此编辑器位于“in:”之后和书名之前。
\renewcommand*{\bibpagespunct}{\ifentrytype{incollection}{\addperiod}{\addcomma}\space} % suggested by moewe: now there is a period after the title of the work/chapter and before the Pages
% So that editors in incollections stand after the names
\renewbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
{\printnames[byeditor]{editor}%
\setunit{\addspace}%
\usebibmacro{byeditor+othersstrg}%
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
\usepackage{xpatch}
\xpatchbibmacro{byeditor+othersstrg}{\printtext}{\printtext}{}{} % removed [parens] as it was printed out in parentheses - now it is (eds.)
\DeclareBibliographyDriver{incollection}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock % <-
\usebibmacro{chapter+pages}% <-
\setunit{\space}\newblock % as suggested by moewe to write a comma instead of a full stop after the pages
\usebibmacro{in:}%
\usebibmacro{byeditor+others}% <- Jonathan, I changed this: I put the editors here to have them before the booktitle
\setunit{\addcomma\space}\newblock % again, following a suggestion by moewe, I made latex do a comma instead of a full stop between the editors and the booktitle
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
现在看起来像这样:
Maaz, K., Kreuter, F. & Watermann, R. (2006). Schüler als Informanten? Die Qualität
von Schülerangaben zum sozialen Hintergrund. S. 31–59 in: J. Baumert, P. Stanat &
R. Watermann (Hrsg.), Herkunftsbedingte Disparitäten im Bildungswesen: Differenzielle
Bildungsprozesse und Probleme der Verteilungsgerechtigkeit. Wiesbaden: Springer VS.
感谢您的帮助!