"für" in journal name

This is a super minor quibble :-)

I have "Zeitschrift für Naturforschung A" in the `Publication` field field of an entry. When Better BibTeX exports it to a `.bib` file, it's converted to "Z. F\"ur Naturforschung A"---Note the capital "F".

Is it easy to prevent this capitalization without preventing the abbreviation? (I don't think it's normal to capitalize "für" in a journal name, any more than "of" is capitalized in "Journal of XXX".)
  • BBT uses the Zotero journal abbreviator, so that's where it comes from -- it should turn up the same when Zotero uses it, but I haven't yet found a style that actually outputs abbreviated journal titles to check.

    If it's not for too many items, you can set the Zotero Journal Abbr field, that will always take precedence.
  • Thank you (always)! Where can one take a look at the "abbreviator"?

    > I haven't yet found a style that actually outputs abbreviated journal

    Can you elaborate on that? I did obtain the abbreviation "Z." in .bib from "Zeitschrift" in the Zotero database. The "Journal Abbr" field of this entry is empty. What "style" am I using?

    For that matter, I've almost never obtained abbreviations from other, more familiar to me, journals. I've been wondering why.
  • edited January 26, 2023
    The abbreviator is built into Zotero, it's not something you can look at as such. I know there are citation styles that use abbreviated journal titles, and I know that Zotero can sometimes abbreviate full titles when no abbreviated title has been entered by the user. I just don't know what set of circumstances employs it, so I cannot test/demonstrate it.

    In the context of bibtex exports, you are not using a (CSL) style at all.
  • > The abbreviator is built into Zotero, it's not something you can look at as such.

    Oh. I thought it took a form of a "table", which you can look at. Do you mean it's an "algorithm" expressed in a source code?

    If so, the algorithm is seriously broken. It converts "Zeitschrift" to "Z." but it doesn't convert "Journal" to "J." . . .

    That would solve the mystery I've been long wondering about. I had never seen a journal name abbreviated until I stumbled upon this instance. But, I assumed that the names weren't in the table and all I had to do was to contribute to the table to fix the problem . . .

    Do you know where to find a documentation or discussion of the abbreviator?

    > If it's not for too many items,

    It's for too many items. If the abbreviator can't be fixed any time soon, I would eventually need to do something about it. It would be nice if the user could supply a table of conversion.
  • Oh. I thought it took a form of a "table", which you can look at. Do you mean it's an "algorithm" expressed in a source code?
    It's both. There's a lookup table, and if the journal is not found there, it runs an algorithm.

    Yours isn't in the lookup table though, all "Naturfor"-containing journals are

    "zeitschrift fur naturforschung section c biosciences": "Z. Naturforsch. [C]",
    "zeitschrift fur naturforschung section c journal of biosciences": "Z. Naturforsch. [C]",
    "zeitschrift fur naturforschung teil b anorganische chemie organische chemie biochemie biophysik biologie": "Z. Naturforsch. [B]",
    "zeitschrift fur naturforschung teil b chemie biochemie biophysik biologie verwandte gebiete": "Z. Naturforsch. B",
    Do you know where to find a documentation or discussion of the abbreviator?
    I don't, sorry. One of the Zotero devs will have to chime in on this one.
    It would be nice if the user could supply a table of conversion.
    If this table isn't big, a postscript could do this as a workaround.
  • Ha, finally: apparently the abbreviator is only used in the wordprocessor plugins, not a quick bib you generate in Zotero itself, so:
    • add the entry with Zeitschrift für Naturforschung A in a blank word document
    • set style to AMA 11
    • create bibliography
    and you get 1. Author. Some title. Z Für Naturforschung A. Published online 2014.

    If that gets fixed in Zotero, BBT will automatically pick that up.
  • > apparently the abbreviator is only used in the wordprocessor plugins

    Oh my god. Thank you for the information!

    > If that gets fixed in Zotero

    Okay, I'll submit a request if nobody has (and if there is a channel to submit a report or request).

    Now, I'll work on the following:

    > a postscript could do this as a workaround

    Thank you very much for your advice. This is really necessary. I can't keep producing reference lists that show unabbreviated journal names.

    But then, I guess I would have to manually (or by writing a script) sync the .bib file with Overleaf through its git interface. . . . (I'm meaning to migrate to Overleaf but this bib issue is the biggest nuisance. But as I said earlier, I thought the problem was merely the lack of my familiar journals in the conversion table!)

    When I was using my hand-edited .bib file, I used `@string`s for journal names. When I migrated to Zotero, I expanded those `@string`s to unabbreviated journal names, *because I read the advertisement that Zotero automatically abbreviates journal names!* It's too late now.

    Also, if you use the Zotero browser plugin, the full, unabbreviated journal name is pulled in to the Publication field.

    As an aside, I'm really surprised by all this. Does this mean that only a tiny fraction of Zotero users use LaTeX?
  • edited January 29, 2023

    Oh my god. Thank you for the information!

    I only learned this recently myself, in this discussion on this forum

    Okay, I'll submit a request if nobody has (and if there is a channel to submit a report or request).

    You can submit requests through this forum

    But then, I guess I would have to manually (or by writing a script) sync the .bib file with Overleaf through its git interface. . . .

    https://retorque.re/zotero-better-bibtex/exporting/auto/#git-support

    The standard Zotero-Overleaf integration uses the Zotero bibtex exporter. AFAIK, that only uses explicit journal abbreviations, not generated abbreviation. They would simply be empty through that route.

    As an aside, I'm really surprised by all this. Does this mean that only a tiny fraction of Zotero users use LaTeX?

    I really can't say. There's enough users to make working on BBT feel like a valued effort.

  • I could also add a feature to BBT to load a list of abbreviations from a csv file. If that's interesting for you, please open an issue on github.
  • > I could also add a feature to BBT to load a list of abbreviations from a csv file.

    That would, of course, be a great help! . . . but it'd be a classic re-inventing-the-wheel situation for you. . . .

    Because the "abbreviator" code is already there, (I can imagine that) it'd be a matter of applying it to the bibtex exporter (including for the Zotero-Overleaf integration).

    [By the way, how did you produce the quoting symbol when you quoted my words? This forum doesn't seem to adopt the markdown markups.]
  • [By the way, how did you produce the quoting symbol when you quoted my words? This forum doesn't seem to adopt the markdown markups.]
    Use HTML element instead <blockquote> </blockquote>
  • Use HTML element instead
    Thanks! So, a subset of HTML tags work here. Nice.

    [By the way, are you the Pascal I know?]
  • This is the default list of abbreviations, and if I understand the source code correctly, you can edit this file and place it in <zotero data dir>/abbreviations.json, and Zotero will pick it up during startup.

  • This is the default list of abbreviations
    Thank you! I've just tested the first journal name in the list by creating a fake entry in Zotero and looking at what Better BibTeX generates. Sure enough the journal name "academia peruana de cirugia" is converted to "Acad. Peru. Cir." in the generated .bib file, just as specified in the list.

    I've also found that none of the journals I regularly use is found in the list!

    you can edit this file and place it in /abbreviations.json, . . .
    Thanks for the information! After locally testing my edits, however, I guess I should also contribute them to the original by a pull request? I ask this because I've never contributed to an open source project in this way and I barely know how to use git.
  • You'd have to ask here on the forums, or just submit a change and see whether it's picked up. Usually you don't have to know git, but the file is apparently too large for the Github web editor.
  • If you give me your list in any form (CSV or JSON) I can make the pull request on your behalf.
  • you can edit this file and place it in <zotero data dir>/abbreviations.json,
    I've edited abbreviations.json and I now want to test it but I haven't been able to locate the directory you mention. I searched ~/Library/Application Support/Zotero/, ~/Library/Caches/Zotero/, and /Applications/Zotero.app/ but haven't found any abbreviations.json. (I'm on macOS 13.2 .)
  • edited January 30, 2023
    It's not there, the default list is internal to Zotero. You can place your own list there and it will replace the default list (not just amend it, so keep the existing entries). You can find your data dir under prefs -> advanced -> files & folders -> show data directory.
  • You can find your data dir under prefs -> advanced -> files & folders -> show data directory.
    Aha! It turns out it's ~/Zotero/.

    I'm now successful in abbreviating the journal names, except a colon in a journal name seems to be preventing Zotero from abbreviating that journal name, if I'm not missing something. . . .

    "Journal of Geophysical Research: Oceans" is the official name of the journal and the Zotero browser plugin records that exact name in the Publication field.

    Do you know the "grammar" of this table? Does a colon have to be escaped? (I could look at the source code of the program.)

    The below is a simplified version of my abbreviations.json.


    {
    "info": {
    "URI": "http://www.zotero.org/abbreviations/default.json",
    "name": "MEDLINE + Title Word Abbreviations"
    },
    "default": {
    "container-title": {
    "journal of geophysical research: oceans": "J. Geophys. Res. Oceans",
    "journal of physical oceanography": "J. Phys. Oceanogr.",
    "zeitschrift für naturforschung a": "Z. Naturforsch. A"
    },
    "container-title-word": {
    }
    }
    }

  • From what I can tell, it should work if you just remove the colon in the string, so "journal of geophysical research oceans": "J. Geophys. Res. Oceans",.
  • remove the colon
    You are right!

    I've found another piece of "grammar": Remove the word "and". So,

    Doesn't work . . ."dynamics of atmosphere and oceans": "Dyn. Atmos. Oceans",
    Works . . . "dynamics atmosphere oceans": "Dyn. Atmos. Oceans",
    Doesn't work . . . "journal of geophysical research: oceans": "J. Geophys. Res. Oceans",
    Works . . . "journal of geophysical research oceans": "J. Geophys. Res. Oceans",

    There might be other pieces of "grammar" but so far, I'm happy.

    [By the way, during testing, I've found this problem: BBT freezes with "Preparing" if abbreviations.json includes some error. I've made two types of error so far: forgetting the comma at the end of an entry and adding a comma at the end of the last entry.]

    I think the next step is to include more entries to the table and merge it to the official version of abbreviations.json. Then, I suppose Overleaf will automatically get the abbreviated journal names (if the user has selected automatic abbreviation).

    I've found a database of abbreviations on the Net. All ~20 journals I wanted abbreviations for were on it. None of them is abbreviated by Zotero by default. That suggests that Zotero's current abbreviation table probably misses a large fraction of journals out there.

    So, I'm thinking of downloading some large table and merging it to Zotero's current table using a script.

    But then, I think it's better to contact the person who wrote the original abbreviations.json because she or he must have used some script, which, among other things, removed the colons and "and"s. There may be other "grammars".
  • I think I've found a bug. I have this entry in the abbreviation table:

    "dynamics of atmospheres oceans": "Dyn. Atmos. Oceans",

    for the journal "Dynamics of Atmospheres and Oceans". This abbreviation sometimes works and sometimes doesn't.

    I change the "volume" of a bibliographic entry and re-generate the .bib file and find the abbreviated form "Dyn. Atmos. Oceans" in the corresponding bib entry. I change the "volume" again, re-generate the .bib file, and find "Dynamics Of Atmospheres Oceans" there. Note the lack of "and" here.

    So, the name-match algorithm must have some bug in there. I guess that the code first removes the "and" from the journal name and tries to find a match in the table. Sometimes it finds a match and sometimes it doesn't.

    Perhaps whether a match is found or not depends on history. (There is hysteresis. The match algorithm is stateful.) I suspect hysteresis because I have multiple bibliographic entries having this journal name. Some of them gets the abbreviation and the others don't.
  • All of those are questions for the zotero devs. I can't speak authoritively on any of them, although I could make a script for you that applies the "grammar" and adds it to the json safely.

    WRT the hang, I suspect that's because the error interrupts the zotero load, and bbt must wait for the zotero load to finish, so it appears to hang. BBT just shows its startup progress, so that's where you see it happening.
Sign In or Register to comment.