排序出版物列表

排序出版物列表

我正在尝试按年份和月份对我的出版物列表进行排序,以区分同一年的出版物。我有点难以做到这一点。我使用了您的一个实现,我设法将正确的项目拆分成不同的子部分,调用我自己的 .bib 文件,但每个子部分的排序都是错误的。有什么帮助吗?

\documentclass{article}
\usepackage[utf8]{inputenc}
%\usepackage[T1]{fontenc}
%\usepackage[french]{babel}
\usepackage[latin1]{inputenc}
\usepackage{amsmath, amssymb}
\usepackage[backend=biber,sorting=ndymdt,style=phys]{biblatex}

\DeclareFieldFormat{labelnumberwidth}{}
\setlength{\biblabelsep}{0pt}

\DeclareSortingScheme{ndymdt}{
    \sort{
        \field{presort}
    }
    \sort[final]{
        \field{sortkey}
    }
    \sort{
        \name{sortname}
        \name{author}
        \name{editor}
        \name{translator}
        \field{sorttitle}
        \field{title}
    }
    \sort[direction=descending]{
        \field{sortyear}
        \field{year}
        \literal{9999}
    }
    \sort[direction=descending]{
        \field[padside=left,padwidth=2,padchar=0]{month}
        \literal{99}
    }
    \sort[direction=descending]{
        \field[padside=left,padwidth=2,padchar=0]{day}
        \literal{99}
    }
    \sort{
        \field{sorttitle}
    }
    \sort[direction=descending]{
        \field[padside=left,padwidth=4,padchar=0]{volume}
        \literal{9999}
    }
}

\addbibresource{mybiblio2016.bib}

\begin{document}
    \nocite{*}
    \printbibliography[type=article,title={Journal articles}]
    \printbibliography[type=inproceedings,title={Conference papers}]
    \printbibliography[type=book,title={Books chapters}]
    \printbibliography[type=unpublished,title={Presentations}]
    \printbibliography[type=misc,title={Invited talks}]
    \printbibliography[type=artwork,title={Posters}]
    \printbibliography[type=report,title={Technical notes}]
    \printbibliography[type=thesis,title={Thesis}]
    \printbibliography[type=patent,title={Patents}]
\end{document}

答案1

ndymdtMWE 中的排序首先按名称( sortnameauthoreditor)排序,然后按年、月、日排序,然后按标题排序。因此,您可能会得到

土豚 2010

香蕉 2011

酒吧 2009

2009 年

佐伊德伯格 2015

如果你想先按日期排序,然后按名称排序,最后按标题排序,以获得

佐伊德伯格 2015

香蕉 2011

土豚 2010

酒吧 2009

2009 年

你需要

\DeclareSortingScheme{ddatent}{
  \sort{
    \field{presort}
  }
  \sort[final]{
    \field{sortkey}
  }
  \sort[direction=descending]{
    \field[strside=left,strwidth=4]{sortyear}
    \field[strside=left,strwidth=4]{year}
    \literal{9999}
  }
  \sort[direction=descending]{
    \field[padside=left,padwidth=2,padchar=0]{month}
    \literal{00}
  }
  \sort[direction=descending]{
    \field[padside=left,padwidth=2,padchar=0]{day}
    \literal{00}
  }
  \sort[direction=descending]{
    \field[padside=left,padwidth=4,padchar=0]{volume}
    \literal{9999}
  }
  \sort{
    \name{sortname}
    \name{author}
    \name{editor}
    \name{translator}
    \field{sorttitle}
    \field{title}
  }
  \sort{
    \field{sorttitle}
    \field{title}
  }
}

与 一起使用sorting=ddatent

相关内容