我想切换日记条目的字段年份和页面,以便字段年份始终位于最后。
梅威瑟:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{test.bib}
@article{laumer2016,
title = {Optical Analysis of Polymer Powder Materials for {{Selective Laser Sintering}}},
author = {Laumer, T. and Stichel, T. and Nagulin, K. and Schmidt, M.},
date = {2016},
journaltitle = {Polymer Testing},
volume = {56},
pages = {207--213},
langid = {english}
}
\end{filecontents}
\usepackage[backend=biber, style=ext-numeric]{biblatex}
\DeclareFieldFormat{issuedate}{#1}
\renewcommand{\jourvoldelim}{\addcomma\space}
\renewcommand{\volnumdatedelim}{\addcomma\space}
\renewcommand{\volnumdelim}{\addcomma\space}
\addbibresource{test.bib}
\begin{document}
\autocite{laumer2016}
\printbibliography
\end{document}
答案1
有很多种可能的方法可以做到这一点,哪种方法最适合您取决于当您的.bib
条目包含附加字段时您到底期望什么(例如note
,,doi
...)。
下面的内容不太长,并给出了合理的输出
\documentclass{article}
\usepackage[backend=biber, style=ext-numeric]{biblatex}
\DeclareFieldFormat{issuedate}{#1}
\renewcommand{\jourvoldelim}{\addcomma\space}
\renewcommand{\volnumdelim}{\addcomma\space}
\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\jourvoldelim}%
\iffieldundef{series}
{}
{\setunit*{\jourserdelim}%
\printfield{series}%
\setunit{\servoldelim}}%
\usebibmacro{volume+number+eid}%
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\setunit{\bibpagespunct}%
\printfield{pages}%
\setunit{\addcomma\space}%
\usebibmacro{issue+date}%
\newunit}
\renewbibmacro*{note+pages}{%
\printfield{note}%
\newunit}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{sigfridsson}
\printbibliography
\end{document}
请注意,这特定于@article
条目类型。如果您要移动年份和页码,@inbook
则@incollection
需要采用不同的方法。