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,119 @@
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 citealt* with numeric style</title>
5
+ <id>tex-citealts-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=", ">
105
+ <group>
106
+ <text macro="author-long" suffix=" "/>
107
+ <group>
108
+ <text variable="prefix" suffix=" "/>
109
+ <group delimiter=", ">
110
+ <text variable="citation-number"/>
111
+ <text macro="citation-locator"/>
112
+ </group>
113
+ <text variable="suffix" prefix=", "/>
114
+ </group>
115
+ </group>
116
+ </layout>
117
+ </citation>
118
+ <bibliography/>
119
+ </style>
@@ -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 citeauthor with authoryear style</title>
5
+ <id>tex-citeauthor-authoryear</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="; ">
105
+ <group>
106
+ <text variable="prefix" suffix=" "/>
107
+ <group delimiter=", ">
108
+ <text macro="author-short"/>
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,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 citeauthor with numeric style</title>
5
+ <id>tex-citeauthor-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=", ">
105
+ <group>
106
+ <text variable="prefix" suffix=" "/>
107
+ <group delimiter=", ">
108
+ <text macro="author-short"/>
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,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 citeauthors with authoryear style</title>
5
+ <id>tex-citeauthors-authoryear</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="; ">
105
+ <group>
106
+ <text variable="prefix" suffix=" "/>
107
+ <group delimiter=", ">
108
+ <text macro="author-long"/>
109
+ <text macro="citation-locator"/>
110
+ </group>
111
+ <text variable="suffix" prefix=", "/>
112
+ </group>
113
+ </layout>
114
+ </citation>
115
+ <bibliography/>
116
+ </style>