目前,样式为 的@incollection
条目会将页码放在卷之前。当s 带有 a和单独的s 时,这是有意义的,但对于单个名称下的 s 则不太有意义。我该如何改变这种情况?windycity
biblatex
@mvcollection
maintitle
booktitle
mvcollection
梅威瑟:
\documentclass{memoir}
\usepackage[style=windycity]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{biblio.bib}
@incollection{entry,
title = {Chapter},
author = {Author},
location = {Place},
publisher = {Publisher},
date = {2020},
volume = {1},
pages = {100--110},
booktitle = {Book},
editora = {Editor}
}
\end{filecontents}
\bibliography{biblio}
\begin{document}
\nocite{entry}
\printbibliography
\end{document}
生成:
作者。“章节。”在书中,由编辑编辑,100–110。第 1 卷。地点:出版商,2020 年。
但我希望它产生:
作者。“章节”。收录于书中,由编辑编辑。第 1 卷,100-110。出版地:出版商,2020 年。
如何改变这一现状?
答案1
对复杂的风格进行改变windycity
可能会有风险,因为它要紧密遵循芝加哥风格。
我已尽力避免副作用,但你还是应该小心。
volumes+bookseries+etc
我对和宏做了三处更改,以便在没有字段时volume+number+etc
交换pages
和字段。volumes
bookbooktitle
平均能量损失
\documentclass{memoir}
\usepackage[style=windycity]{biblatex}
\begin{filecontents}[overwrite]{biblio.bib}
@incollection{entry,
title = {Chapter},
author = {Author},
location = {Place},
publisher = {Publisher},
date = {2020},
volume = {1},
pages = {100--110},
booktitle = {Book},
editora = {Editor}
}
@InCollection{doe2018,
author = {Doe, Jane},
title = {A Poem},
translator = {Smith, John},
pages = {56-57},
crossref = {jones2018}
}
@InBook{jones2018,
editor = {Jones, David},
title = {A Volume of Poems},
volume = {2},
year = {2018},
crossref = {blow2016}
}
@Collection{blow2016,
editor = {White, Amy},
title = {A Collection of Poems},
volumes = {4},
address = {Chicago},
publisher = ucp,
year = {2018}
}
\end{filecontents}
\addbibresource{biblio.bib}
\renewbibmacro*{volumes+bookseries+etc}{%
\usebibmacro{volumes}%
\usebibmacro{bookseries}%
\iffieldundef{bookbooktitle}% <-- edit
{}% <-- edit
{\usebibmacro{pages}}% <-- edit
\usebibmacro{volume+number+etc}%
\usebibmacro{book:number}%
\usebibmacro{part}}%
\renewbibmacro*{volume+number+etc}{%
\iffieldundef{\xvolume volume}
{}
{\iffieldundef{bookbooktitle}% <-- edit
{}% <-- edit
{\usebibmacro{swapvol+pages}}% <-- edit
\iffieldundef{series}
{\newunit}%
{\setunit{\addcomma\space}}%
\iffieldnum{\xvolume volume}
{\printfield[volume]{\xvolume volume}%
\usebibmacro{volume:number}}%
{\bibstring{volumes}\space
\printfield[noformat]{\xvolume volume}}%
\clearfield{\xvolume volume}%
\usebibmacro{part}%
\iffieldundef{bookbooktitle}% <-- edit
{\usebibmacro{pages}}% <-- edit
{}% <-- edit
\iftoggle{collection}
{\iftoggle{swapvol}
{\addcomma\space}%
{\space\bibstring{of}\space}}%
{\iffieldundef{maintitle}
{}
{\space\bibstring{of}\space}}}}
\begin{document}
\nocite{entry,doe2018}
\printbibliography
\end{document}