Sha256: 5b6c6e3b8a52b0190e2b8fe9b2dd478de5bf2ec58352e8c4a1766c5f9e46b81b

Contents?: true

Size: 1.07 KB

Versions: 24

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true

module Bolognese
  module Writers
    module BibtexWriter
      def bibtex
        return nil unless valid?

        pages = container.to_h["firstPage"].present? ? [container["firstPage"], container["lastPage"]].join("-") : nil

        bib = {
          bibtex_type: types["bibtex"].presence || "misc",
          bibtex_key: normalize_doi(doi),
          doi: doi,
          url: url,
          author: authors_as_string(creators),
          keywords: subjects.present? ? Array.wrap(subjects).map { |k| parse_attributes(k, content: "subject", first: true) }.join(", ") : nil,
          language: language,
          title: parse_attributes(titles, content: "title", first: true),
          journal: container && container["title"],
          volume: container.to_h["volume"],
          issue: container.to_h["issue"],
          pages: pages,
          publisher: publisher,
          year: publication_year,
          copyright: Array.wrap(rights_list).map { |l| l["rights"] }.first,
        }.compact
        BibTeX::Entry.new(bib).to_s
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
bolognese-1.8.12 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.8.10 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.8.9 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.8.8 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.8.7 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.8.6 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.8.5 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.8.4 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.8.3 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.8.2 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.8.1 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.8 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.7.3 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.7.2 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.7.1 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.6.12 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.6.11 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.6.10 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.6.9 lib/bolognese/writers/bibtex_writer.rb
bolognese-1.6.8 lib/bolognese/writers/bibtex_writer.rb