这字母的biblatex 的风格已经非常接近我的要求,但考虑到以下条目
@BOOK{smith1,
author = {John Smith and Mike Someone},
title = {The book with a very very very very very long title},
year = {2005},
publisher = {Publisher},
location = {New York}
}
我想要一个这样的标签[史密斯,2005]而不是 [Smi+05]。换句话说:
[<first author's last name>, <year with 4 digits>]
如果有多个条目包含同一作者和同一年份,则应在年份后面添加一个字母,例如[Smith,2005a](字母的已经默认这样做了)。
答案1
使用biblatex 2+
和 ,biber 1+
您可以自定义字母标签\DeclareLabelalphaTemplate
。以下是示例。
\documentclass{article}
\usepackage[style=alphabetic,maxalphanames=1]{biblatex}
\addbibresource{biblatex-examples.bib}
\renewcommand*{\labelalphaothers}{}
\DeclareLabelalphaTemplate{
\labelelement{
\field[final]{shorthand}
\field{labelname}
\field{label}
}
\labelelement{
\literal{,\addhighpenspace}
}
\labelelement{
\field{year}
}
}
\begin{document}
\cite{knuth:ct:a,knuth:ct:b,knuth:ct:c,baez/article,baez/online}
\printbibliography
\end{document}
几点说明:
的参数
\literal
应该全局定义。通常我们指定一个或多个字符。我们还可以使用biblatex
的空格命令。与biblatex
的标点符号命令(例如\addcomma
)不同,它们不限于引文和参考书目。通过修改作者年份格式,可以用 BibTeX 获得类似的结果(例如像 biblatex 或 natbib 中的 authordate2 这样的书目样式?),但在参考书目中获得正确的项目标签对齐并不容易。