SPIRES script: Difference between revisions
(future features) |
m (revert after spam) |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
SPIRES script is a | SPIRES script is a program written in the [http://www.python.org/ python] programming language that accesses information on papers in the [http://www.slac.stanford.edu/spires/ SPIRES] online high energy physics literature database. It can access title, author, bibitem and [[References with BiBTeX|BiBTeX]] records, update your local BiBTeX library and download papers from the [http://www.arxiv.org/ arXiv]. A separate program [[#listcitations.py|listcitations.py]] reads through a TeX file and then looks up all the \cite{...} references and outputs the bibitems. Although originally written for the GNU/Linux command line, the code should be portable enough to run on any operating system with a python interpreter. | ||
===download=== | |||
Download [[Spires.py|spires.py]] and [[Listcitations.py|listcitations.py]]. | |||
===installation on a GNU/Linux system=== | ===installation on a GNU/Linux system=== | ||
The script requires the python interpreter | The script requires the python interpreter to be installed on your system. This is automatically installed on most GNU/Linux distributions, but check it is there by typing | ||
<pre> | <pre> | ||
python | python | ||
</pre> | </pre> | ||
at the command line and see what happens. | at the command line and see what happens. | ||
If python | If python is present download [[Spires.py|spires.py]] and run it by typing | ||
<pre> | <pre> | ||
python spires.py hep-th/9711200 | python spires.py hep-th/9711200 | ||
Line 21: | Line 18: | ||
===usage=== | ===usage=== | ||
The typical accepted inputs are the usual arXiv references or a SPIRES-style journal reference | The typical accepted inputs are the usual arXiv references, the SPIRES TeX key or a SPIRES-style journal reference | ||
<pre> | <pre> | ||
python spires.py hep-th/9711200 | python spires.py hep-th/9711200 | ||
python spires.py 0705.0303 | python spires.py 0705.0303 | ||
python spires.py Maldacena:1997re | |||
python spires.py CMPHA,43,199 | python spires.py CMPHA,43,199 | ||
python spires.py Phys.Rev.,D52,5783 | |||
</pre> | </pre> | ||
Line 42: | Line 41: | ||
SLACcitation = "%%CITATION = HEP-TH/9711200;%%" | SLACcitation = "%%CITATION = HEP-TH/9711200;%%" | ||
} | } | ||
Maldacena, Juan M. | Maldacena, Juan M. | ||
The large N limit of superconformal field theories and supergravity | The large N limit of superconformal field theories and supergravity | ||
\cite{Maldacena:1997re} | |||
</pre> | </pre> | ||
Line 53: | Line 51: | ||
SPIRES script | SPIRES script | ||
Usage: | Usage: | ||
python spires.py reference [ - | python spires.py reference [ -hbiatcev ] [ --help ] [ --library library.bib ] [ --download download_path/ ] | ||
"reference" must be a standard arXiv reference, e.g. hep-th/9711200 | "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: | Options: | ||
-h, --help | -h, --help | ||
displays this help message | displays this help message | ||
-b | |||
displays the BiBTeX entry | |||
-i | |||
displays the bibitem entry | |||
-a | -a | ||
displays the author(s) | displays the author(s) | ||
-t | -t | ||
displays the title | displays the title | ||
-c | -c | ||
displays the | displays the TeX citation key | ||
-e | -e | ||
displays everything | displays everything | ||
-v | -v | ||
verbose mode | verbose mode | ||
- | |||
--download download_path/ | |||
for arXiv references downloads a pdf of the paper from the arXiv to the directory download_path/ | |||
--library library.bib | --library library.bib | ||
if it is not already in library.bib, appends the BiBTeX entry to library.bib | if it is not already in library.bib, appends the BiBTeX entry to library.bib; use at your own risk | ||
</pre> | </pre> | ||
Each item can be specified individually with switches, e.g. -t for title, -a for authors, -b for BiBTeX entry, -c for | 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 | ||
<pre> | <pre> | ||
tom@fyodor:~$ python spires.py hep-th/9711200 -at | tom@fyodor:~$ python spires.py hep-th/9711200 -at | ||
Line 90: | Line 89: | ||
</pre> | </pre> | ||
To download a PDF of an eprint from the [http://www.arxiv.org/ arXiv] to the directory <code>some_folder/</code> | |||
<pre> | <pre> | ||
python spires.py hep-th/9711200 -- | python spires.py hep-th/9711200 --download some_folder/ | ||
</pre> | </pre> | ||
=== | ===listcitations.py=== | ||
To use this program you must download [[Spires.py|spires.py]] and [[Listcitations.py|listcitations.py]] into the same directory. | |||
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 | |||
<pre> | |||
python listcitations.py tex_file.tex | |||
</pre> | |||
It can also output BiBTeX entries instead | |||
<pre> | |||
python listcitations.py tex_file.tex -b | |||
</pre> | |||
To see all the options access the help page | |||
<pre> | <pre> | ||
tom@tarkovsky:~$ python 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: | Options: | ||
-h, --help | -h, --help | ||
displays this help message | displays this help message | ||
-b | -b | ||
displays the BiBTeX entry | displays the BiBTeX entry | ||
- | -i | ||
displays the | displays the bibitem entry | ||
-v | -v | ||
verbose mode | verbose mode | ||
</pre> | |||
===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 <code>import spires</code>; you can use spires.py as a library of SPIRES-related functions (see [[Listcitations.py|listcitations.py]] as an example). | |||
===comments and bugs=== | |||
If you have any comments or find bugs, please contact [[User:Tom|Tom]]. | |||
===thanks=== | |||
Thanks to Travis C. Brooks of [http://www.slac.stanford.edu/spires/ SPIRES] for his help and [http://theory.tifr.res.in/~kevin/ Kevin Goldstein] for pointing out the python <code>urllib</code> library. | |||
===licence=== | ===licence=== | ||
This script is Copyright 2007 Tom Brown and made available under the [http://www.gnu.org/copyleft/gpl.html GNU General Public Licence]. | This script is Copyright 2007 Tom Brown and made available under the [http://www.gnu.org/copyleft/gpl.html GNU General Public Licence]. |
Latest revision as of 14:48, 15 July 2010
SPIRES script is a program written in the python programming language that accesses information on papers in the SPIRES online high energy physics literature database. It can access title, author, bibitem and BiBTeX records, update your local BiBTeX library and download papers from the arXiv. A separate program listcitations.py reads through a TeX file and then looks up all the \cite{...} references and outputs the bibitems. Although originally written for the GNU/Linux command line, the code should be portable enough to run on any operating system with a python interpreter.
download
Download spires.py and listcitations.py.
installation on a GNU/Linux system
The script requires the python interpreter to be installed on your system. This is automatically installed on most GNU/Linux distributions, but check it is there by typing
python
at the command line and see what happens.
If python is present download spires.py and run it by typing
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
python spires.py hep-th/9711200 python spires.py 0705.0303 python spires.py Maldacena:1997re python spires.py CMPHA,43,199 python spires.py Phys.Rev.,D52,5783
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:~$ python spires.py -h SPIRES script Usage: python spires.py reference [ -hbiatcev ] [ --help ] [ --library library.bib ] [ --download download_path/ ] "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 --download download_path/ for arXiv references downloads a pdf of the paper from the arXiv to the directory download_path/ --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:~$ python 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
python spires.py hep-th/9711200 --library library.bib
To download a PDF of an eprint from the arXiv to the directory some_folder/
python spires.py hep-th/9711200 --download some_folder/
listcitations.py
To use this program you must download spires.py and listcitations.py into the same directory.
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
python listcitations.py tex_file.tex
It can also output BiBTeX entries instead
python listcitations.py tex_file.tex -b
To see all the options access the help page
tom@tarkovsky:~$ python 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).
comments and bugs
If you have any comments or find bugs, please contact Tom.
thanks
Thanks to Travis C. Brooks of SPIRES for his help and Kevin Goldstein for pointing out the python urllib
library.
licence
This script is Copyright 2007 Tom Brown and made available under the GNU General Public Licence.