我有以下问题,用一个简单的例子来说明:如果我在文档中引用作者 T. Coven 的论文,结果就是“Coven (2004b)”。如果我引用这篇论文的附录,结果就是“Coven (2004a)”。现在附录出现的频率比原始论文低得多,因此我想反转顺序(在引用中交换“a”和“b”)。这可能吗?
我正在使用 Biblatex。这是上述示例的 bib 文件(名为:lib.bib):
@article{co:2004,
author = {T. Coven},
title = {Title A},
journaltitle = {The X Journal},
date = {2004}
}
@article{coapp:2004,
author = {T. Coven},
title = {Appendix to Title A},
journaltitle = {The X Journal},
date = {2004}
}
梅威瑟:
\documentclass[a4paper, 12pt, headsepline, headings=small,]{scrreprt}
\usepackage[backend=bibtex8,
style=authoryear-icomp,
dashed=false,
autocite=footnote,
maxcitenames=3,
mincitenames=1,
maxbibnames=100,
firstinits=true,
sorting=nty
]{biblatex}
\bibliography{lib}
\begin{document}
\cite{co:2004} and \cite{coapp:2004}
\end{document}
答案1
好吧,您必须通过提供某种sort...
字段来手动调整排序biblatex
,这样它才知道如何对条目进行排序。
您使用authoryear
样式,但nty
排序(“名称-标题-年份”排序),这似乎很奇怪。如果您想坚持下去,请使用字段sorttitle
并执行类似操作
@article{coapp:2004,
author = {T. Coven},
title = {Appendix to Title A},
journaltitle = {The X Journal},
date = {2004},
sorttitle = {Title A/Appendix},
}
平均能量损失
\documentclass[a4paper, 12pt, headsepline, headings=small,]{scrreprt}
\usepackage{filecontents}
\usepackage[backend=biber,
style=authoryear-icomp,
dashed=false,
autocite=footnote,
maxcitenames=3,
mincitenames=1,
maxbibnames=100,
firstinits=true,
sorting=nty,
]{biblatex}
\begin{filecontents*}{\jobname.bib}
@article{co:2004,
author = {T. Coven},
title = {Title A},
journaltitle = {The X Journal},
date = {2004},
}
@article{coapp:2004,
author = {T. Coven},
title = {Appendix to Title A},
journaltitle = {The X Journal},
date = {2004},
sorttitle = {Title A/Appendix},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{co:2004,coapp:2004}
\printbibliography
\end{document}
对于作者-年份样式,更自然的排序选择是sorting=nyt
或甚至sorting=nyvt
(分别按“名称-年份-标题”和“名称-年份-卷-标题”排序)。在这种情况下,你可以选择
@article{co:2004,
author = {T. Coven},
title = {Title A},
journaltitle = {The X Journal},
date = {2004},
sortyear = {2004-1},
}
@article{coapp:2004,
author = {T. Coven},
title = {Appendix to Title A},
journaltitle = {The X Journal},
date = {2004},
sortyear = {2004-2},
}
或者(再次感谢 lockstep)
@article{co:2004,
author = {T. Coven},
title = {Title A},
journaltitle = {The X Journal},
date = {2004},
}
@article{coapp:2004,
author = {T. Coven},
title = {Appendix to Title A},
journaltitle = {The X Journal},
date = {2004},
sortyear = {2004/1},
}
平均能量损失
\documentclass[a4paper, 12pt, headsepline, headings=small,]{scrreprt}
\usepackage{filecontents}
\usepackage[backend=biber,
style=authoryear-icomp,
dashed=false,
autocite=footnote,
maxcitenames=3,
mincitenames=1,
maxbibnames=100,
firstinits=true,
sorting=nyt,
]{biblatex}
\begin{filecontents*}{\jobname.bib}
@article{co:2004,
author = {T. Coven},
title = {Title A},
journaltitle = {The X Journal},
date = {2004-1},
}
@article{coapp:2004,
author = {T. Coven},
title = {Appendix to Title A},
journaltitle = {The X Journal},
date = {2004},
sortyear = {2004-2},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{co:2004,coapp:2004}
\printbibliography
\end{document}
两种方法均能
答案2
使用该sorttitle
字段。biblatex
有关详细信息,请参阅手册第 2.2.3 节。
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{co:2004,
author = {T. Coven},
title = {Title A},
journaltitle = {The X Journal},
date = {2004}
}
@article{coapp:2004,
author = {T. Coven},
title = {Appendix to Title A},
sorttitle = {Title A/Appendix},
journaltitle = {The X Journal},
date = {2004}
}
\end{filecontents}
\usepackage[backend=bibtex8,
style=authoryear-icomp,
dashed=false,
sorting=nty
]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\cite{co:2004} and \cite{coapp:2004}
\printbibliography
\end{document}