asciidoctor-bibliography 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +23 -4
  3. data/asciidoctor-bibliography.gemspec +8 -8
  4. data/lib/asciidoctor-bibliography.rb +6 -0
  5. data/lib/asciidoctor-bibliography/asciidoctor/bibliographer_preprocessor.rb +35 -23
  6. data/lib/asciidoctor-bibliography/bibliographer.rb +0 -15
  7. data/lib/asciidoctor-bibliography/citation.rb +29 -22
  8. data/lib/asciidoctor-bibliography/databases/bibtex.rb +4 -1
  9. data/lib/asciidoctor-bibliography/formatter.rb +28 -0
  10. data/lib/asciidoctor-bibliography/index.rb +24 -16
  11. data/lib/asciidoctor-bibliography/options.rb +65 -32
  12. data/lib/asciidoctor-bibliography/version.rb +1 -1
  13. data/lib/citeproc/ruby/formats/adoc.rb +36 -0
  14. data/lib/csl/styles/tex-citealp-authoryear.csl +117 -0
  15. data/lib/csl/styles/tex-citealp-numeric.csl +116 -0
  16. data/lib/csl/styles/tex-citealps-authoryear.csl +117 -0
  17. data/lib/csl/styles/tex-citealps-numeric.csl +116 -0
  18. data/lib/csl/styles/tex-citealt-authoryear.csl +119 -0
  19. data/lib/csl/styles/tex-citealt-numeric.csl +119 -0
  20. data/lib/csl/styles/tex-citealts-authoryear.csl +119 -0
  21. data/lib/csl/styles/tex-citealts-numeric.csl +119 -0
  22. data/lib/csl/styles/tex-citeauthor-authoryear.csl +116 -0
  23. data/lib/csl/styles/tex-citeauthor-numeric.csl +116 -0
  24. data/lib/csl/styles/tex-citeauthors-authoryear.csl +116 -0
  25. data/lib/csl/styles/tex-citeauthors-numeric.csl +116 -0
  26. data/lib/csl/styles/tex-citep-authoryear.csl +117 -0
  27. data/lib/csl/styles/tex-citep-numeric.csl +116 -0
  28. data/lib/csl/styles/tex-citeps-authoryear.csl +117 -0
  29. data/lib/csl/styles/tex-citeps-numeric.csl +116 -0
  30. data/lib/csl/styles/tex-citet-authoryear.csl +119 -0
  31. data/lib/csl/styles/tex-citet-numeric.csl +119 -0
  32. data/lib/csl/styles/tex-citets-authoryear.csl +119 -0
  33. data/lib/csl/styles/tex-citets-numeric.csl +119 -0
  34. data/lib/csl/styles/tex-citeyear-authoryear.csl +116 -0
  35. data/lib/csl/styles/tex-citeyear-numeric.csl +116 -0
  36. data/lib/csl/styles/tex-citeyearpar-authoryear.csl +116 -0
  37. data/lib/csl/styles/tex-citeyearpar-numeric.csl +116 -0
  38. data/samples/tex/sample-numbers.adoc +1 -1
  39. data/samples/tex/sample-sort.adoc +1 -1
  40. data/spec/citation_helper.rb +46 -0
  41. data/spec/citation_item_spec.rb +0 -2
  42. data/spec/csl/styles/tex_citealp_authoryear_spec.rb +42 -0
  43. data/spec/csl/styles/tex_citealp_numeric_spec.rb +42 -0
  44. data/spec/csl/styles/tex_citealps_authoryear_spec.rb +42 -0
  45. data/spec/csl/styles/tex_citealps_numeric_spec.rb +42 -0
  46. data/spec/csl/styles/tex_citealt_authoryear_spec.rb +42 -0
  47. data/spec/csl/styles/tex_citealt_numeric_spec.rb +42 -0
  48. data/spec/csl/styles/tex_citealts_authoryear_spec.rb +42 -0
  49. data/spec/csl/styles/tex_citealts_numeric_spec.rb +42 -0
  50. data/spec/csl/styles/tex_citeauthor_authoryear_spec.rb +42 -0
  51. data/spec/csl/styles/tex_citeauthor_numeric_spec.rb +42 -0
  52. data/spec/csl/styles/tex_citeauthors_authoryear_spec.rb +42 -0
  53. data/spec/csl/styles/tex_citeauthors_numeric_spec.rb +42 -0
  54. data/spec/csl/styles/tex_citep_authoryear_spec.rb +42 -0
  55. data/spec/csl/styles/tex_citep_numeric_spec.rb +42 -0
  56. data/spec/csl/styles/tex_citeps_authoryear_spec.rb +42 -0
  57. data/spec/csl/styles/tex_citeps_numeric_spec.rb +42 -0
  58. data/spec/csl/styles/tex_citet_authoryear_spec.rb +42 -0
  59. data/spec/csl/styles/tex_citet_numeric_spec.rb +42 -0
  60. data/spec/csl/styles/tex_citets_authoryear_spec.rb +42 -0
  61. data/spec/csl/styles/tex_citets_numeric_spec.rb +42 -0
  62. data/spec/csl/styles/tex_citeyear_authoryear_spec.rb +42 -0
  63. data/spec/csl/styles/tex_citeyear_numeric_spec.rb +42 -0
  64. data/spec/csl/styles/tex_citeyearpar_authoryear_spec.rb +42 -0
  65. data/spec/csl/styles/tex_citeyearpar_numeric_spec.rb +42 -0
  66. data/spec/database_spec.rb +20 -1
  67. data/spec/macros_spec.rb +21 -0
  68. data/spec/options_spec.rb +105 -1
  69. metadata +72 -24
  70. data/lib/asciidoctor-bibliography/formatters/csl.rb +0 -28
  71. data/lib/asciidoctor-bibliography/formatters/tex.rb +0 -187
  72. data/lib/asciidoctor-bibliography/helpers.rb +0 -41
  73. data/spec/helpers_spec.rb +0 -73
