# SPIRES script

SPIRES script is a command line program written in Python that accesses information on papers in the SPIRES online high energy physics literature database. It can access title, author, bibitem and BiBTeX records and update your local BiBTeX library. A separate program listcitations.py reads through a TeX file and then looks up all the \cite{...} references and outputs the bibitems.

### installation on a GNU/Linux system

The script requires the python interpreter and wget to be installed on your system. These are automatically installed on most GNU/Linux distributions, but check they are there by typing

```python
```

and

```wget
```

at the command line and see what happens.

If python and wget are present download the script from File:SPIRES-0.2.tar. Unpack this tar archive with

```tar -xvf Spires-0.2.tar
```

You now should have two programs, spires.py and listcitations.py.

To run spires.py type

```./spires.py hep-th/9711200
```

or if this doesn't work, try

```python spires.py hep-th/9711200
```

### usage

The typical accepted inputs are the usual arXiv references, the SPIRES TeX key or a SPIRES-style journal reference

```./spires.py hep-th/9711200
./spires.py 0705.0303
./spires.py Maldacena:1997re
./spires.py CMPHA,43,199
```

If no options are specified all possible outputs will be displayed

```tom@fyodor:~\$ python spires.py hep-th/9711200
@Article{Maldacena:1997re,
author    = "Maldacena, Juan M.",
title     = "The large N limit of superconformal field theories and
supergravity",
journal   = "Adv. Theor. Math. Phys.",
volume    = "2",
year      = "1998",
pages     = "231-252",
eprint    = "hep-th/9711200",
SLACcitation  = "%%CITATION = HEP-TH/9711200;%%"
}
Maldacena, Juan M.
The large N limit of superconformal field theories and supergravity
\cite{Maldacena:1997re}
```

To see all the options access the help page

```tom@fyodor:~\$ ./spires.py -h
SPIRES script
Usage:
"reference" must be a standard arXiv reference, e.g. hep-th/9711200, 0705.0303, Maldacena:1997re or a SPIRES journal reference, e.g. CMPHA,43,199
Options:
-h, --help
displays this help message
-b
displays the BiBTeX entry
-i
displays the bibitem entry
-a
displays the author(s)
-t
displays the title
-c
displays the TeX citation key
-e
displays everything
-v
verbose mode

--library library.bib
if it is not already in library.bib, appends the BiBTeX entry to library.bib; use at your own risk
```

Each item can be specified individually with switches, e.g. -t for title, -a for authors, -b for BiBTeX entry, -c for SPIRES TeX key. For example

```tom@fyodor:~\$ ./spires.py hep-th/9711200 -at
Maldacena, Juan M.
The large N limit of superconformal field theories and supergravity
```

If you have a BiBTeX database file such as library.bib then the script can update the file with the BiBTeX entry if it is not already present

```./spires.py hep-th/9711200 --library library.bib
```

### listcitations.py

This program reads a TeX file and then looks up all the \cite{...} references and outputs the bibitems. The typical accepted inputs are the usual arXiv references, the SPIRES TeX key or a SPIRES-style journal reference. With no options it will output bibitems

```./listcitations.py tex_file.tex
```

It can also output BiBTeX entries too

```./listcitations.py tex_file.tex -b
```

To see all the options access the help page

```tom@tarkovsky:~\$ ./listcitations.py -h
list citations script
Usage:
python listcitations.py TeX_file_name.tex [ -hbiv ] [ --help ]

TeX_file_name must contain citations as standard arXiv references,
e.g. hep-th/9711200, 0705.0303, Maldacena:1997re or SPIRES journal
references, e.g. CMPHA,43,199

Options:
-h, --help
displays this help message
-b
displays the BiBTeX entry
-i
displays the bibitem entry
-v
verbose mode
```

### future features

• allow alias citations such as \cite{mypaper} for listcitations.py

### technical details

The code is very modular so it is easy to write your own programs using the functions defined in spires.py. Just import the functions in spires.py with `import spires`; you can use spires.py as a library of SPIRES-related functions (see listcitations.py as an example).