docs: def get_surname_initial_author_pattern(incl_numeration=False):
      """Match an author name of the form: 'surname initial(s)'
  
      This is sometimes the represention of the first author found inside an author group.
      This author pattern is only used to find a maximum of ONE author inside an author group.
      Authors of this form MUST have either a comma after the initials, or an 'and',
      which denotes the presence of other authors in the author group.
      @param incl_numeration: (boolean) Return an author pattern with optional numeration after authors.
      @return (string): The 'Surname Initials' 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"""
      (?:
          (?:
              (?!%(invalid_prefixes)s)                             ## Invalid prefixes to avoid
              \w{1,3}(?<!and)(?<!in)(?:(?:[’'`´-]\s?)|\s)
          )?   ## The optional surname prefix:
                                                                   ## 1 or 2, 2-3 character prefixes before the surname (e.g. 'van','de')
  
          (?!%(invalid_surnames)s)                                 ## Invalid surnames to avoid
          %(uppercase_re)s\w{2,20}(?:[\-’'`´]\w{2,20})?            ## The surname, which must start with an upper case character (single hyphen allowed)
  
          \s*[,.\s]\s*                                             ## The space between the surname and its initials
  
          (?<!Volume\s)                                            ## Initials
          %(uppercase_re)s(?:\s*[.'’\s-]{1,2}\s*%(uppercase_re)s){0,4}\.{0,2}
  
                                                                   ## Either a comma or an 'and' MUST be present ... OR an end of line marker
                                                                   ## (maybe some space's between authors)
                                                                   ## Uses positive lookahead assertion
          %(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,
      }