[texhax] BibTeX journal abbreviations

Pavel Minev Penev pavpen at berkeley.edu
Tue May 4 22:43:30 CEST 2004


On Tue, May 04, 2004 at 02:37:48PM -0500, Sebastian Luque wrote:
> I've successfully transfered my reference file from Endnote to BibTeX, 
> but am having problems with journal abbreviations. Endnote handles these 
> by letting you put the complete journal name in the database, and then 
> defining any abbreviations you want in a 'terms' list. This is good 
> because one can keep the database 'clean' and interchangeable with other 
> database formats, as the fields contain the raw information. BibTeX, if 
> I understand the documentation correctly, prefers you enter a one word 
> shorthand for the journal, and then defining strings for the full 
> journal name and abbreviation separately, in 'string' commands, or 
> defining macros in a style file. I find this very incovenient because if 
> one ever needs to transfer the database to another format (e.g. Endnote, 
> etc.), one is left with the shorthand version of the journal names, 
> which don't mean anything outside BibTeX. Additionally, one would have 
> to replace the full journal names in the database with a shorthand, and 
> then create all the 'string' commands to define full and abbreviated 
> names. This seems too much.
> 
> Is there a better way to create abbreviations without changing the 
> actual 'journal' field in the database?

I don't have experience with software interoperability or abbreviations,
but I have some suggestions.

Replacing long names with string concatenation operators in a ``.bib''
database (or vice versa) is a one-line SED, AWK, Ruby, or Perl script.
(Excluding the definitions of strings that contain the abbreviations).

Alternatively, you can write a short style definition (``.bst'') that
does the same job (expands variables, or replaces strings in particular
fields of the ``.bib'' database with desired values).

As a last alternative, you can use TeX to replace strings in fields
(redefine \bibitem ??).  This solution will involve longer code and will
probably run considerably slower than the alternatives.  (I can send you
some TeX code for token list, i.e. string, manipulation).

There may well be ready solutions to your problem, though.

Bye,
-- 
Pav

http://www.againsttcpa.com/  ,.,    My type: Dvorak.
                           ,``:'',
                           {o ! o}
Gain your human right of   ] -+- [  My GPG/PGP key is now available at
privacy: use cryptography!  \ ! /   x-hkp://search.keyserver.net:11371.
                             `-'
`shell$ gpg --keyserver x-hkp://search.keyserver.net:11371 --recv-key 164C028F`



More information about the texhax mailing list