asciidoctor-bibliography 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.codeclimate.yml +5 -0
- data/.gitignore +8 -2
- data/.hound.yml +3 -0
- data/.oss-guides.rubocop.yml +1076 -0
- data/.rubocop.yml +4 -10
- data/.travis.yml +2 -1
- data/Gemfile +1 -1
- data/README.adoc +224 -24
- data/Rakefile +2 -2
- data/asciidoctor-bibliography.gemspec +23 -23
- data/lib/asciidoctor-bibliography.rb +2 -2
- data/lib/asciidoctor-bibliography/asciidoctor.rb +4 -4
- data/lib/asciidoctor-bibliography/asciidoctor/bibliographer_preprocessor.rb +9 -56
- data/lib/asciidoctor-bibliography/bibliographer.rb +6 -7
- data/lib/asciidoctor-bibliography/citation.rb +56 -53
- data/lib/asciidoctor-bibliography/citation_item.rb +19 -10
- data/lib/asciidoctor-bibliography/database.rb +18 -6
- data/lib/asciidoctor-bibliography/databases/bibtex.rb +10 -10
- data/lib/asciidoctor-bibliography/errors.rb +16 -0
- data/lib/asciidoctor-bibliography/formatters/csl.rb +13 -2
- data/lib/asciidoctor-bibliography/formatters/tex.rb +42 -44
- data/lib/asciidoctor-bibliography/helpers.rb +9 -9
- data/lib/asciidoctor-bibliography/index.rb +17 -13
- data/lib/asciidoctor-bibliography/options.rb +97 -0
- data/lib/asciidoctor-bibliography/version.rb +1 -1
- data/samples/latex_macros_in_bibtex/sample.adoc +1 -1
- data/samples/standard/sample-default.adoc +3 -3
- data/samples/standard/sample-default.html +9 -8
- data/samples/standard/sample-din.adoc +1 -1
- data/samples/standard/sample-din.html +4 -3
- data/samples/standard/sample-ieee.adoc +1 -1
- data/samples/standard/sample-ieee.html +4 -3
- data/samples/tex/sample-authoryear.adoc +7 -17
- data/samples/tex/sample-authoryear.html +10 -32
- data/samples/tex/sample-numbers.adoc +7 -18
- data/samples/tex/sample-numbers.html +7 -29
- data/samples/tex/{sample-ordering.adoc → sample-sort.adoc} +6 -4
- data/spec/citation_item_spec.rb +67 -19
- data/spec/database_spec.rb +21 -16
- data/spec/helpers_spec.rb +46 -44
- data/spec/options_spec.rb +43 -0
- data/spec/spec_helper.rb +53 -55
- metadata +9 -7
- data/lib/asciidoctor-bibliography/exceptions.rb +0 -5
- data/samples/tex/sample-din.adoc +0 -74
- data/samples/tex/sample-din.html +0 -556
- data/samples/tex/sample-ordering.html +0 -467
@@ -9,26 +9,26 @@ module AsciidoctorBibliography
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def self.html_to_asciidoc(string)
|
12
|
-
string
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
string.
|
13
|
+
gsub(%r{<\/?i>}, "_").
|
14
|
+
gsub(%r{<\/?b>}, "*").
|
15
|
+
gsub(%r{<\/?span.*?>}, "").
|
16
|
+
gsub(/\{|\}/, "")
|
17
17
|
# TODO: bracket dropping is inappropriate here.
|
18
18
|
end
|
19
19
|
|
20
20
|
# NOTE: mostly stolen from ActiveSupport.
|
21
21
|
def self.to_sentence(array, options = {})
|
22
22
|
default_connectors = {
|
23
|
-
:
|
24
|
-
:
|
25
|
-
:
|
23
|
+
words_connector: ", ",
|
24
|
+
two_words_connector: " and ",
|
25
|
+
last_word_connector: ", and ",
|
26
26
|
}
|
27
27
|
options = default_connectors.merge!(options)
|
28
28
|
|
29
29
|
case array.length
|
30
30
|
when 0
|
31
|
-
|
31
|
+
""
|
32
32
|
when 1
|
33
33
|
array[0].to_s.dup
|
34
34
|
when 2
|
@@ -1,7 +1,7 @@
|
|
1
|
-
require
|
2
|
-
require_relative
|
1
|
+
require "asciidoctor/attribute_list"
|
2
|
+
require_relative "formatters/csl"
|
3
3
|
|
4
|
-
require_relative
|
4
|
+
require_relative "helpers"
|
5
5
|
|
6
6
|
module AsciidoctorBibliography
|
7
7
|
class Index
|
@@ -16,16 +16,21 @@ module AsciidoctorBibliography
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def render(bibliographer)
|
19
|
-
formatter = Formatters::CSL.new(bibliographer.options
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
formatter = Formatters::CSL.new(bibliographer.options.style)
|
20
|
+
|
21
|
+
unless bibliographer.options.sort.nil?
|
22
|
+
formatter.replace_bibliography_sort bibliographer.options.sort
|
23
|
+
end
|
24
|
+
|
25
|
+
filtered_db = bibliographer.occurring_keys.
|
26
|
+
map { |id| bibliographer.database.find_entry_by_id(id) }.
|
27
|
+
map { |entry| prepare_entry_metadata bibliographer, entry }
|
23
28
|
formatter.import filtered_db
|
24
29
|
formatter.sort(mode: :bibliography)
|
25
30
|
|
26
31
|
lines = []
|
27
32
|
formatter.bibliography.each_with_index do |reference, index|
|
28
|
-
line =
|
33
|
+
line = "{empty}"
|
29
34
|
line << "anchor:#{anchor_id(formatter.data[index].id)}[]"
|
30
35
|
line << Helpers.html_to_asciidoc(reference)
|
31
36
|
lines << line
|
@@ -36,13 +41,13 @@ module AsciidoctorBibliography
|
|
36
41
|
end
|
37
42
|
|
38
43
|
def prepare_entry_metadata(bibliographer, entry)
|
39
|
-
entry
|
40
|
-
|
41
|
-
|
44
|
+
entry.
|
45
|
+
merge('citation-number': bibliographer.appearance_index_of(entry["id"])).
|
46
|
+
merge('citation-label': entry["id"]) # TODO: smart label generators
|
42
47
|
end
|
43
48
|
|
44
49
|
def anchor_id(target)
|
45
|
-
[
|
50
|
+
["bibliography", target].compact.join("-")
|
46
51
|
end
|
47
52
|
|
48
53
|
def render_entry_label(target, formatter)
|
@@ -54,4 +59,3 @@ module AsciidoctorBibliography
|
|
54
59
|
end
|
55
60
|
end
|
56
61
|
end
|
57
|
-
|
@@ -0,0 +1,97 @@
|
|
1
|
+
require "asciidoctor"
|
2
|
+
require_relative "errors"
|
3
|
+
require "csl/styles"
|
4
|
+
|
5
|
+
module AsciidoctorBibliography
|
6
|
+
class Options < Hash
|
7
|
+
PREFIX = "bibliography-".freeze
|
8
|
+
|
9
|
+
DEFAULTS = {
|
10
|
+
"bibliography-database" => nil,
|
11
|
+
"bibliography-style" => "apa",
|
12
|
+
"bibliography-hyperlinks" => "true",
|
13
|
+
"bibliography-order" => "alphabetical", # TODO: deprecate
|
14
|
+
"bibliography-tex-style" => "authoryear",
|
15
|
+
"bibliography-sort" => nil,
|
16
|
+
}.freeze
|
17
|
+
|
18
|
+
def initialize
|
19
|
+
merge DEFAULTS
|
20
|
+
end
|
21
|
+
|
22
|
+
def style
|
23
|
+
# Error throwing delegated to CSL library. Seems to have nice messages.
|
24
|
+
self["bibliography-style"] || DEFAULTS["bibliography-style"]
|
25
|
+
end
|
26
|
+
|
27
|
+
def hyperlinks?
|
28
|
+
value = self["bibliography-hyperlinks"] || DEFAULTS["bibliography-hyperlinks"]
|
29
|
+
unless %w[true false].include? value
|
30
|
+
message = "Option :bibliography-hyperlinks: has an invalid value (#{value}). Allowed values are 'true' and 'false'."
|
31
|
+
raise Errors::Options::Invalid, message
|
32
|
+
end
|
33
|
+
|
34
|
+
value == "true"
|
35
|
+
end
|
36
|
+
|
37
|
+
def database
|
38
|
+
value = self["bibliography-database"] || DEFAULTS["bibliography-database"]
|
39
|
+
if value.nil?
|
40
|
+
message = "Option :bibliography-database: is mandatory. A bibliographic database is required."
|
41
|
+
raise Errors::Options::Missing, message
|
42
|
+
end
|
43
|
+
|
44
|
+
value
|
45
|
+
end
|
46
|
+
|
47
|
+
def sort
|
48
|
+
begin
|
49
|
+
value = YAML.safe_load self["bibliography-sort"].to_s
|
50
|
+
rescue Psych::SyntaxError => psych_error
|
51
|
+
message = "Option :bibliography-sort: is not a valid YAML string: \"#{psych_error}\"."
|
52
|
+
raise Errors::Options::Invalid, message
|
53
|
+
end
|
54
|
+
|
55
|
+
value = self.class.validate_parsed_sort_type! value
|
56
|
+
value = self.class.validate_parsed_sort_contents! value unless value.nil?
|
57
|
+
value
|
58
|
+
end
|
59
|
+
|
60
|
+
def tex_style
|
61
|
+
self["bibliography-tex-style"] || DEFAULTS["bibliography-tex-style"]
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.validate_parsed_sort_type!(value)
|
65
|
+
return value if value.nil?
|
66
|
+
return value if value.is_a?(Array) && value.all? { |v| v.is_a? Hash }
|
67
|
+
return [value] if value.is_a? Hash
|
68
|
+
message = "Option :bibliography-sort: has an invalid value (#{value}). Please refer to manual for more info."
|
69
|
+
raise Errors::Options::Invalid, message
|
70
|
+
end
|
71
|
+
|
72
|
+
def self.validate_parsed_sort_contents!(array)
|
73
|
+
# TODO: should we restrict these? Double check the CSL spec.
|
74
|
+
allowed_keys = %w[variable macro sort names-min names-use-first names-use-last]
|
75
|
+
return array unless array.any? { |hash| (hash.keys - allowed_keys).any? }
|
76
|
+
message = "Option :bibliography-sort: has a value containing invalid keys (#{array}). Allowed keys are #{allowed_keys.inspect}. Please refer to manual for more info."
|
77
|
+
raise Errors::Options::Invalid, message
|
78
|
+
end
|
79
|
+
|
80
|
+
def self.new_from_reader(reader)
|
81
|
+
header_attributes = get_header_attributes_hash reader
|
82
|
+
header_attributes.select! { |key, _| DEFAULTS.keys.include? key }
|
83
|
+
new.merge header_attributes
|
84
|
+
end
|
85
|
+
|
86
|
+
def self.get_header_attributes_hash(reader)
|
87
|
+
# We peek at the document attributes we need, without perturbing the parsing flow.
|
88
|
+
# NOTE: we'll use this in a preprocessor and they haven't been parsed yet, there.
|
89
|
+
tmp_document = ::Asciidoctor::Document.new
|
90
|
+
tmp_reader = ::Asciidoctor::PreprocessorReader.new(tmp_document, reader.source_lines)
|
91
|
+
|
92
|
+
::Asciidoctor::Parser.
|
93
|
+
parse(tmp_reader, tmp_document, header_only: true).
|
94
|
+
attributes
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -1,9 +1,11 @@
|
|
1
1
|
= Sample usage of asciidoctor-bibliography
|
2
2
|
:bibliography-database: biblio.bib
|
3
|
-
:bibliography-hyperlinks:
|
3
|
+
:bibliography-hyperlinks: true
|
4
4
|
|
5
5
|
## Standard
|
6
6
|
|
7
|
+
cite:[Lane12a]+[Lane12b]
|
8
|
+
|
7
9
|
cite:[Anderson04]
|
8
10
|
|
9
11
|
cite:[Anderson04, page=10]
|
@@ -12,8 +14,6 @@ cite:[Anderson04, chapter=10]
|
|
12
14
|
|
13
15
|
cite:[Anderson04, page=10, chapter=12]
|
14
16
|
|
15
|
-
cite:[Lane12a]+[Lane12b]
|
16
|
-
|
17
17
|
cite:[Lane12a, page=42]+[Lane12b, opus=12]
|
18
18
|
|
19
19
|
## Bibliography
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
7
7
|
<meta name="generator" content="Asciidoctor 1.5.6.1">
|
8
|
-
<title>
|
8
|
+
<title>Sample usage of asciidoctor-bibliography</title>
|
9
9
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
|
10
10
|
<style>
|
11
11
|
/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
|
@@ -427,28 +427,29 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
427
427
|
</head>
|
428
428
|
<body class="article">
|
429
429
|
<div id="header">
|
430
|
+
<h1>Sample usage of asciidoctor-bibliography</h1>
|
430
431
|
</div>
|
431
432
|
<div id="content">
|
432
433
|
<div class="sect1">
|
433
434
|
<h2 id="_standard">Standard</h2>
|
434
435
|
<div class="sectionbody">
|
435
436
|
<div class="paragraph">
|
436
|
-
<p>(
|
437
|
+
<p>(<a href="#bibliography-Lane12a">Lane, 2000</a>; <a href="#bibliography-Lane12b">Mane & Smith, 2000</a>)</p>
|
437
438
|
</div>
|
438
439
|
<div class="paragraph">
|
439
|
-
<p>(Anderson et al., 2004
|
440
|
+
<p>(<a href="#bibliography-Anderson04">Anderson et al., 2004</a>)</p>
|
440
441
|
</div>
|
441
442
|
<div class="paragraph">
|
442
|
-
<p>(Anderson et al., 2004,
|
443
|
+
<p>(<a href="#bibliography-Anderson04">Anderson et al., 2004, p. 10</a>)</p>
|
443
444
|
</div>
|
444
445
|
<div class="paragraph">
|
445
|
-
<p>(Anderson et al., 2004, chap.
|
446
|
+
<p>(<a href="#bibliography-Anderson04">Anderson et al., 2004, chap. 10</a>)</p>
|
446
447
|
</div>
|
447
448
|
<div class="paragraph">
|
448
|
-
<p>(
|
449
|
+
<p>(<a href="#bibliography-Anderson04">Anderson et al., 2004, p. 10</a>)</p>
|
449
450
|
</div>
|
450
451
|
<div class="paragraph">
|
451
|
-
<p>(Lane, 2000, p. 42
|
452
|
+
<p>(<a href="#bibliography-Lane12a">Lane, 2000, p. 42</a>; <a href="#bibliography-Lane12b">Mane & Smith, 2000, op. 12</a>)</p>
|
452
453
|
</div>
|
453
454
|
</div>
|
454
455
|
</div>
|
@@ -469,7 +470,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
469
470
|
</div>
|
470
471
|
<div id="footer">
|
471
472
|
<div id="footer-text">
|
472
|
-
Last updated 2017-09-
|
473
|
+
Last updated 2017-09-17 18:42:29 CEST
|
473
474
|
</div>
|
474
475
|
</div>
|
475
476
|
</body>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
7
7
|
<meta name="generator" content="Asciidoctor 1.5.6.1">
|
8
|
-
<title>
|
8
|
+
<title>Sample usage of asciidoctor-bibliography</title>
|
9
9
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
|
10
10
|
<style>
|
11
11
|
/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
|
@@ -427,6 +427,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
427
427
|
</head>
|
428
428
|
<body class="article">
|
429
429
|
<div id="header">
|
430
|
+
<h1>Sample usage of asciidoctor-bibliography</h1>
|
430
431
|
</div>
|
431
432
|
<div id="content">
|
432
433
|
<div class="sect1">
|
@@ -442,7 +443,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
442
443
|
<p>[<a href="#bibliography-Anderson04">Anderson04, chap.10</a>]</p>
|
443
444
|
</div>
|
444
445
|
<div class="paragraph">
|
445
|
-
<p>[<a href="#bibliography-Anderson04">Anderson04,
|
446
|
+
<p>[<a href="#bibliography-Anderson04">Anderson04, p.10</a>]</p>
|
446
447
|
</div>
|
447
448
|
<div class="paragraph">
|
448
449
|
<p>[<a href="#bibliography-Lane12a">Lane12a</a>; <a href="#bibliography-Lane12b">Lane12b</a>]</p>
|
@@ -469,7 +470,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
469
470
|
</div>
|
470
471
|
<div id="footer">
|
471
472
|
<div id="footer-text">
|
472
|
-
Last updated 2017-09-
|
473
|
+
Last updated 2017-09-16 21:33:46 CEST
|
473
474
|
</div>
|
474
475
|
</div>
|
475
476
|
</body>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
7
7
|
<meta name="generator" content="Asciidoctor 1.5.6.1">
|
8
|
-
<title>
|
8
|
+
<title>Sample usage of asciidoctor-bibliography</title>
|
9
9
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
|
10
10
|
<style>
|
11
11
|
/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
|
@@ -427,6 +427,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
427
427
|
</head>
|
428
428
|
<body class="article">
|
429
429
|
<div id="header">
|
430
|
+
<h1>Sample usage of asciidoctor-bibliography</h1>
|
430
431
|
</div>
|
431
432
|
<div id="content">
|
432
433
|
<div class="sect1">
|
@@ -442,7 +443,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
442
443
|
<p><a href="#bibliography-Anderson04">[1, Ch. 10]</a></p>
|
443
444
|
</div>
|
444
445
|
<div class="paragraph">
|
445
|
-
<p><a href="#bibliography-Anderson04">[1,
|
446
|
+
<p><a href="#bibliography-Anderson04">[1, P. 10]</a></p>
|
446
447
|
</div>
|
447
448
|
<div class="paragraph">
|
448
449
|
<p><a href="#bibliography-Lane12a">[2]</a>, <a href="#bibliography-Lane12b">[3]</a></p>
|
@@ -469,7 +470,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
469
470
|
</div>
|
470
471
|
<div id="footer">
|
471
472
|
<div id="footer-text">
|
472
|
-
Last updated 2017-09-
|
473
|
+
Last updated 2017-09-16 21:33:46 CEST
|
473
474
|
</div>
|
474
475
|
</div>
|
475
476
|
</body>
|
@@ -1,23 +1,9 @@
|
|
1
1
|
= Sample usage of asciidoctor-bibliography
|
2
2
|
:bibliography-database: biblio.bib
|
3
|
+
:bibliography-tex-style: authoryear
|
4
|
+
:bibliography-style: apa
|
3
5
|
|
4
|
-
##
|
5
|
-
|
6
|
-
cite:[Lane12a]+[Lane12b]
|
7
|
-
|
8
|
-
cite:[Anderson04]
|
9
|
-
|
10
|
-
cite:[Anderson04, page=10]
|
11
|
-
|
12
|
-
cite:[Anderson04, chapter=10]
|
13
|
-
|
14
|
-
cite:[Anderson04, page=10, chapter=12]
|
15
|
-
|
16
|
-
## TeX-compatible
|
17
|
-
|
18
|
-
fullcite:[Anderson04] (fullcite, single)
|
19
|
-
|
20
|
-
fullcite:[Anderson04, page=123] (fullcite, single)
|
6
|
+
## Citations
|
21
7
|
|
22
8
|
citet:[Anderson04] (citet, single)
|
23
9
|
|
@@ -67,7 +53,11 @@ citeyearpar:[Anderson04] (citeyearpar, single)
|
|
67
53
|
|
68
54
|
citeyearpar:[Lane12a]+[Lane12b] (citeyearpar, multiple)
|
69
55
|
|
56
|
+
fullcite:[Anderson04] (fullcite)
|
57
|
+
|
58
|
+
|
70
59
|
## Bibliography
|
71
60
|
|
61
|
+
|
72
62
|
bibliography::[]
|
73
63
|
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
7
7
|
<meta name="generator" content="Asciidoctor 1.5.6.1">
|
8
|
-
<title>
|
8
|
+
<title>Sample usage of asciidoctor-bibliography</title>
|
9
9
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
|
10
10
|
<style>
|
11
11
|
/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
|
@@ -427,38 +427,13 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
427
427
|
</head>
|
428
428
|
<body class="article">
|
429
429
|
<div id="header">
|
430
|
+
<h1>Sample usage of asciidoctor-bibliography</h1>
|
430
431
|
</div>
|
431
432
|
<div id="content">
|
432
433
|
<div class="sect1">
|
433
|
-
<h2 id="
|
434
|
+
<h2 id="_citations">Citations</h2>
|
434
435
|
<div class="sectionbody">
|
435
436
|
<div class="paragraph">
|
436
|
-
<p>(<a href="#bibliography-Lane12a">Lane 2000</a>; <a href="#bibliography-Lane12b">Mane and Smith 2000</a>)</p>
|
437
|
-
</div>
|
438
|
-
<div class="paragraph">
|
439
|
-
<p>(<a href="#bibliography-Anderson04">Anderson et al. 2004</a>)</p>
|
440
|
-
</div>
|
441
|
-
<div class="paragraph">
|
442
|
-
<p>(<a href="#bibliography-Anderson04">Anderson et al. 2004, p. 10</a>)</p>
|
443
|
-
</div>
|
444
|
-
<div class="paragraph">
|
445
|
-
<p>(<a href="#bibliography-Anderson04">Anderson et al. 2004, chap. 10</a>)</p>
|
446
|
-
</div>
|
447
|
-
<div class="paragraph">
|
448
|
-
<p>(<a href="#bibliography-Anderson04">Anderson et al. 2004, chap. 12</a>)</p>
|
449
|
-
</div>
|
450
|
-
</div>
|
451
|
-
</div>
|
452
|
-
<div class="sect1">
|
453
|
-
<h2 id="_tex_compatible">TeX-compatible</h2>
|
454
|
-
<div class="sectionbody">
|
455
|
-
<div class="paragraph">
|
456
|
-
<p>Anderson, J. R., D. Bothell, M. D. Byrne, S. Douglass, C. Lebiere, and Y. L. Qin. 2004. “An Integrated Theory of the Mind.” <em>Psychological Review</em> 111 (4): 1036–60. (fullcite, single)</p>
|
457
|
-
</div>
|
458
|
-
<div class="paragraph">
|
459
|
-
<p>Anderson, J. R., D. Bothell, M. D. Byrne, S. Douglass, C. Lebiere, and Y. L. Qin. 2004. “An Integrated Theory of the Mind.” <em>Psychological Review</em> 111 (4): 123. (fullcite, single)</p>
|
460
|
-
</div>
|
461
|
-
<div class="paragraph">
|
462
437
|
<p><a href="#bibliography-Anderson04">Anderson et al. (2004)</a> (citet, single)</p>
|
463
438
|
</div>
|
464
439
|
<div class="paragraph">
|
@@ -530,26 +505,29 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
530
505
|
<div class="paragraph">
|
531
506
|
<p>(<a href="#bibliography-Lane12a">2000</a>; <a href="#bibliography-Lane12b">2000</a>) (citeyearpar, multiple)</p>
|
532
507
|
</div>
|
508
|
+
<div class="paragraph">
|
509
|
+
<p>Anderson, J. R., Bothell, D., Byrne, M. D., Douglass, S., Lebiere, C., & Qin, Y. L. (2004). An integrated theory of the mind. <em>Psychological Review</em>, <em>111</em>(4), 1036–1060. (fullcite)</p>
|
510
|
+
</div>
|
533
511
|
</div>
|
534
512
|
</div>
|
535
513
|
<div class="sect1">
|
536
514
|
<h2 id="_bibliography">Bibliography</h2>
|
537
515
|
<div class="sectionbody">
|
538
516
|
<div class="paragraph">
|
539
|
-
<p><a id="bibliography-Anderson04"></a>Anderson, J. R., D
|
517
|
+
<p><a id="bibliography-Anderson04"></a>Anderson, J. R., Bothell, D., Byrne, M. D., Douglass, S., Lebiere, C., & Qin, Y. L. (2004). An integrated theory of the mind. <em>Psychological Review</em>, <em>111</em>(4), 1036–1060.</p>
|
540
518
|
</div>
|
541
519
|
<div class="paragraph">
|
542
|
-
<p><a id="bibliography-Lane12a"></a>Lane, P. 2000. <em>Book
|
520
|
+
<p><a id="bibliography-Lane12a"></a>Lane, P. (2000). <em>Book title</em>. Publisher.</p>
|
543
521
|
</div>
|
544
522
|
<div class="paragraph">
|
545
|
-
<p><a id="bibliography-Lane12b"></a>Mane, K.,
|
523
|
+
<p><a id="bibliography-Lane12b"></a>Mane, K., & Smith, D. (2000). <em>Book title</em>. Publisher.</p>
|
546
524
|
</div>
|
547
525
|
</div>
|
548
526
|
</div>
|
549
527
|
</div>
|
550
528
|
<div id="footer">
|
551
529
|
<div id="footer-text">
|
552
|
-
Last updated 2017-09-
|
530
|
+
Last updated 2017-09-17 18:31:37 CEST
|
553
531
|
</div>
|
554
532
|
</div>
|
555
533
|
</body>
|