BibLaTeX/Biber: Сократить список авторов, но не список редакторов книг

BibLaTeX/Biber: Сократить список авторов, но не список редакторов книг

Я установил 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 и переопределим его, чтобы он выводил больше символов editors после заголовка.

\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}

IUPAC. Compendium of Chemical Terminology («Золотая книга»). Редакторы AD McNaught и A. Wilkinson. Blackwell Scientific Publications, Оксфорд, 2-е издание, 1997. ISBN: 0-9678550-9-8. DOI: 10.1351/goldbook.

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