
Я использую пакет biblatex. Я включаю все bibitems в документ. Я хочу отсортировать элементы сначала по автору X, когда он первый автор, вторым и т. д., а затем по году. Есть ли какой-то простой способ сделать это?
Обновлять:
Вот пример кода
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{fruits,
title = {The apple and the banana},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Straw Berry and Annoying Orange},
year = {2015}
}
@book{fruits2,
title = {The pineapple and the banana},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Annoying Orange, Straw Berry and Tom Ato},
year = {2015}
}
@book{fruits3,
title = {Thank your for your attention},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Tom Ato, Annoying Orange and Peachy Pear},
year = {2014}
}
@book{fruits4,
title = {Advance title},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Cu Cumber, Annoying Orange and Peachy Pear},
year = {2014}
}
@book{fruits5,
title = {Fancy title},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Annoying Orange and Peachy Pear},
year = {2013}
}
\end{filecontents*}
\usepackage[utf8]{inputenc}
\usepackage[backend=bibtex,maxbibnames=99,sorting=ydnt]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
Hello world
\nocite{fruits,fruits2,fruits3,fruits4,fruits5}.
\printbibliography
\end{document}
Это приводит к:
Мне нужно сначала отсортировать по тому, когда Annoying Orange является первым автором, а затем отсортировать по годам, затем отсортировать по тому, когда Annoying Orange является вторым автором, а затем по годам и т. д.
таким образом, чтобы подчеркнуть значимость авторства конкретного автора.
решение1
Я не думаю, что полностью автоматическое решение для этого легко реализовать, но мастера regex-Biber могут меня удивить. Так что это решение потребует некоторой ручной работы.
Прежде всего, вам нужно правильно ввести список имен. То есть все имена должны быть разделены знаком and
. Не говорите author = {Cu Cumber, Annoying Orange and Peachy Pear},
, правильноauthor = {Cu Cumber and Annoying Orange and Peachy Pear},
. СмотритеКак правильно указать нескольких авторов в файле bibtex?.
Затем вам нужно будет добавить данные sortname = {Annoying Orange}
во все поля.
Наконец, приходит время трюка. Добавитьpresort = {<n>},
к записи, если "Annoying Orange" - этон-й автор.
@book{fruits,
title = {The apple and the banana},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Straw Berry and Annoying Orange},
year = {2015},
presort = {2},
sortname = {Annoying Orange},
}
@book{fruits2,
title = {The pineapple and the banana},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Annoying Orange and Straw Berry and Tom Ato},
year = {2015},
presort = {1},
sortname = {Annoying Orange},
}
@book{fruits3,
title = {Thank your for your attention},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Tom Ato and Annoying Orange and Peachy Pear},
year = {2014},
presort = {2},
sortname = {Annoying Orange},
}
@book{fruits4,
title = {Advance title},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Cu Cumber and Annoying Orange and Peachy Pear},
year = {2014},
presort = {2},
sortname = {Annoying Orange},
}
@book{fruits5,
title = {Fancy title},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Annoying Orange and Peachy Pear},
year = {2013},
presort = {1},
sortname = {Annoying Orange},
}
Затем все записи сортируются сначала по Annoying Orange
занимаемой должности, затем по году.
МВЭ
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{fruits,
title = {The apple and the banana},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Straw Berry and Annoying Orange},
year = {2015},
presort = {2},
sortname = {Annoying Orange},
}
@book{fruits2,
title = {The pineapple and the banana},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Annoying Orange and Straw Berry and Tom Ato},
year = {2015},
presort = {1},
sortname = {Annoying Orange},
}
@book{fruits3,
title = {Thank your for your attention},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Tom Ato and Annoying Orange and Peachy Pear},
year = {2014},
presort = {2},
sortname = {Annoying Orange},
}
@book{fruits4,
title = {Advance title},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Cu Cumber and Annoying Orange and Peachy Pear},
year = {2014},
presort = {2},
sortname = {Annoying Orange},
}
@book{fruits5,
title = {Fancy title},
publisher = {Tomatopress},
editor = {Straw Berry},
author = {Annoying Orange and Peachy Pear},
year = {2013},
presort = {1},
sortname = {Annoying Orange},
}
@book{fruits6,
title = {Very Advance title},
publisher = {Tomatopress},
author = {Cu Cumber and Peachy Pear and Annoying Orange},
year = {2015},
presort = {3},
sortname = {Annoying Orange},
}
\end{filecontents*}
\usepackage[utf8]{inputenc}
\usepackage[backend=bibtex,maxbibnames=99,sorting=ydnt]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}