我有一个排序投诉,最初以带连字符的名字开头,但我制作了一个稍微更糟糕的最小示例:没有连字符,也没有意义(最终,我需要包含名称“Galaz-García”而不会出现错误,但这个问题似乎更为根本)。这里看似无害的 .bib 文件—
@article{galazgarciasearle2011,
title={Cohomogeneity one {Alexandrov} spaces},
author={Fernando Galaz-Garc{\'i}a and Catherine Searle},
journal={Transform. Groups},
volume={16},
number={1},
pages={91--107},
year={2011}
}
@electronic{galazgarciazarei2015,
title={Cohomogeneity one topological manifolds revisited},
author={Galaz-Garc{\'i}a, Fernando and Zarei, Masoumeh},
year={2015},
howpublished = "\url{http://arxiv.org/abs/1503.09068}",
eprint = {1503.09068},
archivePrefix = {arXiv}
}
@article{goertschesmare2014,
author = "Oliver Goertsches and Mare, Augustin-Liviu",
journal = "Topology Appl.",
pages = "36--52",
publisher = "Elsevier",
title = "{Equivariant cohomology of cohomogeneity one actions}",
volume = "167",
year = "2014"
}
@article{goertschesmare2017,
title={Equivariant cohomology of cohomogeneity-one actions: The topological case},
author={Goertsches, Oliver and Mare, Augustin-Liviu},
journal={Topology Appl.},
year={2017}
}
@article{grovewilkingziller2008,
title={Positively curved cohomogeneity one manifolds and 3-{Sasakian} geometry},
author={K. Grove and B. Wilking and W. Ziller},
journal={J.~Differential Geom.},
volume={78},
pages={33--111},
year={2008}
}
—以及以下 LaTeX—
%% !BIB TS-program = biber
\documentclass{article}
\usepackage[backend=biber,style=ieee-alphabetic]{biblatex}
\addbibresource{disasterbib.bib}
\begin{document}
\cite{galazgarciasearle2011}
\cite{galazgarciazarei2015}
\cite{goertschesmare2014}
\cite{goertschesmare2017}
\cite{grovewilkingziller2008}
\printbibliography
\end{document}
— 使用 biber 编译时产生以下输出,这与我所熟悉的任何排序原理都不对应:
发生了什么事?一般来说我应该修复什么才能获得正确的订单?
答案1
这不是一个完美的答案,因为标签的字母顺序不能保证与参考书目的顺序相同。但可能足够接近。
我建议使用sorting=nyt
参考文献按年份排序,然后再按标题排序。然后使用如下标签模板:
\DeclareLabelalphaTemplate{
\labelelement{
\field[varwidth]{labelname}
}
\labelelement{
\field[strwidth=2,strside=right]{year}
}
}
完整 MWE
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{galazgarciasearle2011,
title={Cohomogeneity one {Alexandrov} spaces},
author={Fernando Galaz-Garc{\'i}a and Catherine Searle},
journal={Transform. Groups},
volume={16},
number={1},
pages={91--107},
year={2011}
}
@electronic{galazgarciazarei2015,
title={Cohomogeneity one topological manifolds revisited},
author={Galaz-Garc{\'i}a, Fernando and Zarei, Masoumeh},
year={2015},
howpublished = "\url{http://arxiv.org/abs/1503.09068}",
eprint = {1503.09068},
archivePrefix = {arXiv}
}
@article{goertschesmare2014,
author = "Oliver Goertsches and Mare, Augustin-Liviu",
journal = "Topology Appl.",
pages = "36--52",
publisher = "Elsevier",
title = "{Equivariant cohomology of cohomogeneity one actions}",
volume = "167",
year = "2014"
}
@article{goertschesmare2017,
title={Equivariant cohomology of cohomogeneity-one actions: The topological case},
author={Goertsches, Oliver and Mare, Augustin-Liviu},
journal={Topology Appl.},
year={2017}
}
@article{grovewilkingziller2008,
title={Positively curved cohomogeneity one manifolds and 3-{Sasakian} geometry},
author={K. Grove and B. Wilking and W. Ziller},
journal={J.~Differential Geom.},
volume={78},
pages={33--111},
year={2008}
}
\end{filecontents}
\usepackage[style=ieee-alphabetic,sorting=nyt]{biblatex}
\addbibresource{\jobname.bib}
\DeclareLabelalphaTemplate{
\labelelement{
\field[varwidth]{labelname}
}
\labelelement{
\field[strwidth=2,strside=right]{year}
}
}
\begin{document}
\cite{galazgarciasearle2011}
\cite{galazgarciazarei2015}
\cite{goertschesmare2014}
\cite{goertschesmare2017}
\cite{grovewilkingziller2008}
\printbibliography
\end{document}