44

I'm writing my research proposal and my supervisor wants me to abbreviate the journal name (and remove part of the month from the publication date). How can I achieve that?

Edit: I am using BibTeX and my .bib file holds the full journal name. I writing using Emacs on an Arch Linux machine. I don't really mind switching to other LaTeX format but I don't know anything about them.

Yotam
  • 7,109
  • 6
    This is very little information. How do you create your references? Do you use bibtex and a bitex style or are you using biblatex. Long story short, please provide a minimal working example. – Martin H Nov 02 '11 at 12:55
  • 2
    If you have to quickly finish the proposal, I recommend to duplicate and open the .bib file and use the search and replace function of your preferred editor to simply replace the journal names with appropriate abbreviations. You can also delete the month entries. Ugly, but quick... – Andy Nov 03 '11 at 06:36
  • 1
    @Andy: As you said, ugly but quick. I was hoping for something more general for future work. Thanks. – Yotam Nov 03 '11 at 07:42
  • Related: https://tex.stackexchange.com/questions/111724/is-there-a-transparent-way-to-automatically-abbreviate-journal-names – Steven B. Segletes Sep 18 '17 at 15:32
  • for mathematical citation, I use the amsscinet database, which include the journal and fjournal filed, the journal field is the abbrevation. – user19832 Mar 07 '19 at 05:36

7 Answers7

33

A while back I created a package and some BibTeX styles for automatic journal abbreviations that uses the ISSN database to do exactly this: https://github.com/compholio/jabbrv

This is now included as an Overleaf template: https://www.overleaf.com/latex/templates/automatic-journal-abbreviations/mxfsdscmvxcr

