 
 module.exports =
 class BibtexProvider
+  ###
+  For a while, I intended to continue using XRegExp with this `wordRegex`:
+
+  ```
+  wordRegex: XRegExp('(?:^|\\p{WhiteSpace})@[\\p{Letter}\\p{Number}\._-]*')
+  ```
+
+  But I found that the regular expression given here seems to work well. If
+  there are problems with Unicode characters, I can switch back to the other.
+
+  This regular expression is also more lenient about what punctuation it will
+  accept. Whereas the alternate only allows the punctuation which might be
+  expected in a BibTeX key, this will accept all sorts. It does not accept a
+  second `@`, as this would become confusing.
+  ###
+  wordRegex: /(?:^|\s)@[^\s@]*/
   constructor: ->
     @buildWordList(atom.config.get "autocomplete-bibtex.bibtex")
     atom.config.observe "autocomplete-bibtex.bibtex", (bibtexFiles) =>

    catch error
      console.error error

  prettifyTitle: (title) ->
    if (colon = title.indexOf(':')) isnt -1 and title.words().length > 5
      title = title.substring(0, colon)

      blacklist: ''
      providerblacklist: '' # Give the user the option to configure this.
      requestHandler: (options) =>
        prefix = @prefixForCursor(options.cursor, options.buffer)

        return if not prefix.length or prefix[0] is not '@'

        normalizedPrefix = options.prefix.normalize().replace(/^@/, '')

        words = fuzzaldrin.filter @possibleWords, normalizedPrefix, { key: 'author' }

        suggestions = for word in words
          {
            word: @resultTemplate.replace('[key]', word.key)
            prefix: prefix
            label: word.label
            renderLabelAsHtml: false
            className: '',
