Алфавитный стиль Biblatex, как

Алфавитный стиль Biblatex, как

the алфавитныйстиль библатекса уже очень близок к моим требованиям, но учитывая следующую запись

@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>]

В случае, если имеется более одной записи с одним и тем же автором и одним и тем же годом, следует добавить одну букву сразу после года, как в[Смит, 2005а](алфавитныйуже делает это по умолчанию).

решение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}

введите описание изображения здесь

Пара замечаний:

  • Аргумент to \literalдолжен быть определен глобально. Обычно мы указываем один или несколько символов. Мы также можем использовать biblatexкоманды пробелов 's. В отличие от biblatexкоманд пунктуации 's (например \addcomma), они не ограничены цитатами и библиографиями.

  • Аналогичные результаты можно получить с помощью BibTeX, изменив стиль «автор-год» (например,Стили библиографии, такие как authordate2 в biblatex или natbib?), но добиться правильного выравнивания меток элементов в библиографии непросто.

Связанный контент