克莱泽尔 (Kreisel) 之前

克莱泽尔 (Kreisel) 之前

出于某种原因,在我的参考书目中,Georg Kreisel 被列在 Stephen Kleene 之前。我使用

\usepackage[backend=biber,style=authoryear,sorting=nty]{biblatex}
\renewbibmacro{in:}{}%To remove "In:" in front of journals etc, in bibliography.
\addbibresource{LIBCLASS.bib}.

是否有明显的方法来解决这个问题,或者我是否需要采用消除法?

以下是相关条目:

@book{Kleene1952, 
  author = {Kleene, S.~C.}, 
  title = {Mathematical Logic}, 
  date = {1952}, 
  OPTeditor = {editor}, 
  OPTeditora = {editora}, 
  OPTeditorb = {editorb}, 
  OPTeditorc = {editorc}, 
  OPTtranslator = {translator}, 
  OPTannotator = {annotator}, 
  OPTcommentator = {commentator}, 
  OPTintroduction = {introduction}, 
  OPTforeword = {foreword}, 
  OPTafterword = {afterword}, 
  OPTsubtitle = {subtitle}, 
  OPTtitleaddon = {titleaddon}, 
  OPTmaintitle = {maintitle}, 
  OPTmainsubtitle = {mainsubtitle}, 
  OPTmaintitleaddon = {maintitleaddon},
  OPTlanguage = {language}, 
  OPToriglanguage = {origlanguage}, 
  OPTvolume = {volume}, 
  OPTpart = {part}, 
  OPTedition = {edition}, 
  OPTvolumes = {volumes}, 
  OPTseries = {series}, 
  OPTnumber = {number}, 
  OPTnote = {note}, 
  publisher = {North-Holland Publishing Company}, 
  OPTlocation = {location}, 
  OPTisbn = {isbn}, 
  OPTchapter = {chapter}, 
  OPTpages = {pages}, 
  OPTpagetotal = {pagetotal}, 
  OPTaddendum = {addendum}, 
  OPTpubstate = {pubstate}, 
  OPTdoi = {doi}, 
  OPTeprint = {eprint}, 
  OPTeprintclass = {eprintclass}, 
  OPTeprinttype = {eprinttype},
  OPTurl = {url}, 
  OPTurldate = {urldate},
}
@Article{Kreisel1963a, 
  author = {Kreisel, G.}, 
  title = {Subformula Prop. and Reflection Principles}, 
  journal = {J. Symb. Log.}, 
  year = {1963}, 
  key = {key}, 
  volume = {28}, 
  OPTnumber = {4}, 
  pages = {305-306}, 
  OPTmonth = {month}, 
  note = {Abstract for 28th Annual Meeting of Assoc. for Symbolic Logic}, 
  OPTannote = {annote},
}
@Article{Kreisel1963b, 
  author = {Kreisel, G.}, 
  title = {Reflection Principle for {H}eyting's arithmetic}, 
  journal = {J. Symb. Log.}, 
  year = {1963}, 
  key = {key}, 
  volume = {28}, 
  OPTnumber = {4}, 
  pages = {306-307}, 
  OPTmonth = {month}, 
  note = {Abstract for 28th Annual Meeting of Assoc. for Symbolic Logic}, 
  OPTannote = {annote},
}
@Article{Kreisel1963c, 
  author = {Kreisel, G.}, 
  title = {Reflection Principles and Omega-inconsistency}, 
  journal = {J. Symb. Log.}, 
  year = {1963}, 
  key = {key}, 
  volume = {28}, 
  OPTnumber = {4}, 
  pages = {307-308}, 
  OPTmonth = {month}, 
  note = {Abstract for 28th Annual Meeting of Assoc. for Symbolic Logic}, 
  OPTannote = {annote},
}

答案1

字段key是 的别名sortkey,它会影响条目的排序。使用key = {key},所有作者条目现在都根据之前的Kriesel, G.值进行排序。keyKleene, S.~C.

补救措施是删除所有keysortkey字段并让排序通过您的sorting = nty(默认)选项自然进行。

在此处输入图片描述

\documentclass{article}

\begin{filecontents*}[overwrite]{\jobname.bib}
@book{Kleene1952, 
  author = {Kleene, S.~C.}, 
  title = {Mathematical Logic}, 
  year = {1952}, 
  publisher = {North-Holland Publishing Company}, 
}
@Article{Kreisel1963a, 
  author = {Kreisel, G.}, 
  title = {Subformula Prop. and Reflection Principles}, 
  journal = {J. Symb. Log.}, 
  year = {1963}, 
  volume = {28}, 
  OPTnumber = {4}, 
  pages = {305-306}, 
}
@Article{Kreisel1963b, 
  author = {Kreisel, G.}, 
  title = {Reflection Principle for {H}eyting's arithmetic}, 
  journal = {J. Symb. Log.}, 
  year = {1963}, 
  volume = {28}, 
  OPTnumber = {4}, 
  pages = {306-307}, 
}
@Article{Kreisel1963c, 
  author = {Kreisel, G.}, 
  title = {Reflection Principles and Omega-inconsistency}, 
  journal = {J. Symb. Log.}, 
  year = {1963}, 
  volume = {28}, 
  OPTnumber = {4}, 
  pages = {307-308}, 
}
\end{filecontents*}

\usepackage[
  backend = biber,
  style = authoryear,
  sorting = nty
]{biblatex}
\addbibresource{\jobname.bib}

\begin{document}

\nocite{*}
\printbibliography

\end{document}

相关内容