bibtex-ruby 2.2.1 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bibtex-ruby might be problematic. Click here for more details.

data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bibtex-ruby (2.2.1)
4
+ bibtex-ruby (2.2.2)
5
5
  latex-decode (>= 0.0.6)
6
6
  multi_json (~> 1.3)
7
7
 
data/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ 2.2.2 / 2013-15-01
2
+ ==================
3
+
4
+ * Improves Citeproc export #61 #62 (@plessl)
5
+
1
6
  2.2.1 / 2013-13-01
2
7
  ==================
3
8
 
data/README.md CHANGED
@@ -346,6 +346,34 @@ Use with caution, though, as this method will treat names as identical
346
346
  as long as their initials are the same. That is to say, 'Poe, Eric A.' would
347
347
  be extend to 'Poe, Edgar Allen'.
348
348
 
349
+ ### Duplicates
350
+
351
+ Large bibliographies often contain duplicate data, i.e., duplicate entries
352
+ which are not completely identical (e.g., authors or editors with first
353
+ names or initials, titles using different casing, different keywords etc.).
354
+ BibTex-Ruby allows you to group your bibliography by any number of fields
355
+ in order to detect such duplicate entries.
356
+
357
+ b.select_duplicates_by :year, :title
358
+ #=> groups the bibliography by using the year and title field as key
359
+
360
+ b.duplicates?
361
+ #=> whether or not the bibliography contains any duplicates
362
+
363
+ For more complex requirements you can use the `#group_by` method directly.
364
+ This methods accepts a list of arguments whose value will be used for grouping
365
+ and, additionally, a block. The current digest and each individual entry will
366
+ be passed to the block and the block's return value is used as the final
367
+ digest.
368
+
369
+ The duplicate methods above, for example, do something like this:
370
+
371
+ group_by(:year, :title) do |digest, entry|
372
+ digest.gsub(/\s+/, '').downcase
373
+ end
374
+
375
+ You can use this method, for example, to match entries only by their author's
376
+ last name and so on and so forth.
349
377
 
350
378
  ### Filters
351
379
 
data/lib/bibtex/entry.rb CHANGED
@@ -77,6 +77,7 @@ module BibTeX
77
77
  url URL
78
78
  doi DOI
79
79
  year issued
80
+ type genre
80
81
  }.map(&:intern)]).freeze
81
82
 
82
83
  CSL_FIELDS = %w{ abstract annote archive archive_location archive-place
@@ -696,10 +697,17 @@ module BibTeX
696
697
  hash[CSL_FILTER[k].to_s] = v.to_citeproc(options) unless DATE_FIELDS.include?(k)
697
698
  end
698
699
 
699
- hash['id'] = key.to_s
700
+ hash['id'] = key.to_s
701
+ hash['type'] = CSL_TYPES[type].to_s
700
702
 
701
- hash['bibtex-type'] = hash['type'] if hash.key?('type')
702
- hash['type'] = CSL_TYPES[type].to_s
703
+ case type
704
+ when :mastersthesis
705
+ hash['genre'] = "Master's thesis"
706
+ when :phdthesis
707
+ hash['genre'] = 'PhD thesis'
708
+ else
709
+ # empty
710
+ end unless hash.key?('genre')
703
711
 
704
712
  hash['issued'] = citeproc_date
705
713
 
@@ -20,7 +20,7 @@ module BibTeX
20
20
  module Version
21
21
  MAJOR = 2
22
22
  MINOR = 2
23
- PATCH = 1
23
+ PATCH = 2
24
24
  BUILD = nil
25
25
 
26
26
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.').freeze
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bibtex-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-13 00:00:00.000000000 Z
12
+ date: 2013-01-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: latex-decode
@@ -162,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
162
  version: '0'
163
163
  segments:
164
164
  - 0
165
- hash: -596806330285965397
165
+ hash: -2827953330493505322
166
166
  required_rubygems_version: !ruby/object:Gem::Requirement
167
167
  none: false
168
168
  requirements:
@@ -171,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
171
171
  version: '0'
172
172
  segments:
173
173
  - 0
174
- hash: -596806330285965397
174
+ hash: -2827953330493505322
175
175
  requirements: []
176
176
  rubyforge_project:
177
177
  rubygems_version: 1.8.24