Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I need to use the short form of a journal title for a piece of work. For instance, J. Am. Chem. Soc. instead of Journal of the American Chemical Society. I've looked through the documentation for both biblatex and biblatex-chem and have found the shortjournal field and I assume this is where you put the abbreviated journal name. How do you get this to work with biblatex and biblatex-chem? I'd like my .bib to contain both forms and I switch between them depending on the document I'm writing. I don't really want to go down the JabRef route of swapping the journaltitle field.

share|improve this question
add comment

1 Answer

up vote 8 down vote accepted

The biblatex manual entry for shortjournal says

A short version or an acronym of the journaltitle. Not used by the standard bibliography styles.

My reading of this is that it is is more something like an informal acronym ('JACS' for Journal of the American Chemical Society, for example) than a formal title. It certainly does not say that it's an ISO abbreviation for the journal title. As far as possible, biblatex-chem follows the standard biblatex styles, so uses the journal field.

All chemistry bibliography styles use abbreviated titles of journals. So I simply store the abbreviations in my database. However, if you want a flexible approach one way to do this is to use a simple macro-based approach. I'd base this on journal CODENs. Something like

\makeatletter
\newcommand*{\CODEN}[1]{%
  \ifcsname CODEN@#1\endcsname
    \expandafter\@firstoftwo\csname CODEN@#1\expandafter\endcsname
  \else
   #1%
  \fi
}
\newcommand*{\CODEN@JACSAT}
  {{J. Am. Chem. Soc.}{Journal of the American Chemical Society}}
...
\makeatother

As written, this will print abbreviations, but if you swap \@firstoftwo for \@secondoftwo then it will print the full name. The idea is that you'd then use \CODEN{JACSAT} in your journal field: a bit like using BibTeX strings, but controllable from LaTeX.

(I did think about writing a package to do a similar job a few years ago, but at the time it did not seem worth it. If there is interest, I can wrap the above concept up into a package pretty easily: it's just a question of adding all of the CODENs.)

A second approach is to alter the appropriate macro

\renewbibmacro*{journal}{%
  \iffieldundef{shortjournal}
    {%
      \iffieldundef{journaltitle}
        {}
        {%
          \printtext[journaltitle]
            {%
              \printfield[titlecase]{journaltitle}%
              \setunit{\subtitlepunct}%
              \printfield[titlecase]{journalsubtitle}%
             }%
         }%
    }
    {\printtext[journaltitle]{\printfield[titlecase]{shortjournal}}}%
}

This will use the shortjournal field if available, and if not use the standard journaltitle field.

share|improve this answer
    
Thanks for your suggestions Joseph. I've used the second approach to abuse my shortjournal field. Surely the most elegant solution would be for biblatex to support an extra field (journalabbrev or something like that) and for there to be a package option to turn it on or off. Your coden idea sounds like a good way to ensure that journal abbrieviations and full titles are uniform across a document for a particular journal but will mean any importing of bibliographic data will need to be followed by entering of the coden number. If you want to make a package I will happily test it for you. –  Darling Oct 17 '11 at 7:38
1  
There must be a demand for this as Chemistry can't be alone using journal abbrieviations. –  Darling Oct 17 '11 at 7:43
    
@Darling: But the point is they are always abbreviated. So there is not need to type in the full journal names into the database: you only need the abbreviation. –  Joseph Wright Oct 17 '11 at 7:48
    
Also, of course, the title-abbreviation mapping is fixed, so it would be bad database style to include both in the .bib file. –  Joseph Wright Oct 17 '11 at 7:53
    
Point taken Joseph. If for some reason you wanted to rapidly switch between forms of journal title (a personal document of some sort or some sort of book) the CODEN idea is the cleanest way to do it. Thanks –  Darling Oct 17 '11 at 9:46
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.