
Я установил maxnames
опцию BibLaTeX так 1
, чтобы отображалось только имя первого автора, за которым следуети другие.. Однако для книг я хотел бы определить выделенный maxnames
. Например, в настоящее время моя ссылка на Золотую книгу ИЮПАК выглядит так:
ИЮПАК: «Сборник химической терминологии («Золотая книга»)». А.Д. Макнот и другие., редакторы. Blackwell Scientific Publications, Оксфорд, 2-е издание, 1997. DOI: 10.1351/goldbook.
Я бы хотел также показать второго (и последнего) редактора А. Уилкинсона, вместо того, чтобы усекать список. До сих пор я не смог найти точный код, который использует эту maxnames
опцию. Поскольку я не вижу ее ни в , author
ни в editor
макросе, я предполагаю, что она используется в \printnames
функции, но я не понимаю код этой функции.
Есть ли возможность отделить количество авторов от количества редакторов?
Редактировать: Добавлен MWE
\documentclass{article}
\usepackage{hyperref}
\usepackage[%
backend = biber,%
style = trad-abbrv,%
citestyle = numeric-comp,%
sorting = nty,%
minnames = 1,%
maxnames = 1%
]{biblatex}
\bibliography{references}
\begin{filecontents}{references.bib}
@book{IUPAC1997,
address = {Oxford},
author = {IUPAC},
doi = {10.1351/goldbook},
edition = {2},
editor = {McNaught, A. D. and Wilkinson, A.},
isbn = {0-9678550-9-8},
publisher = {Blackwell Scientific Publications},
title = {{Compendium of Chemical Terminology (the “Gold Book”)}},
year = {1997}
}
\end{filecontents}
\begin{document}
This should be cited.\cite{IUPAC1997}
\printbibliography[heading = bibnumbered]
\end{document}
В моем локальном документе я использовал bibstyle trad-abbrv
и изменил его части (кавычки вместо курсива и т. д.), но ничего, что имело бы отношение к данной проблеме, поэтому я предпочитаю использовать более краткий MWE со trad-abbrv
стилем.
решение1
biblatex
's maxnames
и minnames
параметры применяются ко всем именам одинаково. Если вам нужен более тонкий контроль над различными именами в различных типах, вам нужно изменить соответствующие bibmacros. В этом случае есть несколько разных способов получить желаемый результат, но они будут иметь разную семантику.
Далее мы остановимся на maxnames=1,
одном bibmacro и переопределим его, чтобы он выводил больше символов editor
s после заголовка.
\documentclass{article}
\usepackage[
backend = biber,
style = trad-abbrv,
citestyle = numeric-comp,
sorting = nty,
minnames = 1,
maxnames = 1,
]{biblatex}
\usepackage{hyperref}
\renewbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
{\printnames[byeditor][-\value{listtotal}]{editor}%
\setunit{\addcomma\space}%
\usebibmacro{editorlstr}%
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
\begin{filecontents}{\jobname.bib}
@book{IUPAC1997,
address = {Oxford},
author = {IUPAC},
doi = {10.1351/goldbook},
edition = {2},
editor = {McNaught, A. D. and Wilkinson, A.},
isbn = {0-9678550-9-8},
publisher = {Blackwell Scientific Publications},
title = {Compendium of Chemical Terminology (the “Gold Book”)},
year = {1997},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
This should be cited. \cite{IUPAC1997}
\printbibliography[heading = bibnumbered]
\end{document}