asciidoctor-bibliography 0.3.0 → 0.4.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/README.adoc +23 -4
- data/asciidoctor-bibliography.gemspec +8 -8
- data/lib/asciidoctor-bibliography.rb +6 -0
- data/lib/asciidoctor-bibliography/asciidoctor/bibliographer_preprocessor.rb +35 -23
- data/lib/asciidoctor-bibliography/bibliographer.rb +0 -15
- data/lib/asciidoctor-bibliography/citation.rb +29 -22
- data/lib/asciidoctor-bibliography/databases/bibtex.rb +4 -1
- data/lib/asciidoctor-bibliography/formatter.rb +28 -0
- data/lib/asciidoctor-bibliography/index.rb +24 -16
- data/lib/asciidoctor-bibliography/options.rb +65 -32
- data/lib/asciidoctor-bibliography/version.rb +1 -1
- data/lib/citeproc/ruby/formats/adoc.rb +36 -0
- data/lib/csl/styles/tex-citealp-authoryear.csl +117 -0
- data/lib/csl/styles/tex-citealp-numeric.csl +116 -0
- data/lib/csl/styles/tex-citealps-authoryear.csl +117 -0
- data/lib/csl/styles/tex-citealps-numeric.csl +116 -0
- data/lib/csl/styles/tex-citealt-authoryear.csl +119 -0
- data/lib/csl/styles/tex-citealt-numeric.csl +119 -0
- data/lib/csl/styles/tex-citealts-authoryear.csl +119 -0
- data/lib/csl/styles/tex-citealts-numeric.csl +119 -0
- data/lib/csl/styles/tex-citeauthor-authoryear.csl +116 -0
- data/lib/csl/styles/tex-citeauthor-numeric.csl +116 -0
- data/lib/csl/styles/tex-citeauthors-authoryear.csl +116 -0
- data/lib/csl/styles/tex-citeauthors-numeric.csl +116 -0
- data/lib/csl/styles/tex-citep-authoryear.csl +117 -0
- data/lib/csl/styles/tex-citep-numeric.csl +116 -0
- data/lib/csl/styles/tex-citeps-authoryear.csl +117 -0
- data/lib/csl/styles/tex-citeps-numeric.csl +116 -0
- data/lib/csl/styles/tex-citet-authoryear.csl +119 -0
- data/lib/csl/styles/tex-citet-numeric.csl +119 -0
- data/lib/csl/styles/tex-citets-authoryear.csl +119 -0
- data/lib/csl/styles/tex-citets-numeric.csl +119 -0
- data/lib/csl/styles/tex-citeyear-authoryear.csl +116 -0
- data/lib/csl/styles/tex-citeyear-numeric.csl +116 -0
- data/lib/csl/styles/tex-citeyearpar-authoryear.csl +116 -0
- data/lib/csl/styles/tex-citeyearpar-numeric.csl +116 -0
- data/samples/tex/sample-numbers.adoc +1 -1
- data/samples/tex/sample-sort.adoc +1 -1
- data/spec/citation_helper.rb +46 -0
- data/spec/citation_item_spec.rb +0 -2
- data/spec/csl/styles/tex_citealp_authoryear_spec.rb +42 -0
- data/spec/csl/styles/tex_citealp_numeric_spec.rb +42 -0
- data/spec/csl/styles/tex_citealps_authoryear_spec.rb +42 -0
- data/spec/csl/styles/tex_citealps_numeric_spec.rb +42 -0
- data/spec/csl/styles/tex_citealt_authoryear_spec.rb +42 -0
- data/spec/csl/styles/tex_citealt_numeric_spec.rb +42 -0
- data/spec/csl/styles/tex_citealts_authoryear_spec.rb +42 -0
- data/spec/csl/styles/tex_citealts_numeric_spec.rb +42 -0
- data/spec/csl/styles/tex_citeauthor_authoryear_spec.rb +42 -0
- data/spec/csl/styles/tex_citeauthor_numeric_spec.rb +42 -0
- data/spec/csl/styles/tex_citeauthors_authoryear_spec.rb +42 -0
- data/spec/csl/styles/tex_citeauthors_numeric_spec.rb +42 -0
- data/spec/csl/styles/tex_citep_authoryear_spec.rb +42 -0
- data/spec/csl/styles/tex_citep_numeric_spec.rb +42 -0
- data/spec/csl/styles/tex_citeps_authoryear_spec.rb +42 -0
- data/spec/csl/styles/tex_citeps_numeric_spec.rb +42 -0
- data/spec/csl/styles/tex_citet_authoryear_spec.rb +42 -0
- data/spec/csl/styles/tex_citet_numeric_spec.rb +42 -0
- data/spec/csl/styles/tex_citets_authoryear_spec.rb +42 -0
- data/spec/csl/styles/tex_citets_numeric_spec.rb +42 -0
- data/spec/csl/styles/tex_citeyear_authoryear_spec.rb +42 -0
- data/spec/csl/styles/tex_citeyear_numeric_spec.rb +42 -0
- data/spec/csl/styles/tex_citeyearpar_authoryear_spec.rb +42 -0
- data/spec/csl/styles/tex_citeyearpar_numeric_spec.rb +42 -0
- data/spec/database_spec.rb +20 -1
- data/spec/macros_spec.rb +21 -0
- data/spec/options_spec.rb +105 -1
- metadata +72 -24
- data/lib/asciidoctor-bibliography/formatters/csl.rb +0 -28
- data/lib/asciidoctor-bibliography/formatters/tex.rb +0 -187
- data/lib/asciidoctor-bibliography/helpers.rb +0 -41
- data/spec/helpers_spec.rb +0 -73
@@ -0,0 +1,116 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never">
|
3
|
+
<info>
|
4
|
+
<title>TeX style for macro citeyearpar with numeric style</title>
|
5
|
+
<id>tex-citeyearpar-numeric</id>
|
6
|
+
</info>
|
7
|
+
<macro name="author-long">
|
8
|
+
<names variable="author">
|
9
|
+
<name form="short" and="text" initialize="false" sort-separator=""/>
|
10
|
+
</names>
|
11
|
+
</macro>
|
12
|
+
<macro name="author-short">
|
13
|
+
<names variable="author">
|
14
|
+
<name form="short" and="text" et-al-min="2" et-al-use-first="1" et-al-subsequent-min="2" et-al-subsequent-use-first="1"/>
|
15
|
+
</names>
|
16
|
+
</macro>
|
17
|
+
<macro name="locators">
|
18
|
+
<choose>
|
19
|
+
<if type="article-journal article-magazine" match="any">
|
20
|
+
<group prefix=", " delimiter=", ">
|
21
|
+
<group>
|
22
|
+
<text variable="volume" font-style="italic"/>
|
23
|
+
<text variable="issue" prefix="(" suffix=")"/>
|
24
|
+
</group>
|
25
|
+
<text variable="page"/>
|
26
|
+
</group>
|
27
|
+
<choose>
|
28
|
+
<if variable="issued">
|
29
|
+
<choose>
|
30
|
+
<if variable="page issue" match="none">
|
31
|
+
<text variable="status" prefix=". "/>
|
32
|
+
</if>
|
33
|
+
</choose>
|
34
|
+
</if>
|
35
|
+
</choose>
|
36
|
+
</if>
|
37
|
+
<else-if type="article-newspaper">
|
38
|
+
<group delimiter=" " prefix=", ">
|
39
|
+
<label variable="page" form="short"/>
|
40
|
+
<text variable="page"/>
|
41
|
+
</group>
|
42
|
+
</else-if>
|
43
|
+
<else-if type="book graphic motion_picture report song chapter paper-conference entry-encyclopedia entry-dictionary" match="any">
|
44
|
+
<group prefix=" (" suffix=")" delimiter=", ">
|
45
|
+
<choose>
|
46
|
+
<if type="report" match="none">
|
47
|
+
<text macro="edition"/>
|
48
|
+
</if>
|
49
|
+
</choose>
|
50
|
+
<choose>
|
51
|
+
<if variable="volume" match="any">
|
52
|
+
<group>
|
53
|
+
<text term="volume" form="short" text-case="capitalize-first" suffix=" "/>
|
54
|
+
<number variable="volume" form="numeric"/>
|
55
|
+
</group>
|
56
|
+
</if>
|
57
|
+
<else>
|
58
|
+
<group>
|
59
|
+
<text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=" "/>
|
60
|
+
<number variable="number-of-volumes" form="numeric" prefix="1–"/>
|
61
|
+
</group>
|
62
|
+
</else>
|
63
|
+
</choose>
|
64
|
+
<group>
|
65
|
+
<label variable="page" form="short" suffix=" "/>
|
66
|
+
<text variable="page"/>
|
67
|
+
</group>
|
68
|
+
</group>
|
69
|
+
</else-if>
|
70
|
+
<else-if type="legal_case">
|
71
|
+
<group prefix=" (" suffix=")" delimiter=" ">
|
72
|
+
<text variable="authority"/>
|
73
|
+
<choose>
|
74
|
+
<if variable="container-title" match="any">
|
75
|
+
<date variable="issued" form="numeric" date-parts="year"/>
|
76
|
+
</if>
|
77
|
+
<else>
|
78
|
+
<date variable="issued" form="text"/>
|
79
|
+
</else>
|
80
|
+
</choose>
|
81
|
+
</group>
|
82
|
+
</else-if>
|
83
|
+
<else-if type="bill legislation" match="any">
|
84
|
+
<date variable="issued" prefix=" (" suffix=")">
|
85
|
+
<date-part name="year"/>
|
86
|
+
</date>
|
87
|
+
</else-if>
|
88
|
+
</choose>
|
89
|
+
</macro>
|
90
|
+
<macro name="citation-locator">
|
91
|
+
<group>
|
92
|
+
<choose>
|
93
|
+
<if locator="chapter">
|
94
|
+
<label variable="locator" form="long" text-case="capitalize-first"/>
|
95
|
+
</if>
|
96
|
+
<else>
|
97
|
+
<label variable="locator" form="short"/>
|
98
|
+
</else>
|
99
|
+
</choose>
|
100
|
+
<text variable="locator" prefix=" "/>
|
101
|
+
</group>
|
102
|
+
</macro>
|
103
|
+
<citation>
|
104
|
+
<layout delimiter=", " prefix="[" suffix="]">
|
105
|
+
<group>
|
106
|
+
<text variable="prefix" suffix=" "/>
|
107
|
+
<group delimiter=", ">
|
108
|
+
<date date-parts="year" form="numeric" variable="issued"/>
|
109
|
+
<text macro="citation-locator"/>
|
110
|
+
</group>
|
111
|
+
<text variable="suffix" prefix=", "/>
|
112
|
+
</group>
|
113
|
+
</layout>
|
114
|
+
</citation>
|
115
|
+
<bibliography/>
|
116
|
+
</style>
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
require "asciidoctor-bibliography"
|
4
|
+
|
5
|
+
TEST_BIBTEX_DATABASE = <<~BIBTEX.freeze
|
6
|
+
@article{Erdos65,
|
7
|
+
title = {Some very hard sums},
|
8
|
+
journal={Difficult Maths Today},
|
9
|
+
author={Paul Erdős and Arend Heyting and Luitzen Egbertus Brouwer},
|
10
|
+
year={1965},
|
11
|
+
pages={30}
|
12
|
+
}
|
13
|
+
|
14
|
+
@article{Einstein35,
|
15
|
+
title={Can quantum-mechanical description of physical reality be considered complete?},
|
16
|
+
author={Einstein, Albert and Podolsky, Boris and Rosen, Nathan},
|
17
|
+
journal={Physical review},
|
18
|
+
volume={47},
|
19
|
+
number={10},
|
20
|
+
pages={777},
|
21
|
+
year={1935},
|
22
|
+
publisher={APS}
|
23
|
+
}
|
24
|
+
BIBTEX
|
25
|
+
|
26
|
+
def init_bibliographer(options)
|
27
|
+
bibliographer = AsciidoctorBibliography::Bibliographer.new
|
28
|
+
|
29
|
+
bibliographer.options = AsciidoctorBibliography::Options.new.
|
30
|
+
merge("bibliography-hyperlinks" => "false").merge(options)
|
31
|
+
|
32
|
+
bibliographer.database = AsciidoctorBibliography::Database.new.
|
33
|
+
concat(::BibTeX.parse(TEST_BIBTEX_DATABASE).to_citeproc)
|
34
|
+
|
35
|
+
bibliographer
|
36
|
+
end
|
37
|
+
|
38
|
+
def formatted_citation(macro, options: {})
|
39
|
+
bibliographer = init_bibliographer options
|
40
|
+
|
41
|
+
macro.gsub(AsciidoctorBibliography::Citation::REGEXP) do
|
42
|
+
citation = AsciidoctorBibliography::Citation.new(*Regexp.last_match.captures)
|
43
|
+
bibliographer.add_citation(citation)
|
44
|
+
citation.render bibliographer
|
45
|
+
end.gsub(/^{empty}/, "")
|
46
|
+
end
|
data/spec/citation_item_spec.rb
CHANGED
@@ -0,0 +1,42 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../citation_helper"
|
4
|
+
|
5
|
+
describe "citealp macro with authoryear style" do
|
6
|
+
let(:options) { { "bibliography-tex-style" => "authoryear" } }
|
7
|
+
|
8
|
+
it "formats a single citation" do
|
9
|
+
expect(formatted_citation("citealp:[Erdos65]", options: options)).
|
10
|
+
to eq "Erdős et al., 1965"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "formats a grouped citation" do
|
14
|
+
expect(formatted_citation("citealp:[Erdos65]+[Einstein35]", options: options)).
|
15
|
+
to eq "Erdős et al., 1965; Einstein et al., 1935"
|
16
|
+
end
|
17
|
+
|
18
|
+
it "formats a single citation with a prefix" do
|
19
|
+
expect(formatted_citation("citealp:[Erdos65, prefix=see]", options: options)).
|
20
|
+
to eq "see Erdős et al., 1965"
|
21
|
+
end
|
22
|
+
|
23
|
+
it "formats a single citation with a suffix" do
|
24
|
+
expect(formatted_citation("citealp:[Erdos65, suffix=new edition]", options: options)).
|
25
|
+
to eq "Erdős et al., 1965, new edition"
|
26
|
+
end
|
27
|
+
|
28
|
+
it "formats a single citation with both a prefix and a suffix" do
|
29
|
+
expect(formatted_citation("citealp:[Erdos65, prefix=see, suffix=new edition]", options: options)).
|
30
|
+
to eq "see Erdős et al., 1965, new edition"
|
31
|
+
end
|
32
|
+
|
33
|
+
it "formats a single citation with a standard locator" do
|
34
|
+
expect(formatted_citation("citealp:[Erdos65, page=41-43]", options: options)).
|
35
|
+
to eq "Erdős et al., 1965, pp. 41-43"
|
36
|
+
end
|
37
|
+
|
38
|
+
it "formats a single citation with a custom locator" do
|
39
|
+
expect(formatted_citation("citealp:[Erdos65, locator=somewhere]", options: options)).
|
40
|
+
to eq "Erdős et al., 1965, somewhere"
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../citation_helper"
|
4
|
+
|
5
|
+
describe "citealp macro with numeric style" do
|
6
|
+
let(:options) { { "bibliography-tex-style" => "numeric" } }
|
7
|
+
|
8
|
+
it "formats a single citation" do
|
9
|
+
expect(formatted_citation("citealp:[Erdos65]", options: options)).
|
10
|
+
to eq "1"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "formats a grouped citation" do
|
14
|
+
expect(formatted_citation("citealp:[Erdos65]+[Einstein35]", options: options)).
|
15
|
+
to eq "1, 2"
|
16
|
+
end
|
17
|
+
|
18
|
+
it "formats a single citation with a prefix" do
|
19
|
+
expect(formatted_citation("citealp:[Erdos65, prefix=see]", options: options)).
|
20
|
+
to eq "see 1"
|
21
|
+
end
|
22
|
+
|
23
|
+
it "formats a single citation with a suffix" do
|
24
|
+
expect(formatted_citation("citealp:[Erdos65, suffix=new edition]", options: options)).
|
25
|
+
to eq "1, new edition"
|
26
|
+
end
|
27
|
+
|
28
|
+
it "formats a single citation with both a prefix and a suffix" do
|
29
|
+
expect(formatted_citation("citealp:[Erdos65, prefix=see, suffix=new edition]", options: options)).
|
30
|
+
to eq "see 1, new edition"
|
31
|
+
end
|
32
|
+
|
33
|
+
it "formats a single citation with a standard locator" do
|
34
|
+
expect(formatted_citation("citealp:[Erdos65, page=41-43]", options: options)).
|
35
|
+
to eq "1, pp. 41-43"
|
36
|
+
end
|
37
|
+
|
38
|
+
it "formats a single citation with a custom locator" do
|
39
|
+
expect(formatted_citation("citealp:[Erdos65, locator=somewhere]", options: options)).
|
40
|
+
to eq "1, somewhere"
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../citation_helper"
|
4
|
+
|
5
|
+
describe "citealp* macro with authoryear style" do
|
6
|
+
let(:options) { { "bibliography-tex-style" => "authoryear" } }
|
7
|
+
|
8
|
+
it "formats a single citation" do
|
9
|
+
expect(formatted_citation("citealp*:[Erdos65]", options: options)).
|
10
|
+
to eq "Erdős, Heyting, and Brouwer, 1965"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "formats a grouped citation" do
|
14
|
+
expect(formatted_citation("citealp*:[Erdos65]+[Einstein35]", options: options)).
|
15
|
+
to eq "Erdős, Heyting, and Brouwer, 1965; Einstein, Podolsky, and Rosen, 1935"
|
16
|
+
end
|
17
|
+
|
18
|
+
it "formats a single citation with a prefix" do
|
19
|
+
expect(formatted_citation("citealp*:[Erdos65, prefix=see]", options: options)).
|
20
|
+
to eq "see Erdős, Heyting, and Brouwer, 1965"
|
21
|
+
end
|
22
|
+
|
23
|
+
it "formats a single citation with a suffix" do
|
24
|
+
expect(formatted_citation("citealp*:[Erdos65, suffix=new edition]", options: options)).
|
25
|
+
to eq "Erdős, Heyting, and Brouwer, 1965, new edition"
|
26
|
+
end
|
27
|
+
|
28
|
+
it "formats a single citation with both a prefix and a suffix" do
|
29
|
+
expect(formatted_citation("citealp*:[Erdos65, prefix=see, suffix=new edition]", options: options)).
|
30
|
+
to eq "see Erdős, Heyting, and Brouwer, 1965, new edition"
|
31
|
+
end
|
32
|
+
|
33
|
+
it "formats a single citation with a standard locator" do
|
34
|
+
expect(formatted_citation("citealp*:[Erdos65, page=41-43]", options: options)).
|
35
|
+
to eq "Erdős, Heyting, and Brouwer, 1965, pp. 41-43"
|
36
|
+
end
|
37
|
+
|
38
|
+
it "formats a single citation with a custom locator" do
|
39
|
+
expect(formatted_citation("citealp*:[Erdos65, locator=somewhere]", options: options)).
|
40
|
+
to eq "Erdős, Heyting, and Brouwer, 1965, somewhere"
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../citation_helper"
|
4
|
+
|
5
|
+
describe "citealp* macro with numeric style" do
|
6
|
+
let(:options) { { "bibliography-tex-style" => "numeric" } }
|
7
|
+
|
8
|
+
it "formats a single citation" do
|
9
|
+
expect(formatted_citation("citealp*:[Erdos65]", options: options)).
|
10
|
+
to eq "1"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "formats a grouped citation" do
|
14
|
+
expect(formatted_citation("citealp*:[Erdos65]+[Einstein35]", options: options)).
|
15
|
+
to eq "1, 2"
|
16
|
+
end
|
17
|
+
|
18
|
+
it "formats a single citation with a prefix" do
|
19
|
+
expect(formatted_citation("citealp*:[Erdos65, prefix=see]", options: options)).
|
20
|
+
to eq "see 1"
|
21
|
+
end
|
22
|
+
|
23
|
+
it "formats a single citation with a suffix" do
|
24
|
+
expect(formatted_citation("citealp*:[Erdos65, suffix=new edition]", options: options)).
|
25
|
+
to eq "1, new edition"
|
26
|
+
end
|
27
|
+
|
28
|
+
it "formats a single citation with both a prefix and a suffix" do
|
29
|
+
expect(formatted_citation("citealp*:[Erdos65, prefix=see, suffix=new edition]", options: options)).
|
30
|
+
to eq "see 1, new edition"
|
31
|
+
end
|
32
|
+
|
33
|
+
it "formats a single citation with a standard locator" do
|
34
|
+
expect(formatted_citation("citealp*:[Erdos65, page=41-43]", options: options)).
|
35
|
+
to eq "1, pp. 41-43"
|
36
|
+
end
|
37
|
+
|
38
|
+
it "formats a single citation with a custom locator" do
|
39
|
+
expect(formatted_citation("citealp*:[Erdos65, locator=somewhere]", options: options)).
|
40
|
+
to eq "1, somewhere"
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../citation_helper"
|
4
|
+
|
5
|
+
describe "citealt macro with authoryear style" do
|
6
|
+
let(:options) { { "bibliography-tex-style" => "authoryear" } }
|
7
|
+
|
8
|
+
it "formats a single citation" do
|
9
|
+
expect(formatted_citation("citealt:[Erdos65]", options: options)).
|
10
|
+
to eq "Erdős et al. 1965"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "formats a grouped citation" do
|
14
|
+
expect(formatted_citation("citealt:[Erdos65]+[Einstein35]", options: options)).
|
15
|
+
to eq "Erdős et al. 1965; Einstein et al. 1935"
|
16
|
+
end
|
17
|
+
|
18
|
+
it "formats a single citation with a prefix" do
|
19
|
+
expect(formatted_citation("citealt:[Erdos65, prefix=see]", options: options)).
|
20
|
+
to eq "Erdős et al. see 1965"
|
21
|
+
end
|
22
|
+
|
23
|
+
it "formats a single citation with a suffix" do
|
24
|
+
expect(formatted_citation("citealt:[Erdos65, suffix=new edition]", options: options)).
|
25
|
+
to eq "Erdős et al. 1965, new edition"
|
26
|
+
end
|
27
|
+
|
28
|
+
it "formats a single citation with both a prefix and a suffix" do
|
29
|
+
expect(formatted_citation("citealt:[Erdos65, prefix=see, suffix=new edition]", options: options)).
|
30
|
+
to eq "Erdős et al. see 1965, new edition"
|
31
|
+
end
|
32
|
+
|
33
|
+
it "formats a single citation with a standard locator" do
|
34
|
+
expect(formatted_citation("citealt:[Erdos65, page=41-43]", options: options)).
|
35
|
+
to eq "Erdős et al. 1965, pp. 41-43"
|
36
|
+
end
|
37
|
+
|
38
|
+
it "formats a single citation with a custom locator" do
|
39
|
+
expect(formatted_citation("citealt:[Erdos65, locator=somewhere]", options: options)).
|
40
|
+
to eq "Erdős et al. 1965, somewhere"
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../citation_helper"
|
4
|
+
|
5
|
+
describe "citealt macro with numeric style" do
|
6
|
+
let(:options) { { "bibliography-tex-style" => "numeric" } }
|
7
|
+
|
8
|
+
it "formats a single citation" do
|
9
|
+
expect(formatted_citation("citealt:[Erdos65]", options: options)).
|
10
|
+
to eq "Erdős et al. 1"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "formats a grouped citation" do
|
14
|
+
expect(formatted_citation("citealt:[Erdos65]+[Einstein35]", options: options)).
|
15
|
+
to eq "Erdős et al. 1, Einstein et al. 2"
|
16
|
+
end
|
17
|
+
|
18
|
+
it "formats a single citation with a prefix" do
|
19
|
+
expect(formatted_citation("citealt:[Erdos65, prefix=see]", options: options)).
|
20
|
+
to eq "Erdős et al. see 1"
|
21
|
+
end
|
22
|
+
|
23
|
+
it "formats a single citation with a suffix" do
|
24
|
+
expect(formatted_citation("citealt:[Erdos65, suffix=new edition]", options: options)).
|
25
|
+
to eq "Erdős et al. 1, new edition"
|
26
|
+
end
|
27
|
+
|
28
|
+
it "formats a single citation with both a prefix and a suffix" do
|
29
|
+
expect(formatted_citation("citealt:[Erdos65, prefix=see, suffix=new edition]", options: options)).
|
30
|
+
to eq "Erdős et al. see 1, new edition"
|
31
|
+
end
|
32
|
+
|
33
|
+
it "formats a single citation with a standard locator" do
|
34
|
+
expect(formatted_citation("citealt:[Erdos65, page=41-43]", options: options)).
|
35
|
+
to eq "Erdős et al. 1, pp. 41-43"
|
36
|
+
end
|
37
|
+
|
38
|
+
it "formats a single citation with a custom locator" do
|
39
|
+
expect(formatted_citation("citealt:[Erdos65, locator=somewhere]", options: options)).
|
40
|
+
to eq "Erdős et al. 1, somewhere"
|
41
|
+
end
|
42
|
+
end
|