isi 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. data/README +10 -3
  2. data/Rakefile +2 -2
  3. data/index.en.html +346 -0
  4. data/index.ja.html +10 -10
  5. data/lib/isi.rb +10 -4
  6. metadata +4 -4
data/README CHANGED
@@ -5,7 +5,7 @@
5
5
  "isi2html" generates a list of articles in an HTML file.
6
6
  The package also includes "isi2kakenhi" and "isi2tohoku".
7
7
 
8
- (ISI Web of Science http://isiknowledge.com provides their bibliographic
8
+ (Thomson Reuters Web of Science http://webofknowledge.com provides their bibliographic
9
9
  information in ISI Export Format. You can get the tagged Marked List in
10
10
  Web of Science by clicking the [SAVE TO FILE] button.)
11
11
 
@@ -187,10 +187,17 @@ http://images.webofknowledge.com/WOKRS52B10/help/ja/WOS/hs_wos_fieldtags.html
187
187
  * none.
188
188
 
189
189
  == TODO
190
- * lib/isi.rb combine ISI_record#and_separated_authors() and ISI_record#comma_and_separated_authors()
191
- into ISI_record#separated_authors()
190
+ * In lib/isi.rb, combine
191
+ ISI_record#and_separated_authors() and
192
+ ISI_record#comma_and_separated_authors() into
193
+ ISI_record#separated_authors().
192
194
  * Write papers, not tools for writing papers.
193
195
  * tests/isi_test.rb
196
+ * Move output formats from lib/isi.rb to isi2html, isi2tohoku and isi2kakenhi.
197
+ Leave that for isi2bibtex in lib/isi.rb.
198
+ * We do not need journaltitleabbreviation.rb any more.
199
+ * Daemon for Linux. Automatic ~/Desktop/savedrecs.txt -> savedrecs.bib
200
+ using inotify().
194
201
 
195
202
  # Local variables:
196
203
  # mode: RD
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  #! /usr/bin/env rake
2
2
  # -*-Ruby-*-
3
- # Time-stamp: <2010-02-15 13:07:50 takeshi>
3
+ # Time-stamp: <2011-07-21 17:20:12 takeshi>
4
4
  # Author: Takeshi Nishimatsu
5
5
  ##
6
6
  $LOAD_PATH.unshift('lib')
@@ -49,7 +49,7 @@ task :package => [ :isi_version_rb, "index.en.html" ]
49
49
 
50
50
  desc "Create index.en.html"
51
51
  file "index.en.html" => ["style.css", "README"] do |t|
52
- sh "ulmul2html -c 2..2 -s #{t.prerequisites[0]} #{t.prerequisites[1]} | sed -e 's%</h1>%</h1><div class=\"navi\">[<a href=\"index.en.html\">English</a>/<a href=\"index.ja.html\">Japanese</a>]</div>%' > #{t.name}"
52
+ sh "ulmul2html5 -m 1 -s #{t.prerequisites[0]} #{t.prerequisites[1]} | sed -e 's%</h1>%</h1><div class=\"navi\">[<a href=\"index.en.html\">English</a>/<a href=\"index.ja.html\">Japanese</a>]</div>%' > #{t.name}"
53
53
  end
54
54
 
55
55
  desc "Copy lib/isi.rb ../isi-X.Y.Z.rb"
@@ -0,0 +1,346 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <title>isi = Ruby Scripts and Libraries for ISI Export Format</title>
6
+ <meta name="author" content="takeshi" />
7
+ <meta name="copyright" content="Copyright &#169; 2011 takeshi" />
8
+ <script type="text/x-mathjax-config">
9
+ MathJax.Hub.Config({
10
+ tex2jax: {
11
+ inlineMath: [ ['$','$'] ]
12
+ }
13
+ });
14
+ </script>
15
+ <link rel="stylesheet" href="style.css" type="text/css" />
16
+ <link rel="shortcut icon" href="favicon.ico" />
17
+ </head>
18
+ <body onload="prettyPrint()">
19
+ <div class="slide cover">
20
+ <h1 id="LABEL-1">isi = Ruby Scripts and Libraries for ISI Export Format</h1><div class="navi">[<a href="index.en.html">English</a>/<a href="index.ja.html">Japanese</a>]</div>
21
+ <!-- Contents -->
22
+ </div>
23
+
24
+
25
+ <div class="slide">
26
+ <h2 id="LABEL-2">What is isi?</h2>
27
+ <p>
28
+ "isi" is a package of Ruby libraries and scripts for ISI Export Format.
29
+ "isi2bibtex" converts ISI Export Format to BibTeX Format.
30
+ "isi2html" generates a list of articles in an HTML file.
31
+ The package also includes "isi2kakenhi" and "isi2tohoku".
32
+ </p>
33
+ <p>
34
+ (Thomson Reuters Web of Science <a href="http://webofknowledge.com">http://webofknowledge.com</a> provides their bibliographic
35
+ information in ISI Export Format. You can get the tagged Marked List in
36
+ Web of Science by clicking the [SAVE TO FILE] button.)
37
+ </p>
38
+ </div>
39
+
40
+
41
+ <div class="slide">
42
+ <h2 id="LABEL-3">Where is the homepage of isi?</h2>
43
+ <p>
44
+ <a href="http://isi-rb.rubyforge.org/">http://isi-rb.rubyforge.org/</a>
45
+ </p>
46
+ </div>
47
+
48
+
49
+ <div class="slide">
50
+ <h2 id="LABEL-4">Where can I download isi?</h2>
51
+ <p>
52
+ Go to <a href="http://rubyforge.org/projects/isi-rb">http://rubyforge.org/projects/isi-rb</a> or <a href="http://rubygems.org/gems/isi">http://rubygems.org/gems/isi</a> .
53
+ </p>
54
+ </div>
55
+
56
+
57
+ <div class="slide">
58
+ <h2 id="LABEL-5">How can I install isi?</h2>
59
+ <p>
60
+ There are three different ways to install isi.
61
+ </p>
62
+ <h3 id="LABEL-6">I. Conservative way; use setup.rb</h3>
63
+ <p>
64
+ isi-X.Y.Z.tgz package can be installed as:
65
+ </p>
66
+ <pre>
67
+ $ tar zxf isi-X.Y.Z.tgz
68
+ $ cd isi-X.Y.Z
69
+ $ su
70
+ # ruby setup.rb
71
+ </pre>
72
+ <p>
73
+ Note that the text-format and text-hyphen libraries <a href="http://rubyforge.org/projects/text-format">http://rubyforge.org/projects/text-format</a> is required.
74
+ </p>
75
+ <h3 id="LABEL-7">II. RubyGems users can take an easy way</h3>
76
+ <p>
77
+ There is an easy way, if you are a RubyGems user:
78
+ </p>
79
+ <pre>
80
+ $ su
81
+ # gem install isi
82
+ </pre>
83
+ <p>
84
+ If you do not have the text-format and text-hyphen libraries,
85
+ gem will download and install the libraries automatically.
86
+ </p>
87
+ <h3 id="LABEL-8">III. Simple way; just copy isi.rb and journaltitleabbreviation.rb</h3>
88
+ <p>
89
+ Just copy lib/isi.rb (isi-X.Y.Z.rb) and
90
+ lib/journaltitleabbreviation.rb (journaltitleabbreviation-X.Y.Z.rb)
91
+ into your working directory which contains your saved "Marked List",
92
+ e.g. savedrecs.txt.
93
+ </p>
94
+ <pre>
95
+ $ cp lib/isi.rb lib/journaltitleabbreviation.rb ~/your/working/directory/
96
+ ($ cp isi-X.Y.Z.rb ~/your/working/directory/isi.rb)
97
+ $ cp lib/journaltitleabbreviation.rb ~/your/working/directory/
98
+ ($ cp journaltitleabbreviation-X.Y.Z.rb ~/your/working/directory/journaltitleabbreviation.rb)
99
+ $ cd ~/your/working/directory/
100
+ $ ruby isi.rb savedrecs1.txt savedrecs2.txt
101
+ $ ruby isi.rb < savedrecs.txt > savedrecs.bib
102
+ </pre>
103
+ <p>
104
+ Last two lines are examples of usage for this installation way.
105
+ </p>
106
+ <p>
107
+ Note that the text-format and text-hyphen libraries <a href="http://rubyforge.org/projects/text-format">http://rubyforge.org/projects/text-format</a> is required.
108
+ </p>
109
+ </div>
110
+
111
+
112
+ <div class="slide">
113
+ <h2 id="LABEL-9">How can I use it?</h2>
114
+ <h3 id="LABEL-10">Save the marked records to an output file in ISI Web of Science</h3>
115
+ <p>
116
+ Mark the articles in ISI Web of Science. Then, view and save the
117
+ marked records to an output file (savedrecs.txt). I recommend to
118
+ check "Author(s)", "Title", "Source", "abstract*", "keywords",
119
+ "times cited" and "source abbreviation" as the fields to include
120
+ in the output file.
121
+ </p>
122
+ <h3 id="LABEL-11">Here are some examples</h3>
123
+ <pre>
124
+ $ isi2bibtex savedrecs.txt
125
+ $ isi2bibtex savedrecs1.txt savedrecs2.txt > savedrecs.bib
126
+ $ isi2bibtex < savedrecs.txt > savedrecs.bib
127
+ $ cat savedrecs.txt | isi2bibtex > savedrecs.bib
128
+ </pre>
129
+ <h3 id="LABEL-12">Some other useful executables</h3>
130
+ <p>
131
+ For KakenhiLaTeX <a href="http://osksn2.hep.sci.osaka-u.ac.jp/~taku/kakenhiLaTeX/">http://osksn2.hep.sci.osaka-u.ac.jp/~taku/kakenhiLaTeX/</a>
132
+ </p>
133
+ <pre>
134
+ $ isi2kakenhi --help
135
+ $ isi2kakenhi --name-regexp='(H\. Yukawa|Hideki Yukawa)' savedrecs.txt > papers.tex
136
+ </pre>
137
+ <p>
138
+ For the database of "Academic Research Staff at Tohoku University" <a href="http://db.tohoku.ac.jp/whois/TunvTopE.html">http://db.tohoku.ac.jp/whois/TunvTopE.html</a>
139
+ </p>
140
+ <pre>
141
+ $ isi2tohoku --help
142
+ $ isi2tohoku --id 12345678 --name 'Example Name' savedrecs.txt
143
+ </pre>
144
+ <p>
145
+ To convert ISI Export Format to HTML
146
+ </p>
147
+ <pre>
148
+ $ isi2html --help
149
+ $ isi2html --full-name='Hideki Yukawa' --name-regexp='(H\. Yukawa|Hideki Yukawa)' savedrecs.txt > index.html
150
+ </pre>
151
+ <h3 id="LABEL-13">You can use isi as a library.</h3>
152
+ <p>
153
+ Here is an example:
154
+ </p>
155
+ <pre>
156
+ #!/usr/bin/env ruby
157
+ ##
158
+ require 'rubygems' # You may not need this line.
159
+ require 'isi'
160
+
161
+ class ISI_record
162
+ def to_title_author
163
+ "#{@hash['TI']} - #{and_separated_authors}\n"
164
+ end
165
+ end
166
+
167
+ while rec = ARGF.read_an_ISI_record
168
+ print rec.to_title_author
169
+ end
170
+ </pre>
171
+ </div>
172
+
173
+
174
+ <div class="slide">
175
+ <h2 id="LABEL-14">Copying</h2>
176
+ <p>
177
+ isi is distributed in the hope that
178
+ it will be useful, but WITHOUT ANY WARRANTY.
179
+ You can copy, modify and redistribute isi,
180
+ but only under the conditions described in
181
+ the GNU General Public License (the "GPL").
182
+ For more detail, see COPYING.
183
+ </p>
184
+ </div>
185
+
186
+
187
+ <div class="slide">
188
+ <h2 id="LABEL-15">Thanks to contributor(s)!</h2>
189
+ <p>
190
+ * Marcin Dulak
191
+ </p>
192
+ </div>
193
+
194
+
195
+ <div class="slide">
196
+ <h2 id="LABEL-16">Who is the author?</h2>
197
+ <p>
198
+ NISHIMATSU Takeshi t-nissie{at}imr.tohoku.ac.jp
199
+ </p>
200
+ </div>
201
+
202
+
203
+ <div class="slide">
204
+ <h2 id="LABEL-17">Why did he write it?</h2>
205
+ <p>
206
+ Because he do not like the output format of the Perl version.
207
+ </p>
208
+ </div>
209
+
210
+
211
+ <div class="slide">
212
+ <h2 id="LABEL-18">Is there a Perl version?</h2>
213
+ <p>
214
+ Yes.
215
+ You can find the Perl version by Jonathan Swinton, Ben Bolker, Anthony Stone, John J. Lee
216
+ in CTAN <a href="http://www.ctan.org/tex-archive/biblio/bibtex/utils/isi2bibtex">http://www.ctan.org/tex-archive/biblio/bibtex/utils/isi2bibtex</a> .
217
+ </p>
218
+ </div>
219
+
220
+
221
+ <div class="slide">
222
+ <h2 id="LABEL-19">I do not like the output format of isi2bibtex, neither!</h2>
223
+ <p>
224
+ The output format is defined in the source code WYSIWYGly.
225
+ So you can easily change the output format by yourself.
226
+ </p>
227
+ </div>
228
+
229
+
230
+ <div class="slide">
231
+ <h2 id="LABEL-20">How can I get the latest source tree of isi?</h2>
232
+ <p>
233
+ You can checkout the latest source tree of isi anonymously from
234
+ RubyForge with svn(1) command:
235
+ </p>
236
+ <pre>
237
+ $ svn checkout svn://rubyforge.org/var/svn/isi-rb/isi
238
+ </pre>
239
+ </div>
240
+
241
+
242
+ <div class="slide">
243
+ <h2 id="LABEL-21">Meanings of tags in ISI Export Format</h2>
244
+ <h3 id="LABEL-22">file-unique tags</h3>
245
+ <pre>
246
+ FN: File type. The file starts with 'FN ISI Export Format' or 'FN Thomson Reuters Web of Knowledge'
247
+ VR: Version number of ISI export file format
248
+ EF: End of file
249
+ </pre>
250
+ <h3 id="LABEL-23">normal tags</h3>
251
+ <pre>
252
+ AB: Abstract
253
+ AF: Authors Full (AU Foo, BAR -> AF Foo, B. A. R.; AU Nishimatsu, T -> AF Nishimatsu Takeshi)
254
+ AP: Article number of new APS journals (in ISI Web of Knowledge, 2008-)
255
+ AR: Article number of new APS journals
256
+ AU: Authors
257
+ BE: Editors of Proceedings ???
258
+ BN: ISBN
259
+ BP: Beginning page
260
+ C1: Research addresses
261
+ CA: Group authors
262
+ CL: Conference location
263
+ CR: Cited references
264
+ CT: Conference title
265
+ CY: Conference Date
266
+ DE: Original keywords
267
+ DI: DOI
268
+ DT: Document type
269
+ ED: Editors
270
+ EM: E-mail address
271
+ EP: Ending page
272
+ ER: end of a record
273
+ FN: File name
274
+ FU: Funding agency and grant number
275
+ FX: Funding text
276
+ GA: IDS number (ISI original)
277
+ HO: Conference host
278
+ ID: New keywords given by ISI
279
+ IS: issue
280
+ J9: 29-character journal title abbreviation
281
+ JI: ISO journal title abbreviation
282
+ LA: Language
283
+ NR: Cited reference count
284
+ PD: Publication date e.g. "JUN 8" or "JUL"
285
+ PA: Publisher Address
286
+ PG: the number of pages
287
+ PI: Publisher city
288
+ PN: Part number
289
+ PT: Publication type (e.g., book, journal, book in series)
290
+ PU: Publisher
291
+ PY: Publication year
292
+ RID: Researcher ID
293
+ RP: Reprint address
294
+ SE: Book series title
295
+ SI: Special issue
296
+ SN: ISSN
297
+ SO: journal title, in full
298
+ SP: Conference Sponsors
299
+ SU: Supplement
300
+ TC: Times cited
301
+ TI: Title
302
+ UT: ISI unique article identifier
303
+ VL: Volume
304
+ WC: Research field
305
+ WP: Publisher web address
306
+ Z9: Total times cited ???
307
+ </pre>
308
+ <h3 id="LABEL-24">isi original tags</h3>
309
+ <pre>
310
+ UR: URL
311
+ </pre>
312
+ <h3 id="LABEL-25">See also</h3>
313
+ <p>
314
+ <a href="http://images.webofknowledge.com/WOKRS52B10/help/ja/WOS/hs_wos_fieldtags.html">http://images.webofknowledge.com/WOKRS52B10/help/ja/WOS/hs_wos_fieldtags.html</a>
315
+ </p>
316
+ </div>
317
+
318
+
319
+ <div class="slide">
320
+ <h2 id="LABEL-26">Known bugs</h2>
321
+
322
+ <ul>
323
+ <li>none.</li>
324
+ </ul>
325
+ </div>
326
+
327
+
328
+ <div class="slide">
329
+ <h2 id="LABEL-27">TODO</h2>
330
+
331
+ <ul>
332
+ <li>In lib/isi.rb, combine
333
+ ISI_record#and_separated_authors() and
334
+ ISI_record#comma_and_separated_authors() into
335
+ ISI_record#separated_authors().</li>
336
+ <li>Write papers, not tools for writing papers.</li>
337
+ <li>tests/isi_test.rb</li>
338
+ <li>Move output formats from lib/isi.rb to isi2html, isi2tohoku and isi2kakenhi.
339
+ Leave that for isi2bibtex in lib/isi.rb.</li>
340
+ <li>We do not need journaltitleabbreviation.rb any more.</li>
341
+ <li>Daemon for Linux. Automatic ~/Desktop/savedrecs.txt -&gt; savedrecs.bib
342
+ using inotify().</li>
343
+ </ul>
344
+ </div>
345
+ </body>
346
+ </html>
@@ -15,7 +15,7 @@
15
15
  </div>
16
16
 
17
17
  <p>
18
- 「isi」はISI社の巨大な学術論文データベース
18
+ 「isi」はISI社(現トムソン・ロイター)の巨大な学術論文データベース
19
19
  <a href="http://www.isiknowledge.com/">Web of Science</a>
20
20
  のタグのついた出力ファイル(ISI形式)
21
21
  をBibTeX形式やHTMLなどに変換するRubyスクリプトとライブラリのパッケージです.
@@ -82,25 +82,25 @@ gem install isi -p http://proxy.example.com:8080
82
82
 
83
83
 
84
84
  <p>
85
- ★ 変換したいISI形式のファイルを用意します. ここではfoo.isiとします.
86
- なお,<a href="http://www.isiknowledge.com/">Web of Science</a>でセーブのときに "Author(s)","Title","Source","abstract*","keywords","times cited"
87
- そして "source abbreviation" をチェックしておくとよいでしょう.
85
+ ★ 変換したいISI形式のファイルを用意します. ここではsavedrecs.txtとします.
86
+ なお,<a href="http://www.isiknowledge.com/">Web of Science</a>でセーブのときに
87
+ 「ジャーナル省略形」や「抄録」にもチェックを付けておくとよいでしょう.
88
88
  </p>
89
89
 
90
90
  <p>
91
- foo.isiをBibTeX形式のfoo.bibに変換する方法:
91
+ savedrecs.txtをBibTeX形式のfoo.bibに変換する方法:
92
92
  </p>
93
93
 
94
94
  <pre>
95
- isi2bibtex foo.isi &gt; foo.bib
95
+ isi2bibtex savedrecs.txt &gt; foo.bib
96
96
  </pre>
97
97
 
98
98
  <p>
99
- foo.isiを「論文一括登録ファイル」形式のfoo.xlcに変換したいなら:
99
+ savedrecs.txtを「論文一括登録ファイル」形式のfoo.xlcに変換したいなら:
100
100
  </p>
101
101
 
102
102
  <pre>
103
- isi2tohoku --id 12345678 --name 'Example Name' foo.isi &gt; foo.xlc
103
+ isi2tohoku --id 12345678 --name 'Example Name' savedrecs.txt &gt; foo.xlc
104
104
  </pre>
105
105
 
106
106
  <p>
@@ -116,12 +116,12 @@ isi2tohoku --help
116
116
  </p>
117
117
 
118
118
  <p>
119
- foo.isiをHTML形式のfoo.htmlに変換したいなら:
119
+ savedrecs.txtをHTML形式のfoo.htmlに変換したいなら:
120
120
  </p>
121
121
 
122
122
  <pre>
123
123
  isi2html --help
124
- isi2html --name-regexp='(H\. Yukawa|Hideki Yukawa)' --full-name='Hideki Yukawa' foo.isi &gt; foo.html
124
+ isi2html --name-regexp='(H\. Yukawa|Hideki Yukawa)' --full-name='Hideki Yukawa' savedrecs.txt &gt; foo.html
125
125
  </pre>
126
126
 
127
127
  <p>
data/lib/isi.rb CHANGED
@@ -1,11 +1,17 @@
1
1
  #!/usr/bin/env ruby
2
- # Time-stamp: <2011-07-19 10:20:05 takeshi>
2
+ # Time-stamp: <2011-07-21 17:09:44 takeshi>
3
3
  # Author: Takeshi Nishimatsu
4
4
  # Project homepage: http://isi-rb.rubyforge.org/
5
5
  # Usage: ruby isi.rb savedrecs.txt > savedrecs.bib
6
6
  ##
7
- ISI_RB_VERSION = '1.2.2'
7
+ ISI_RB_VERSION = '1.2.3'
8
8
  require 'text/format' # http://rubyforge.org/projects/text-format/
9
+
10
+ # For m17n of Ruby 1.9.x. Thanks, Masayoshi Takahashi-san [ruby-list:47159].
11
+ if defined?(Encoding) && Encoding.respond_to?("default_external")
12
+ Encoding.default_external = "UTF-8"
13
+ end
14
+
9
15
  class ISI_record
10
16
  public
11
17
  @@order = 0
@@ -212,7 +218,7 @@ def ARGF.read_an_ISI_record
212
218
  while line = gets
213
219
  #===== a few special cases
214
220
  return ISI_record.new(hash) if line =~ /^ER/
215
- next if line =~ /^(EF|FN|FN|VR)/ # ignore file-unique tags
221
+ next if line =~ /^(EF|FN|.FN|...FN|VR)/ # ignore file-unique tags
216
222
  next if line =~ /^\s*$/ # ignore blank lines
217
223
  while line =~ /\!$/
218
224
  line.chomp!.chop! # continued to next line if the line ends with "!"
@@ -236,7 +242,7 @@ def ARGF.read_an_ISI_record
236
242
  else
237
243
  hash[$1] = $2
238
244
  end
239
- when /^(AB|AP|AR|BN|BP|C1|CA|CL|CT|CY|DE|DI|DT|ED|EM|EP|FN|FU|FX|GA|HO|ID|IS|J9|JI|LA|PA|PD|PI|PN|PT|PU|RP|SC|SE|SI|SN|SO|SP|SU|TI|UT|VL|WC) (.*)$/
245
+ when /^(AB|AP|AR|BN|BP|C1|CA|CL|CT|CY|DE|DI|DT|ED|EM|EP|FU|FX|GA|HO|ID|IS|J9|JI|LA|PA|PD|PI|PN|PT|PU|RP|SC|SE|SI|SN|SO|SP|SU|TI|UT|VL|WC) (.*)$/
240
246
  tag = $1
241
247
  str = $2
242
248
  while (line = gets) =~ /^ /
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isi
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 2
10
- version: 1.2.2
9
+ - 3
10
+ version: 1.2.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Takeshi Nishimatsu
@@ -15,7 +15,7 @@ autorequire: lib/isi.rb
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-07-19 00:00:00 +09:00
18
+ date: 2011-07-21 00:00:00 +09:00
19
19
  default_executable: isi2bibtex
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency