# Adjust BibLaTeX style - Number of displayed editors

The attached MWE gives the following result

Author, A., B. Author, C. Author, et al. (1992). “Title”. In: Booktitle, ed. by A. Editor, B. Editor, and C. Editor. Vol. 59. Springer, New York.

What I'd like to have is

Author, A., B. Author, C. Author, et al. (1992). “Title”. In: Booktitle, ed. by A. Editor, et al. Vol. 59. Springer, New York.

i.e. display only the first editor followed by et al. while keeping the first three authors before et al.

MWE:

\documentclass{article}

\usepackage[
backend=biber,      % use biber backend or bibtex
bibencoding=utf8,   % use auto file encode
style=authoryear,   % use alphabetic (or numeric) bib style
natbib=true,            % allow natbib commands
hyperref=true,      % activate hyperref support
backref=false,      % activate backrefs
isbn=true,              % don't show isbn tags
url=false,              % don't show url tags
doi=true,                   % show doi tags
urldate=long,           % display type for dates
maxnames=2,             % max number of names in text ??
minnames=1,             % min number of names in text ??
maxbibnames=4,      % max number of names in bibliography
minbibnames=3,      % number of names in bibliography (bevor et al)
maxcitenames=2,     % max number of names in text ??
mincitenames=1,     % max number of names in text ??
dashed=false,           % do not replace same author with dash
useprefix=false,    % ?
firstinits=true,    % abbreviate first names
uniquename=init,    % otherwise option conflict with firstinits=true
]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@incollection{test,
year={1992},
booktitle={Booktitle},
volume={59},
editor={Editor, A. and Editor, B. and Editor, C.},
title="{Title}",
publisher={Springer, New York},
author={Author, A. and Author, B. and Author, C. and Author, D. and Author, E.},
}
\end{filecontents}

\newbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
\printnames[byeditor]{editor}%
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}

\nocite{*}

\begin{document}

\printbibliography

\end{document}

• For your first request you could either patch the bibdriver with xpatch to have a \setunit{\addcomma\space} instead of the normal \newunit\newblock at the appropriate place, or try some tricks with inserting the \setunit command right into the byeditor macro. – moewe Jan 14 '16 at 18:37
• @moewe Thanks a lot for your comment! With a bit trial and error I found the right place to insert the \setunit{\addcomma\space}. So only the problem with the number of editors remains. – user36296 Jan 14 '16 at 19:45
• Great, I think if you move the \setunit{\addcomma\space} bit further up, you can get even better results: \renewbibmacro*{byeditor+others}{% \setunit{\addcomma\space}% \ifnameundef{editor} {} {\usebibmacro{byeditor+othersstrg}% \setunit{\addspace}% \printnames[byeditor]{editor}% \clearname{editor}% \newunit}% \usebibmacro{byeditorx}% \usebibmacro{bytranslator+others}} (line breaks not to scale) – moewe Jan 15 '16 at 7:11
• One solution (not the nicest, I think) is to use the second optional argument to \printnames to specify the number of names printed, since we already modify byeditor+others we only need \renewbibmacro*{byeditor+others}{% \setunit{\addcomma\space}% \ifnameundef{editor} {} {\usebibmacro{byeditor+othersstrg}% \setunit{\addspace}% \printnames[byeditor][1-1]{editor}% \clearname{editor}% \newunit}% \usebibmacro{byeditorx}% \usebibmacro{bytranslator+others}} (line breaks, again, not to scale). – moewe Jan 15 '16 at 8:09
• The drawback of that solution is that editora, translators etc. are treated differently: they still get all their names displayed, a change for those would require some more code. – moewe Jan 15 '16 at 8:11

You can use the second optional argument of \printnames to specify the number of names printed, the syntax is [<start>-<stop>], so in your case

\printnames[byeditor][1-1]{editor}


The relevant occurrence is in byeditor+others

\renewbibmacro*{byeditor+others}{%