Journals with points in their title and the strip periods function

There are journals wich have points in their title, e.g. 027.7 Zeitschrift Für Bibliothekskultur / Journal for Library Culture (the 027.7 is from DDC). An article of this journal is then rendered in Vancouver style without any points in the journal title, which is wrong, e.g.

Mittermaier B. Transformationsverträge – Stairway to Heaven oder Highway to Hell? 0277 Zeitschrift für Bibliothekskultur / Journal for Library Culture [Internet]. 2021 Nov 8; Available from:

It seems that Vancouver uses the Strip Periods function in the journal title (container-title). Maybe this function is a little too aggressively removes points, because it does this also within words. Would it be enough to strip the points only at the end of each word within the journal title? This way the function can still do things like “N Engl J Med” but it would leave the example above untouched.

@larsgw @cormacrelf @John_MacFarlane

I could see either limiting strip periods to end of words or not applying it to numeric words in a title. Does one of those make more sense to you?

1 Like

I queried some journals in Wikidata with periods inside words (excluding ellipses), and found some common cases so far:

  • URLs: “”, ""1 or Not URL but similar: “eco.mont”
    These speak for limiting to end-of-word instead of making numeric words the exception.
  • Abbreviations: “U.S.”, “S.S.”, “Washington, D.C.”
    These would generally probably work without periods. These would need to be identified as something like /([a-z]\.){2,}/i2 (but adapted for non-latin letters) to not also take numeric words.
  • Non-whitespace word boundaries: “St.-Pétersbourg” and “S.-Peterburgskago”
    At least hyphens would have to count as end-of-word. citeproc-js might already have some definitions for word boundaries?
  • Multi-part titles
    These would presumably be covered by CSL 1.1 titles.

1 This one seems to be written without “.com” on their site, but “” and “eco.mont” are definitely intended like that
2 i.e. [one letter followed by a period] repeated two or more times


Another reason to change how this function currently works is the name itself. A strip function in Python or JavaScript is deleting any spaces at the beginning or the end of an string, but it will leave any spaces inbetween intact.