Edit: Changed link to git repository (old link: http://www.compholio.com/latex/jabbrv/)

Shep Bryan
  • 209
  • 1
  • 6
Compholio
  • 453
  • 3
    @Comppholio Is this on CTAN? I've wondered in the past about providing something that at least in the first instance looks similar (i.e. a 'magic' macro that converts full names to abbreviations), so I'll be taking a look at how you've tackled this. – Joseph Wright Aug 12 '12 at 06:57
  • 2
    @Joseph No, I've not yet contributed anything to CTAN. I recently got tired of making new BibTeX styles all the time and decided to use some of the techniques from developing jabbrv to make a package that processes BibTeX files using a simpler style file syntax. – Compholio Aug 15 '12 at 15:32
  • Very good package!!! It also abbreviates initials. It is very easy to use. Just copy sty, bst, and ldf files to your working directory. – Kadir Jun 11 '13 at 05:12
  • Dear @Comppholio, is it also possible to remove the long line which is automatically put for repeated authors in consecutive references? – Kadir Jun 11 '13 at 05:21
  • 1
    that looks very interesting! Is it also compatible with biblatex and biber, or does it require bibtex? – MostlyHarmless Feb 27 '15 at 03:56
  • I wish it had styles for Physical Review/RevTeX – Anonymous Physicist Jun 30 '18 at 08:47
  • 1
    @AnonymousPhysicist It's not that difficult to modify the styles, and I do have one: https://github.com/compholio/jabbrv/blob/master/jabbrv_apsrev4-1.bst – Compholio Jul 02 '18 at 13:26
  • I have incorporated Compholio's package into an example Overleaf document, so that anyone who uses Overleaf can also use this package: https://www.overleaf.com/read/drzdrzrgrrrp – Shep Bryan Feb 01 '22 at 18:52
  • 1
    Overleaf now provides this as a template here: https://www.overleaf.com/latex/templates/automatic-journal-abbreviations/mxfsdscmvxcr – Shep Bryan Feb 02 '22 at 19:05
  • In jabbrv.sty, you implement "Redefinitions for diacritical marks" because you say they are "ignored by ISO-4". This has the (pleasing) consequence that the abbreviation rule for "bìolog-" (with a 'grave-i') applies also to the English "biology" (with a 'plan-i'). But why do you think the diacritical marks are ignored by ISO 4? That document in fact says, "Diacritic marks shall be retained in the word abbreviations. For languages where an alternative spelling without diacritics is also possible, this alternative may be used instead." It gives examples such as "médecine = méd." – linguisticturn Jun 27 '23 at 14:36
  • What you are supposed to do, which is not technically supported yet, is to keep the diacritical marks when shortening the abbreviation. So, the pattern for "bìolog-" applies to "biology" officially and you are supposed to ignore the diacritical marks for the purposes of comparison. – Compholio Jun 28 '23 at 17:18
  • @Compholio But where in the ISO 4 standard or LTWA/ISSN manuals/web pages is it stated that you are supposed to ignore the diacritical marks for the purposes of comparison? And if it is not stated explicitly (at least I haven't been able to find it), how did you deduce that rule? – linguisticturn Jun 28 '23 at 21:17
  • @linguisticturn Section 4.9: "Abbreviated titles are considered identical when they are composed of the same letters or characters irrespective of diacritics or other punctuation." – Compholio Jun 29 '23 at 03:07
  • @Compholio I see. Well, strictly speaking, that section only says that the diacritics should be ignored when comparing the abbreviations of the full titles; it says nothing about whether the diacritics should be ignored also when comparing the original unabbreviated individual words. Further, strictly speaking, the thrust of that section is about disambiguating the (identical-but-for-the-diacritics) abbreviated full titles, not about how the abbreviations are to be formed in the first place. Buuuuut… I suppose it is not unreasonable to extrapolate a bit in this case. Thank you! – linguisticturn Jun 29 '23 at 17:31
  • @linguisticturn Yeah, that's how I originally interpreted it as well. Some time ago (I want to say 2016) the LWTA changed how they reported a lot of the abbreviations and that clause appears to be the source of the change. Since that change, if you look up "biolog" in the LWTA you'll see that the it finds "bìolog-" as the appropriate entry and the match code "mul" (multiple). – Compholio Jun 29 '23 at 20:08
  • @Compholio What finally persuaded me is the abbreviation for expérience, with the 'acute-e'. On the one hand, ISO 4 itself says in Sec. 4.9 that *Expérience et innovations en éducation* should be abbreviated as *Exp. innov. éduc.. On the other hand, the only relevant LTWA entry is the 'plain-e' "Experien- exp. eng, fre"; there is no separate entry for any related 'acute-e' word or stem, such as "Expérien-". Furthermore, there are simply no French words with the stem "experien-"; there is only [expérience*](https://www.dictionnaire-academie.fr/article/A9E3429). – linguisticturn Jun 30 '23 at 04:43
  • @Compholio So, if it were true that the 'plain-e' and 'acute-e' must be treated as distinct as far as the original unabbreviated words, then 1. the LTWE entry "Experien- exp. eng, fre" would have applied to no French words at all, and 2. the LTWE wouldn't have been able to reproduce one of the few abbreviations that are explicitly endorsed by the original ISO 4. Thus, the 'plain-e' and 'acute-e' must not be treated as distinct as far as the original unabbreviated words. – linguisticturn Jun 30 '23 at 04:43
  • @Compholio (Although argument 2. is weakened by the fact that ISO 4 says that the Spanish Experiencias is abbreviated as Exp., and this is apparently not covered by the LTWA, since the language annotations for "Experien-" don't include 'spa'. So there is at least one abbreviation explicitly endorsed by the original ISO 4 that the current LTWA can't reproduce.) – linguisticturn Jun 30 '23 at 06:04
24

EDIT: There is an elegant way now with biber 0.9.6. Together with biblatex 1.7. the data can be changed on the fly without changing the input .bib file itself. It utilizes the map feature of biber as described in section 3.1.1 of the manual. The biber.conf file looks like this:

<map>
  <bibtex>
  BMAP_OVERWRITE 1
    <globalfield journal>
      BMAP_MATCH Physical\sReview
      BMAP_REPLACE "Phys. Rev."
    </globalfield>
  </bibtex>
</map>

which would replace Physical Review with Phys. Rev. Please find a verbose explanation in my answer to this question.

/EDIT

One possible way would be to come up with a work abbreviation. Then, you use the editor of your choice and search and replace the journal title with the work abbreviation. Let's say the journal is A long journal name and you call it alj. You replace Journal={A long journal name} with Journal=alj in the bibtex file. Now, you can make two bibtex files: short.bib and long.bib with the content @string{alj="A l. J. N."} and @string{alj="A long journal name"}, respectively. Whenever you feel like it, you can add another way to display the journal title.

MWE (you could have provided that):

\documentclass{article}

\begin{document}
Test\cite{brown08}

\bibliography{long,cvpubs}
\bibliographystyle{unsrt}

\end{document}

use either \bibliography{long,cvpubs} or \bibliography{short,cvpubs} for long or short journal titles.

cvpubs.bib:

@article{brown08,
    Author = {Seth Brown and Michael Cole and Albert Erives},
    Journal = alj,
    Title = {Evolution of the holozoan ribosome biogenesis regulon},
    Volume = {9},
    Year = {2008},
    Pages = {113}

short.bib:

@string{alj="A l. J. N."}

long.bib

@string{alj="A long journal name"}

leading to

short example and long example

Andy
  • 6,269
  • 1
    Please note the the biber config file format will change for biber 0.9.7 because the current one is not easy to extend and it a bit confusing for the mapping options. The new one is XML and much easier to understand for mapping options. The manual has been re-written for 0.9.7 with examples. You can get 0.9.7 beta from sourceforge now in the development folder. – PLK Nov 25 '11 at 09:02
16

You should be aware that the abbreviation is not arbitrary, because there is the standard ISO 4 that defines a List of Title Word Abbreviations (LTWA). As far as I know, every abbreviation is unique, so that abbreviating/un-abbreviating should work unambigously in both directions.

The CAS has a small online tool CASSI that can be used to search for journal names and/or their official LTWA abbreviation.

JabRef has a journal name abbreviation feature that also uses the LTWA. This feature can be configured under Options → Manage journal abbreviations.

matth
  • 12,381
13

I have made a little Python script that processes a bibtex database, searching for the journal names and replacing them with their official abbreviation (taken from the Jabref source): https://gist.github.com/FilipDominec/9ff081952dbc4aae1df657a56c3db4ea

dominecf
  • 231
  • I wanted to do that for so long now. I'll have a look at it – Yotam Apr 09 '16 at 09:54
  • 2
    It took some 20 minutes to write the script. But it is surprisingly nontrivial to find an usable list of journal names... The world's academic community is obviously missing some central source of such information. – dominecf Apr 09 '16 at 10:18
  • 1
    It lacks so much.... – Yotam Apr 09 '16 at 19:13
  • @Yotam you could of course still implement the un-abbreviation feature... – matth Feb 16 '17 at 08:07
  • 1
    This script just does a find replace based on all the text in the bibtex file and I found that it replaces things in abstracts etc. if the journal title isn't specific enough. – salotz Dec 19 '17 at 22:32
  • 3
    @Yotam We would all be better off if journals just stopped caring about abbreviations at all. It truly is an extremely outdated practice. – salotz Dec 19 '17 at 22:33
  • 1
    It seems the "journallist.txt" is not there anymore. E.g. my browser gives "404: Not Found" and the script fails to execute with an error that seems like the list is empty. – Raphael J.F. Berger Jan 19 '20 at 11:41
11

betterbib (a small project of mine) now gives you a choice on the journal names; short ones are the default. Simply install with

pip install betterbib

and run it over your bib file:

betterbib update your.bib > out.bib

Use --long-journal-name/-l to switch to long journal names.

EDIT: The package has been update and now the > is necessary to make this work.

dopexxx
  • 231
  • 2
  • 6
  • installs nicely but gives an error: betterbib bib.bib out.bib Traceback (most recent call last): File "/usr/local/bin/betterbib", line 6, in from betterbib.cli.full import main File "/usr/local/lib/python2.7/site-packages/betterbib/init.py", line 5, in from .about import version, author, author_email, website File "/usr/local/lib/python2.7/site-packages/betterbib/about.py", line 8, in copyright = u"Copyright (c) 2013-2019, {} <{}>".format(author, author_email) – Raphael J.F. Berger Jan 19 '20 at 11:17
  • 1
    Don't use Python 2 anymore, you probably got an ancient version. – Nico Schlömer Jan 21 '20 at 09:48
  • Might be the case that the syntax of the example is obsolete? To make it work I run betterbib abbreviate-journal-names your.bib > out.bib. Thanks for the great proyect. – Alf Pascu Oct 02 '21 at 18:04
0

I ended up writing a simple Python script that takes a bibtex file, and creates a copy of that file with journal names replaced by their abbreviations. It can be found here: https://gitlab.com/GuusAvis/abbreviate_journals .

In my case I really wanted something with little overhead (doing one thing and one thing only) that I could easily understand. This led me to try and use the script posted by @dominecf. However, it replaced more fields in my bibtex file than I wanted, and is based on a list of abbreviations that has in the mean time been outdated. I ended up editing this script posted on github in response to the one made by @dominecf, and combining it with the abbrv.jabref.org database such that it automatically remains up to date (the other script tries to pull a version that no longer exists).

It also allows choosing which abbreviation lists from the abbrv.jabref.org database to use. This can be useful, as there appear to be conflicts between those lists, potentially resulting in undesired behavior. This is what happened to me when using jabref to add abbreviations.

Hopefully there is someone who still finds this useful, almost twelve years after the original question was posed!

GAvis
  • 1
0

This is a common problem. My solution

pipx install bibiso4
bibiso4 your_refs.bib > iso4_your_refs.bib
innisfree
  • 598
  • 5
  • 17