   postfixedParticle: (particle) ->
     lastchar = particle[particle.length - 1]
     return particle + ' ' if lastchar == '.'
-    return particle if XRegExp.test(particle, @punctuationAtEnd) || lastchar == ' '
+    return particle if lastchar == ' ' || XRegExp.test(particle, @punctuationAtEnd)
     return particle + ' '
 
   ###

        when creator.lastName || creator.firstName
          Translator.debug('particle-parser:', creator)
          name = {family: creator.lastName || '', given: creator.firstName || ''}
          # Parse name particles
          # Replicate citeproc-js logic for what should be parsed so we don't
          # break current behavior.
          fallback = false

          if name.family # && name.given
            # Don't parse if last name is quoted
            if name.family.length > 1 && name.family[0] == '"' && name.family[name.family.length - 1] == '"'
              name.family = @enc_latex({value: new String(name.family.slice(1, -1))})

            else
              #Zotero.BetterBibTeX.CSL.parseParticles(name)
              CSL.parseParticles(name)
              CSL.parseParticles(name) # twice to work around https://bitbucket.org/fbennett/citeproc-js/issues/183/particle-parser-returning-non-dropping
              Translator.debug('particle-parser: parsed to', name)

              @juniorcomma ||= name.suffix
              @useprefix ||= name['non-dropping-particle']

              source = XRegExp.replace((creator.firstName || '') + (creator.lastName || ''), @nonLetters, '')
              parsed = XRegExp.replace((part || '' for part in [name.given, name.family, name.suffix, name['non-dropping-particle'], name['dropping-particle']]).join(''), @nonLetters, '')

              # Can we handle the abbot now?
              # fallback = (source.length != parsed.length)

              if name['non-dropping-particle']
                name.family = (@postfixedParticle(name['non-dropping-particle']) + name.family).trim()
                name.family = new String(name.family) if Translator.BetterBibTeX
                name.family = @enc_latex({value: name.family})
              else
                name.family = @enc_latex({value: name.family}).replace(/ and /g, ' {and} ')

              if name['dropping-particle']
                name.family = @postfixedParticle(@enc_latex({value: name['dropping-particle']}).replace(/ and /g, ' {and} ')) + name.family

          if name.given
            name.given = @enc_latex({value: name.given}).replace(/ and /g, ' {and} ')

          if name.suffix
            name = [name.family || '', name.suffix, name.given || '']
          else
            name = [name.family || '', name.given || '']
          # TODO: is this the best way to deal with commas?
          name = (part.replace(/,/g, '{,}') for part in name).join(', ')

          #if fallback
          #  name = (part.replace(/,!/g, ',') for part in [creator.firstName + ' ' + creator.lastName] when part).join(' ')
          #  name = @enc_latex({value: name}).replace(/ and /g, ' {and} ').replace(/,/g, '{,}')

        else
          continue


    if Array.isArray(f.value)
      return null if f.value.length == 0
      return (@enc_latex(@clone(f, word), raw) for word in f.value).join(f.sep || '')

    return f.value if raw

    value = LaTeX.text2latex(f.value) + (if f.value[f.value.length - 1] == ' ' then ' ' else '')
    value = new String("{#{value}}") if f.value instanceof String
    return value

