docs: def get_initial_surname_author_pattern(incl_numeration=False):
      """Match an author name of the form: 'initial(s) surname'
  
      Return a standard author, with a maximum of 6 initials, and a surname.
      The author pattern returned will match 'Initials Surname' formats only.
      The Initials MUST be uppercase, and MUST have at least a dot, hypen or apostrophe between them.
      @param incl_numeration: (boolean) Return an author pattern with optional numeration after authors.
      @return (string): The 'Initials Surname' author pattern."""
      # Possible inclusion of superscript numeration at the end of author names
      # Will match the empty string
      if incl_numeration:
          append_num_re = get_author_affiliation_numeration_str() + '?'
      else:
          append_num_re = ""
  
      return ur"""
      (?:
          (?:%(uppercase_re)s\w{2,20}\s+)?                     ## Optionally a first name before the initials
  
          (?<!Volume\s)                                        ## Initials (1-5) (cannot follow 'Volume\s')
          %(uppercase_re)s(?:\s*[.'’\s-]{1,3}\s*%(uppercase_re)s){0,4}[.\s-]{1,2}\s* ## separated by .,-,',etc.
  
          (?:%(uppercase_re)s\w{2,20}\s+)?                     ## Optionally a first name after the initials
  
          (?:
              (?!%(invalid_prefixes)s)                         ## Invalid prefixes to avoid
              \w{1,3}(?<!and)(?:(?:[’'`´-]\s?)|\s)             ## The surname prefix: 1, 2 or 3
          )?                                                   ## character prefixes before the surname (e.g. 'van','de')
  
          (?!%(invalid_surnames)s)                             ## Invalid surnames to avoid
          %(uppercase_re)s                                     ## The surname, which must start with an upper case character
          (?:[rR]\.|\w{1,20})                                  ## handle Jr.
          (?:[\-’'`´][\w’']{1,20})?                            ## single hyphen allowed jan-el or Figueroa-O'Farrill
          [’']?                                                ## Eventually an ending '
  
          %(numeration)s                                       ## A possible number to appear after an author name, used for author extraction
  
          (?:               # Look for editor notation after the author group...
              \s*,?\s*      # Eventually a coma/space
              %(ed)s
          )?
      )""" % {
          'uppercase_re': get_uppercase_re(),
          'invalid_prefixes': '|'.join(invalid_prefixes),
          'invalid_surnames': '|'.join(invalid_surnames),
          'ed': re_ed_notation,
          'numeration': append_num_re,
      }