@@ -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, Heyting, and Brouwer 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, 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("citealt*:[Erdos65, prefix=see]", options: options)).
20
+ to eq "Erdős, Heyting, and Brouwer 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, 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("citealt*:[Erdos65, prefix=see, suffix=new edition]", options: options)).
30
+ to eq "Erdős, Heyting, and Brouwer 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, 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("citealt*:[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 "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, Heyting, and Brouwer 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, Heyting, and Brouwer 1, Einstein, Podolsky, and Rosen 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, Heyting, and Brouwer 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, Heyting, and Brouwer 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, Heyting, and Brouwer 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, Heyting, and Brouwer 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, Heyting, and Brouwer 1, somewhere"
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ # coding: utf-8
2
+
3
+ require_relative "../../citation_helper"
4
+
5
+ describe "citeauthor macro with authoryear style" do
6
+ let(:options) { { "bibliography-tex-style" => "authoryear" } }
7
+
8
+ it "formats a single citation" do
9
+ expect(formatted_citation("citeauthor:[Erdos65]", options: options)).
10
+ to eq "Erdős et al."
11
+ end
12
+
13
+ it "formats a grouped citation" do
14
+ expect(formatted_citation("citeauthor:[Erdos65]+[Einstein35]", options: options)).
15
+ to eq "Erdős et al.; Einstein et al."
16
+ end
17
+
18
+ it "formats a single citation with a prefix" do
19
+ expect(formatted_citation("citeauthor:[Erdos65, prefix=see]", options: options)).
20
+ to eq "see Erdős et al."
21
+ end
22
+
23
+ it "formats a single citation with a suffix" do
24
+ expect(formatted_citation("citeauthor:[Erdos65, suffix=new edition]", options: options)).
25
+ to eq "Erdős et al., new edition"
26
+ end
27
+
28
+ it "formats a single citation with both a prefix and a suffix" do
29
+ expect(formatted_citation("citeauthor:[Erdos65, prefix=see, suffix=new edition]", options: options)).
30
+ to eq "see Erdős et al., new edition"
31
+ end
32
+
33
+ it "formats a single citation with a standard locator" do
34
+ expect(formatted_citation("citeauthor:[Erdos65, page=41-43]", options: options)).
35
+ to eq "Erdős et al., pp. 41-43"
36
+ end
37
+
38
+ it "formats a single citation with a custom locator" do
39
+ expect(formatted_citation("citeauthor:[Erdos65, locator=somewhere]", options: options)).
40
+ to eq "Erdős et al., somewhere"
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ # coding: utf-8
2
+
3
+ require_relative "../../citation_helper"
4
+
5
+ describe "citeauthor macro with numeric style" do
6
+ let(:options) { { "bibliography-tex-style" => "numeric" } }
7
+
8
+ it "formats a single citation" do
9
+ expect(formatted_citation("citeauthor:[Erdos65]", options: options)).
10
+ to eq "Erdős et al."
11
+ end
12
+
13
+ it "formats a grouped citation" do
14
+ expect(formatted_citation("citeauthor:[Erdos65]+[Einstein35]", options: options)).
15
+ to eq "Erdős et al., Einstein et al."
16
+ end
17
+
18
+ it "formats a single citation with a prefix" do
19
+ expect(formatted_citation("citeauthor:[Erdos65, prefix=see]", options: options)).
20
+ to eq "see Erdős et al."
21
+ end
22
+
23
+ it "formats a single citation with a suffix" do
24
+ expect(formatted_citation("citeauthor:[Erdos65, suffix=new edition]", options: options)).
25
+ to eq "Erdős et al., new edition"
26
+ end
27
+
28
+ it "formats a single citation with both a prefix and a suffix" do
29
+ expect(formatted_citation("citeauthor:[Erdos65, prefix=see, suffix=new edition]", options: options)).
30
+ to eq "see Erdős et al., new edition"
31
+ end
32
+
33
+ it "formats a single citation with a standard locator" do
34
+ expect(formatted_citation("citeauthor:[Erdos65, page=41-43]", options: options)).
35
+ to eq "Erdős et al., pp. 41-43"
36
+ end
37
+
38
+ it "formats a single citation with a custom locator" do
39
+ expect(formatted_citation("citeauthor:[Erdos65, locator=somewhere]", options: options)).
40
+ to eq "Erdős et al., somewhere"
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ # coding: utf-8
2
+
3
+ require_relative "../../citation_helper"
4
+
5
+ describe "citeauthor* macro with authoryear style" do
6
+ let(:options) { { "bibliography-tex-style" => "authoryear" } }
7
+
8
+ it "formats a single citation" do
9
+ expect(formatted_citation("citeauthor*:[Erdos65]", options: options)).
10
+ to eq "Erdős, Heyting, and Brouwer"
11
+ end
12
+
13
+ it "formats a grouped citation" do
14
+ expect(formatted_citation("citeauthor*:[Erdos65]+[Einstein35]", options: options)).
15
+ to eq "Erdős, Heyting, and Brouwer; Einstein, Podolsky, and Rosen"
16
+ end
17
+
18
+ it "formats a single citation with a prefix" do
19
+ expect(formatted_citation("citeauthor*:[Erdos65, prefix=see]", options: options)).
20
+ to eq "see Erdős, Heyting, and Brouwer"
21
+ end
22
+
23
+ it "formats a single citation with a suffix" do
24
+ expect(formatted_citation("citeauthor*:[Erdos65, suffix=new edition]", options: options)).
25
+ to eq "Erdős, Heyting, and Brouwer, new edition"
26
+ end
27
+
28
+ it "formats a single citation with both a prefix and a suffix" do
29
+ expect(formatted_citation("citeauthor*:[Erdos65, prefix=see, suffix=new edition]", options: options)).
30
+ to eq "see Erdős, Heyting, and Brouwer, new edition"
31
+ end
32
+
33
+ it "formats a single citation with a standard locator" do
34
+ expect(formatted_citation("citeauthor*:[Erdos65, page=41-43]", options: options)).
35
+ to eq "Erdős, Heyting, and Brouwer, pp. 41-43"
36
+ end
37
+
38
+ it "formats a single citation with a custom locator" do
39
+ expect(formatted_citation("citeauthor*:[Erdos65, locator=somewhere]", options: options)).
40
+ to eq "Erdős, Heyting, and Brouwer, somewhere"
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ # coding: utf-8
2
+
3
+ require_relative "../../citation_helper"
4
+
5
+ describe "citeauthor* macro with numeric style" do
6
+ let(:options) { { "bibliography-tex-style" => "numeric" } }
7
+
8
+ it "formats a single citation" do
9
+ expect(formatted_citation("citeauthor*:[Erdos65]", options: options)).
10
+ to eq "Erdős, Heyting, and Brouwer"
11
+ end
12
+
13
+ it "formats a grouped citation" do
14
+ expect(formatted_citation("citeauthor*:[Erdos65]+[Einstein35]", options: options)).
15
+ to eq "Erdős, Heyting, and Brouwer, Einstein, Podolsky, and Rosen"
16
+ end
17
+
18
+ it "formats a single citation with a prefix" do
19
+ expect(formatted_citation("citeauthor*:[Erdos65, prefix=see]", options: options)).
20
+ to eq "see Erdős, Heyting, and Brouwer"
21
+ end
22
+
23
+ it "formats a single citation with a suffix" do
24
+ expect(formatted_citation("citeauthor*:[Erdos65, suffix=new edition]", options: options)).
25
+ to eq "Erdős, Heyting, and Brouwer, new edition"
26
+ end
27
+
28
+ it "formats a single citation with both a prefix and a suffix" do
29
+ expect(formatted_citation("citeauthor*:[Erdos65, prefix=see, suffix=new edition]", options: options)).
30
+ to eq "see Erdős, Heyting, and Brouwer, new edition"
31
+ end
32
+
33
+ it "formats a single citation with a standard locator" do
34
+ expect(formatted_citation("citeauthor*:[Erdos65, page=41-43]", options: options)).
35
+ to eq "Erdős, Heyting, and Brouwer, pp. 41-43"
36
+ end
37
+
38
+ it "formats a single citation with a custom locator" do
39
+ expect(formatted_citation("citeauthor*:[Erdos65, locator=somewhere]", options: options)).
40
+ to eq "Erdős, Heyting, and Brouwer, somewhere"
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ # coding: utf-8
2
+
3
+ require_relative "../../citation_helper"
4
+
5
+ describe "citep macro with authoryear style" do
6
+ let(:options) { { "bibliography-tex-style" => "authoryear" } }
7
+
8
+ it "formats a single citation" do
9
+ expect(formatted_citation("citep:[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("citep:[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("citep:[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("citep:[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("citep:[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("citep:[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("citep:[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 "citep macro with numeric style" do
6
+ let(:options) { { "bibliography-tex-style" => "numeric" } }
7
+
8
+ it "formats a single citation" do
9
+ expect(formatted_citation("citep:[Erdos65]", options: options)).
10
+ to eq "[1]"
11
+ end
12
+
13
+ it "formats a grouped citation" do
14
+ expect(formatted_citation("citep:[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("citep:[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("citep:[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("citep:[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("citep:[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("citep:[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 "citep* macro with authoryear style" do
6
+ let(:options) { { "bibliography-tex-style" => "authoryear" } }
7
+
8
+ it "formats a single citation" do
9
+ expect(formatted_citation("citep*:[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("citep*:[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("citep*:[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("citep*:[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("citep*:[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("citep*:[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("citep*:[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 "citep* macro with numeric style" do
6
+ let(:options) { { "bibliography-tex-style" => "numeric" } }
7
+
8
+ it "formats a single citation" do
9
+ expect(formatted_citation("citep*:[Erdos65]", options: options)).
10
+ to eq "[1]"
11
+ end
12
+
13
+ it "formats a grouped citation" do
14
+ expect(formatted_citation("citep*:[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("citep*:[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("citep*:[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("citep*:[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("citep*:[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("citep*:[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 "citet macro with authoryear style" do
6
+ let(:options) { { "bibliography-tex-style" => "authoryear" } }
7
+
8
+ it "formats a single citation" do
9
+ expect(formatted_citation("citet:[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("citet:[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("citet:[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("citet:[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("citet:[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("citet:[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("citet:[Erdos65, locator=somewhere]", options: options)).
40
+ to eq "Erdős et al. (1965, somewhere)"
41
+ end
42
+ end