# How to abbreviate journal name in citation

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.

• 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. Nov 2, 2011 at 12:55
• 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 3, 2011 at 6:36
• @Andy: As you said, ugly but quick. I was hoping for something more general for future work. Thanks. Nov 3, 2011 at 7:42
• Sep 18, 2017 at 15:32
• for mathematical citation, I use the amsscinet database, which include the journal and fjournal filed, the journal field is the abbrevation. Mar 7, 2019 at 5:36

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

• @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. Aug 12, 2012 at 6:57
• @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. Aug 15, 2012 at 15:32
• that looks very interesting! Is it also compatible with biblatex and biber, or does it require bibtex? Feb 27, 2015 at 3:56
• @AnonymousPhysicist It's not that difficult to modify the styles, and I do have one: github.com/compholio/jabbrv/blob/master/jabbrv_apsrev4-1.bst Jul 2, 2018 at 13:26
• Overleaf now provides this as a template here: overleaf.com/latex/templates/automatic-journal-abbreviations/… Feb 2 at 19:05

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"}


and

• 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, 2011 at 9:02

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.

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

• I wanted to do that for so long now. I'll have a look at it Apr 9, 2016 at 9:54
• 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. Apr 9, 2016 at 10:18
• It lacks so much.... Apr 9, 2016 at 19:13
• 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. Dec 19, 2017 at 22:32
• @Yotam We would all be better off if journals just stopped caring about abbreviations at all. It truly is an extremely outdated practice. Dec 19, 2017 at 22:33

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.

• installs nicely but gives an error: betterbib bib.bib out.bib Traceback (most recent call last): File "/usr/local/bin/betterbib", line 6, in <module> from betterbib.cli.full import main File "/usr/local/lib/python2.7/site-packages/betterbib/__init__.py", line 5, in <module> from .__about__ import version, author, author_email, website File "/usr/local/lib/python2.7/site-packages/betterbib/__about__.py", line 8, in <module> copyright = u"Copyright (c) 2013-2019, {} <{}>".format(author, author_email) Jan 19, 2020 at 11:17
• Don't use Python 2 anymore, you probably got an ancient version. Jan 21, 2020 at 9: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. Oct 2, 2021 at 18:04