Journal Abbreviations

Went from Endnote to Zotero and is mainly satisfied.

My last (recognized) problem is the Journal Abbreviation field. When importing my Endnote file, they were shipped to blank. I may survive to give manually the journal abbrevition for each journal but not for >10.000 records. How can I apply the journal abbreviation from the journal name?

  • How exactly did you import from Endnote? What file format did you use (XML or RIS)?

    Note that Zotero can automatically abbreviate using the MEDLINE abbreviation rules when you cite in Word/LibreOffice.
  • I have noticed that which reduce the problem. However In the main window I would like to see the author, title and Journal abbreviation. The latter does not help me much when it is blank and the full journal name is to long :-(
  • Can you answer my first question?
    How exactly did you import from Endnote? What file format did you use (XML or RIS)?
  • I Think it was xml. I cannot rede it since i have used Zotero for two months now
  • The point to fix this would ideally have been at import time--something seems to be unusual about your exported XML from Endnote, as these should normally import fine.

    Now, it could be possible to apply the abbreviation rules to populate the Journal Abbr field using the Run Javascript window. @emilianoeheyns Do you happen to have some code written for generating journal abbreviations?
  • Thanks very much. Just to be sure (I am a stupid MD). The github file looks like a javascript. I tried to copy the code from github into the Developer -> Run Javascript window . And then I pressed Run, but then I got the error message "SyntaxError: unexpected token: keyword 'const'". What am I doing wrong?
  • It's typescript , which is a javascript superset -- the error you are seeing is because of the declare, but it also uses some other sources not available outside the plugin. The stripped variant would be:

    const JournalAbbrev = new class {
    async init() {
    await Zotero.Styles.init(); // otherwise Juris-M throws 'Styles not yet loaded'
    reset() {
    this.abbrevs = {
    default: {
    'container-title': {},
    'collection-title': {},
    'institution-entire': {},
    'institution-part': {},
    nickname: {},
    number: {},
    title: {},
    place: {},
    hereinafter: {},
    classic: {},
    'container-phrase': {},
    'title-phrase': {},
    get(item) {
    let abbrev, journal;
    abbrev = item.getField('journalAbbreviation', false, true);
    if (abbrev)
    return abbrev;
    if (!['conferencePaper', 'journalArticle', 'bill', 'case', 'statute'].includes(Zotero.ItemTypes.getName(item.itemTypeID)))
    return null;
    for (const field of ['publicationTitle', 'reporter', 'code']) {
    try {
    journal = item.getField(field, false, true);
    if (!journal)
    journal = journal.replace(/<\/?(sup|sub|i|b)>/g, '');
    if (!journal)
    catch (err) {
    if (!journal)
    return null;
    if (!this.abbrevs.default['container-title'][journal] && typeof Zotero.Cite.getAbbreviation === 'function') {
    Zotero.Cite.getAbbreviation(, this.abbrevs, 'default', 'container-title', journal);
    const abbr = this.abbrevs.default['container-title'][journal];
    if (abbr === journal)
    return null;
    return abbr || journal;

    but that is still just the code to retrieve the abbreviations, it doesn't find items without abrevs, nor saves them with them filled out.
Sign In or Register to comment.