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.
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