.rn '' }` ''' $RCSfile$$Revision$$Date$ ''' ''' $Log$ ''' .de Sh .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp .if t .sp .5v .if n .sp .. .de Ip .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .de Vb .ft CW .nf .ne \\$1 .. .de Ve .ft R .fi .. ''' ''' ''' Set up \*(-- to give an unbreakable dash; ''' string Tr holds user defined translation string. ''' Bell System Logo is used as a dummy character. ''' .tr \(*W-|\(bv\*(Tr .ie n \{\ .ds -- \(*W- .ds PI pi .if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch .if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch .ds L" "" .ds R" "" ''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of ''' \*(L" and \*(R", except that they are used on ".xx" lines, ''' such as .IP and .SH, which do another additional levels of ''' double-quote interpretation .ds M" """ .ds S" """ .ds N" """"" .ds T" """"" .ds L' ' .ds R' ' .ds M' ' .ds S' ' .ds N' ' .ds T' ' 'br\} .el\{\ .ds -- \(em\| .tr \*(Tr .ds L" `` .ds R" '' .ds M" `` .ds S" '' .ds N" `` .ds T" '' .ds L' ` .ds R' ' .ds M' ` .ds S' ' .ds N' ` .ds T' ' .ds PI \(*p 'br\} .\" If the F register is turned on, we'll generate .\" index entries out stderr for the following things: .\" TH Title .\" SH Header .\" Sh Subsection .\" Ip Item .\" X<> Xref (embedded .\" Of course, you have to process the output yourself .\" in some meaninful fashion. .if \nF \{ .de IX .tm Index:\\$1\t\\n%\t"\\$2" .. .nr % 0 .rr F .\} .TH ISI2BIBTEX 1 "perl 5.005, patch 03" "26/Oct/2000" "User Contributed Perl Documentation" .UC .if n .hy 0 .if n .na .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .de CQ \" put $1 in typewriter font .ft CW 'if n "\c 'if t \\&\\$1\c 'if n \\&\\$1\c 'if n \&" \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 '.ft R .. .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 . \" AM - accent mark definitions .bd B 3 . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds ? ? . ds ! ! . ds / . ds q .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' . ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' . ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] .ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' .ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' .ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E .ds oe o\h'-(\w'o'u*4/10)'e .ds Oe O\h'-(\w'O'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds v \h'-1'\o'\(aa\(ga' . ds _ \h'-1'^ . ds . \h'-1'. . ds 3 3 . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE . ds oe oe . ds Oe OE .\} .rm #[ #] #H #V #F C .SH "NAME" isi2bibtex \- convert ISI database files to BibTeX format .SH "SYNOPSIS" \fBisi2bibtex\fR [\fBOPTIONS\fR] \fBinputfile\fR [\fBoutputfile\fR] .PP If no output file is specified, inputfile.bib is used. .PP Records are appended if the output file exists. .SH "DESCRIPTION" Isi2bibtex converts an ISI (Institute for Scientific Information) bibliographic database file to a BibTeX file for use in TeX and LaTeX documents. Both formats hold bibliographic data on scientific and other academic documents. .PP (In the UK, the ISI databases are commonly known as \*(L'BIDS\*(R' or \*(L'MIMAS WoS') .PP Another way to do the same job isi2bibtex does is with bp, which has the advantage of converting between many different bibliographic formats and character sets. If you don't want that, isi2bibtex understands BIDS standard format in addition to the others, and is stand-alone and so presumably easier to get working. .Sh "Options" \fB\-h\fR, \fB--help\fR display help and exit .PP \fB\-v\fR, \fB--version\fR display version information and exit .PP \fB\-q\fR, \fB--quiet\fR no informational output .PP \fB\-a\fR, \fB--abstract\fR include abstract in output file .PP \fB\-c\fR, \fB--check\fR make some checks on field contents (default) .PP \fB\-n\fR, \fB--nocheck\fR don't make checks on field contents .Sh "Input databases" Although isi2bibtex was written for \s-1SCI\s0 (Science Citation Index), all the \s-1ISI\s0 databases should work (\s-1SCI\s0, \s-1SSCI\s0, A&\s-1HCI\s0, \s-1ISTP\s0). Isi2bibtex will probably make a bad job of editing the content of these other databases, and would have to be changed a bit (not difficult), but you may be lucky. .PP In the \s-1UK\s0, probably most of the other databases on \s-1BIDS\s0 should work either straight away or with a small amount of modification of the script. \s-1BIDS\s0 Pascal for instance works with downloading format, and would work with a small amount of modification with standard format. .Sh "Input formats" If you use a web interface to \s-1ISI\s0, isi2bibtex will only convert text output (whether emailed or saved directly), not saved web pages or other bibliography formats such as Procite or Reference Manager. Specifically, the formats that are understood are: .PP \s-1ISI\s0 generic output format version 1.0: .PP I presume this is the format used in most of the world. In the \s-1UK\s0, this is output by \s-1MIMAS\s0 WoS \*(L'save records\*(R' or \*(L'email records\*(R'. .PP \s-1BIDS\s0 standard format: .PP (any of: Title only; Title, authors & journal; Full record excluding citations; Full record) .PP \s-1BIDS\s0 downloading format: .PP (any of: Title, authors & journal in downloading format; Full record in downloading format) .PP You can mix and match record formats in one file. Deleting fields and / or record numbers from records should be okay. Any fields may be present in any order. Don't change the indentation of records: isi2bibtex will ignore records if they're too different from the usual layout due to ambiguity of field labels and field contents. .Sh "Output fields" For \s-1ISI\s0 generic format (eg \s-1MIMAS\s0 WoS output) and \s-1BIDS\s0 downloading format, fields other than title (\s-1TI\s0), author (\s-1AU\s0), source ie journal (\s-1SO\s0), page range (\s-1BP\s0, \s-1EP\s0), year (\s-1PY\s0) and abstract (\s-1AB\s0) are ignored. .PP For standard \s-1BIDS\s0 format, fields other than Title (\s-1TI\s0:), author (\s-1AU\s0:), journal (\s-1JN\s0:) and abstract (\s-1AB\s0:) are ignored (the \s-1JN\s0: field contains the page numbers, volume, date, etc as well as the journal name). .PP At the moment isi2bibtex only outputs the more useful fields, but this may change in the future (when someone gets round to it). Which fields are output can be controlled with a configuration file (see below). Those that don't correspond to the standard BibTeX fields (such as abstract) won't be recognised by BibTeX by default, but they'll be there if you need to use them. .Sh "Output formatting" Output is tidied up as much as possible, but some editing is still required. .PP Output formatting defaults can be modified with a configuration file. /etc/isi2bibtexrc and ~/.isi2bibtexrc (or whatever you set in the \f(CW@CONFIG\fR variable in the script) are looked at in that order for configuration settings, with the latter overriding the former. See the example configuration file provided. .PP If they are switched on, things like journal title abbreviations and acronym capitalisations can be added and removed at the end of the script (very easy to do by looking at what's there already). Newer \s-1ISI\s0 entries have lower case as well as upper, and isi2bibtex always leaves the capitalization as-is for those records. .SH "DOESN'T WORK?" Remember to: .Sh "Unix" set the first line of this script to point to your copy of perl (eg. /usr/bin/perl or /usr/local/bin/perl) .PP make it executable (eg. chmod +x ./isi2bibtex) .PP put it somewhere your \s-1OS\s0 can find it (eg ~/bin or /usr/local/bin): you may need to change your \s-1PATH\s0 environment variable .Sh "Microsoft Windows" change the name of this script to isi2bibtex.pl (you'll have to use it as .PP isi2bibtex.pl [\s-1OPTIONS\s0] inputfile.txt outputfile.bib .PP rather than .PP isi2bibtex [\s-1OPTIONS\s0] inputfile.txt outputfile.bib .PP because the windows \s-1DOS\s0 shell doesn't know about the #! line) .PP put it in your Perl bin directory, eg C:\ePerl\ebin (obviously if you don't have perl installed, you need to do that first: see below) .PP if that doesn't work check the \s-1PATH\s0 environment variable contains your perl bin directory, and as a last resort try .PP .Vb 1 \& perl C:\ePerl\ebin\eisi2bibtex.pl inputfile.txt .Ve .Sh "Other platforms" I have no idea, but it should work on any platform that runs Perl 5, perhaps with a few small modifications. Isi2bibtex has been tested on Windows (95 and \s-1NT\s0) and Unix. Please send me any portability changes. .PP Email if it still doesn't work. .SH "KNOWN PROBLEMS" It only does articles, not books, proceedings etc, and won't notice if a record isn't an article. .PP It ignores some fields (mostly those that don't correspond to the standard BibTeX \*(L'article\*(R' fields). .PP ISI access providers\*(R' output other than BIDS and MIMAS WOS haven't been tested. Send me an output file and I'll make it work with that format (for SCI). .PP Please tell me about any bugs you find, at . .SH "SEE ALSO" If you don't have Perl installed, it can be got (free) from http://www.perl.com/ . LaTeX, BibTeX and everything else TeX can be downloaded from http://www.CTAN.org/ . .PP bp converts between many bibliography database formats (including conversion from BIDS downloading and ISI generic formats to BibTeX), and many character sets. .PP Ben Bolker (author of the BIDS / MIMAS WOS specification for bp) has a page describing his modifications to bp: .PP http://www.zoo.ufl.edu/bolker/bp.html .PP Dana Jacobsen (author of bp) has a web page with lots of bibliography software information and details of his bp package: .PP http://www.ecst.csuchico.edu/~jacobsd/bib/index.html .PP Some other BibTeX utilities that may or may not be useful (these are just the ones I've got round to looking at): .PP bibclean checks and formats BibTeX databases .PP bibsort sorts BibTeX databases .PP bib2dvi converts BibTeX databases to DVI files (DVI files are output by LaTeX and are DeVice Independent typeset documents, a bit like postscript or pdf -- you can read them on most computer systems) .PP bibextract, citefind and citetags respectively extract BibTeX records from a BibTeX database, extract LaTeX references from a LaTeX document, and look up LaTeX references in a BibTeX database. .PP bibindex makes an index for fast lookup by biblook, if you have a huge database that needs it I suppose .PP BibTool is an all-singing all-dancing general purpose BibTeX management utility .PP bibview is a simple interactive searching utility for BibTeX files .PP findbib gets BibTeX records corresponding to references in a LaTeX file from a preprint server (don't know if it still works) .PP both refer2bibtex and r2bib convert refer files (whatever they are) to BibTeX files .PP tkbibtex is a graphical tool for editing and searching BibTeX databases .PP Text::BibTeX is a Perl module for doing things to BibTeX databases. .SH "COPYRIGHT" Copyright (C) 2000 Jonathan Swinton, Ben Bolker, Anthony Stone, John J. Lee .PP Isi2bibtex replaces and is derived from bids.to.bibtex (as of 29 Jan 1998) and isi2bib 0.1. .PP bids.to.bibtex was based on a perl script written by Jonathan Swinton, and subsequently modified by Ben Bolker and Anthony Stone. .PP isi2bib 0.1 was written by John J. Lee .PP This script is covered by the GPL. See the script for copyright information. .SH "FILES" /etc/isi2bibtexrc, ~/.isi2bibtexrc (or whatever you set in the \f(CW@CONFIG\fR variable) are looked at in that order for default configuration settings, with the latter overriding the former. See the example configuration file provided. .SH "VERSION" 0.40 .rn }` '' .IX Title "ISI2BIBTEX 1" .IX Name "isi2bibtex - convert ISI database files to BibTeX format" .IX Header "NAME" .IX Header "SYNOPSIS" .IX Header "DESCRIPTION" .IX Subsection "Options" .IX Subsection "Input databases" .IX Subsection "Input formats" .IX Subsection "Output fields" .IX Subsection "Output formatting" .IX Header "DOESN'T WORK?" .IX Subsection "Unix" .IX Subsection "Microsoft Windows" .IX Subsection "Other platforms" .IX Header "KNOWN PROBLEMS" .IX Header "SEE ALSO" .IX Header "COPYRIGHT" .IX Header "FILES" .IX Header "VERSION"