%% Copyright 2014-… Maïeul Rouquette
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
% 
% The Current Maintainer of this work is Maïeul Rouquette
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{biblatex-anonymous}[2018/09/02 v2.6.2 Manage anonymous works with biblatex]

%1. Just execute bibliographic option for some entries type
\ExecuteBibliographyOptions[%
  book,%
  bookinbook,% 
  bookinarticle,% 
  bookincollection,%
  bookinincollection,%
  mvbook,%
  inbook,%
  bookininbook,%
  bookininarticle,%
  inreference,%
  bookinreference,%
  bookininreference%
  ]{useeditor=false,usetranslator=false}
\ifdefined\etb@tgl@blx@userealeditor
 \ExecuteBibliographyOptions[%
  book,%
  bookinbook,% 
  bookinarticle,% 
  bookincollection,%
  bookinincollection,%
  mvbook,%
  inbook,%
  bookininbook,%
  bookininarticle,%
  inreference,%
  bookinreference,%
  bookininreference%
  ]{userealeditor=false}
\fi
\ifdefined\etb@tgl@blx@usebookineditor
 \ExecuteBibliographyOptions[%
  book,%
  bookinbook,% 
  bookinarticle,% 
  bookincollection,%
  bookinincollection,%
  mvbook,%
  inbook,%
  bookininbook,%
  bookininarticle,%
  inreference,%
  bookinreference,%
  bookininreference%
  ]{usebookineditor=false,useineditor=false,usemaineditor=false}
\fi
% 2. Sorting
\ifdef{\DeclareSortingTemplate}%
  {}%
  {\let\DeclareSortingTemplate\DeclareSortingScheme}%

\def\bbx@anonymous@sorting{
  \sort{
    \field{sortname}
    \field{author}
    \field{editor}
    \field{translator}
    \literal{0000}
  }
  \sort{
    \field{sorttitle}
    \field{title}
  }
  \sort{
    \field{sortyear}
    \field{year}
  }
  \sort{
    \field[padside=left,padwidth=4,padchar=0]{volume}
    \literal{0000}
  }
}
\DeclareSortingTemplate{anonymous}{
  \sort{
    \field{presort}
  }
  \sort[final]{
    \field{sortkey}
  }
 \bbx@anonymous@sorting
}

\ifundef{\bbx@manuscripts@sorting}{}%
  {
  \DeclareSortingTemplate{anonymous+manuscripts}{
    \sort{
      \field{presort}
    }
    \sort[final]{
      \field{sortkey}
    }   
    \bbx@anonymous@sorting
    \bbx@manuscripts@sorting
    }
  }

%%3.1 And so, prevent the spurious space in case of \cites command
%%% Hack suggested on https://github.com/plk/biblatex/issues/285#issuecomment-226918950
\AtEveryCitekey{\iffieldundef{prenote}{\blx@initunit}{}}

%4. Tools to prevent inhering author field (require biblatex > 3.4)
\ifdefined\DeclareDatafieldSet
 
  \DeclareDatafieldSet{author}{
    \member[field=author]
  }
  
\fi
%5. Language specific setting
\DefineBibliographyStrings{french}{%
	  byeditor = %
                {\ifuseeditor{dir\adddotspace}{\'ed\adddot}},
}
\endinput
